Je deviens vieux ?

Le problème exposé dans ce sujet a été résolu.

J’ai l’impression de devenir vieux, fût une époque ou je passais de langage en langage, ou j’apprenais les dernières techniques pour faire du web, mettre en prod etc et plus le temps passent plus j’ai l’impression de plus souvent me dire : "ça sert à rien" que me dire comme avant : "wha trop bien, c’est intéressant", fût une époque ou j’étais obsédée par la performance au point de me concentrer sur le fonctionnement des garbage collector, des JIT etc pour optimiser un code à fond.

Aujourd’hui, j’ai plus tendance à me dire que tout sa sont un peu des conneries, qu’on veut quelque chose qui marche et qui soit facile à maintenir.

J’ai pas mal d’amis qui par exemple font du Rust pour le web et je vois juste pas d’intérêt alors qu’eux sont vraiment très heureux d’en faire…

Bref, j’ai l’impression d’avoir compris que ceux qui nous intéresses est pas que le partie technique soit au performance les plus folles, faites dans les meilleurs langages, au point sur tout, etc.. mais plutôt qu’on cherche simplement une partie technique décente, facile à maintenir, rapide à développé

+2 -0

je pense que peut importe la personne, l’intérêt premier est d’avoir un code facile a maintenir avoir un code qui permet de voir facilement ce qu’il veux faire, sera toujours mieux qu’un long commentaire ensuite concernant le rapide a développé, c’est du au capitalisme "si je vois le résultat vite ça veux dire que je dépensé pas de l’argent pour rien" un code incroyablement optimisé n’est pas forcement utile

prenons par exemple les jeux vidéos il existe Arma 3, l’optimisation est absente, suffit de voir 3 véhicules dans son champs de vision pour laguer avec une 980 et c’est du au fait qu’il charge chaque texture indépendamment

mais a contrario, Factorio, ils cherchent a optimiser le moindre details, si bien qu’une fois de temps en temps, ils font un appel pour qu’un maximum de joueur rejoigne leurs serveurs, il me semble qu’ils sont a 600, sincèrement je connais pas de personnes avec un telle besoin XD ils ont aussi optimisé le calculs de chemin pour les trains, les IA, ect ce qui fait que ça tourne très bien sur une machine avec peu de puissance (par contre les robots bouffent pas mal XD)

il n’existe pas de meilleur langage, ils ont tous un avantage et des défauts par exemple, python, ca tourne rapidement partout, facilement et je trouve que c’est celui qui a le moins de defaut (ne serait la possibilité de pouvoir coder en C et de l’inclure dedans suffit a corriger le gros defaut des performances, mais dans ce cas la du fait plus du python mais du C)

le VBA est parfait si tu veux interagir avec excel, world, ect par contre, jamais je l’utiliserais pour faire du réseau, (j’ai tenté c’est la mort)

faut voir les objectifs de ce que tu fais, j’ai fait des scripts, je sais qu’ils sont pas du tout optimisé, mais ils tournent, car c’est 40 lignes de code qui fesait le job, facillement modifiable (c’est une surcouche "temporaire" a un problème "temporaire" depuis 1 an) et a coté de ça, j’ai faut un code qui prenait au depart 2 jours, pour qu’il ne dure plus que 15 min, (la partie la plus longue est du au fait que j’utilise sqlite car autre chose serait overkill) faut le juste milieu ^^

C’est typiquement ce qui me donne l’impression de devenir vieux, je commence à ne plus avoir en tête les performances quand je développe, je commence à perdre goût à ce que je fais, je ne pense presque plus qu’a produire vite et quelque chose de bien La passion est toujours là mais j’ai l’impression d’être un ovni par rapport à mes amis qui eux font du Rust sur AWS, du kubernetees, docker etc moi j’ai limite l’impression de pas en avoir besoin (bon au pire un ptit nix-shell)

J’ai surtout l’impression que tout le monde va dans ce qu’il estime être le mieux vu (typiquement Rust) alors que personnellement, j’ai jamais eu de soucis de perf quelque soit le langage sur mes API (pourtant certaines faisaient des tâches assez lourde) bon après, j’ai pas une expérience folle donc y’aura sûrement des soucis de scalabilitée etc sur le long termes^

m’enfin bref, je sais plus trop sur quel pied dansée

après il font peut être du Rust car c’est la Hype du moment certes ya des raisons derrière, mais faire un site web en rust, c’est pas la meilleur idée du siècle, ne serait-ce car ce n’est pas forcement le but du langague

et si ton site web a tellement besoin de rust pour tourner, ça veut peut être dire que tu fais mal quelque part pour prendre l’exemple d’un site web "leekwars" ils tournent sous PHP sauf la partie "simulation" la grosse partie qui a besoin de ressource qui elle tourne sous java, car a un moment ca suivait plus trop de client et depuis tout roule sachant que Rust est pensé offrir un C++ avec plus de sécurité pour éviter les memory leeks ect (j’exagère un peu les propos) apres c’est aussi une solution pour obliger le client a rester chez le même prestataire, mais c’est sans conteste la pire des idées, car la réputation en pâtira

si ton but est de faire du web, il vaut mieux partir sur une solution éprouvé pouvant être hébergé facilement, PHP, nodeJs, python, ruby, Go

si tu veux faire un site web qui doit gerer un packet de client, et tout les langage semi compilé, GO, C#, java,

je sais que discord a fait un comparatif entre Rust et GO, ca avait pas mal parlé car ils utilisent une vielle version de GO avec une alpha de Rust, ce qui n’est pas comparable sous Go ils existe de bon logiciel (par exemple Victoria Metrics qui c’est forgé une réputation rapidement) et coté perfs, ils est bon, vraiment

les problemes de perfs aujourd’hui sont assez dur a croisé, il faut que ca concerne "le grand public" en mode "acces de masse" jeux video, site web ect ou un partie précise des pros, un logiciel de rendu vidéo, un logiciel de compta qui doit faire le rendu de l’année, et j’en passe par contre un truc qui est evident il faut que le logiciel montre qu’il travail

si tu veux faire un site web qui doit gerer un packet de client, et tout les langage semi compilé, GO, C#, java,

Go n’a pas de machine virtuelle, hein, il est compilé. C’est juste que les binaires embarquent un garbage collector.

je sais que discord a fait un comparatif entre Rust et GO, ca avait pas mal parlé car ils utilisent une vielle version de GO avec une alpha de Rust, ce qui n’est pas comparable sous Go ils existe de bon logiciel (par exemple Victoria Metrics qui c’est forgé une réputation rapidement) et coté perfs, ils est bon, vraiment

Surtout ils l’ont fait sur un de leurs services les plus critiques, qui se bouffe en permanence une charge réellement massive, et sans préciser leur contexte. Il s’agissait d’un cas typique où c’était vraiment le langage lui-même qui les limitait, mais il y a fort à parier qu’ils n’auraient jamais pu acquérir la même comprehension du problème ni quelque chose qui marche aussi bien, aussi tôt, s’ils étaient d’abord parti sur Rust.

De mon point de vue, Rust est réellement un langage excellent quand il s’agit de récrire les choses pour les rendre plus rapides, plus safe et tirer le meilleur parti possible de la machine oùtourne le soft. Mais quand il n’y a que 10% du code à récrire, ce serait un gâchis de ressources (humaines) assez énorme de tout faire avec : toujours par expérience personnelle, ça prend un temps de dingue de réfléchir à la façon dont un programme doit être conçu en Rust, alors quand il nous manque en plus l’expérience du problème que le programme sera amené à résoudre, ainsi que la connaissance de ce que le programme devra réellement faire à moyen terme, ça ne facilite pas les choses.

Aujourd’hui, les boîtes qui estiment pouvoir se permettre de récrire des parties de leur code en Rust sont encore rares, et ce n’est sûrement pas parce que Rust est "trop jeune". C’est simplement un problème de retour sur investissement : on travaille aujourd’hui dans des environnements où l’on sait parfaitement gérer une partie du code qui est trop lente ou qui plante de temps en temps, et l’on sait qu’avant d’aboutir à une spec suffisamment stable pour un service ou autre, il va falloir itérer sur son code un paquet de fois.

Dans ces conditions, il est effectivement plus malin de travailler "tous les jours" avec un langage malléable, qui permette d’avancer rapidement, à moindre coût, tout en gardant en tête que ce code n’est pas gravé dans le marbre, et le considérer comme jetable (c’est-à-dire que l’architecture doit le permettre, mais c’est pas un hasard si on ne jure plus que par le microservice aujourd’hui) : si demain mon service est feature complete mais pas assez rapide/safe et que ça pose un problème significatif, alors il sera temps d’évaluer mes options pour corriger ça, et le récrire en Rust est une de ces options.

Partant de là, non, tu n’es pas vieux. Tu mûris simplement. Avant d’arriver à ces considérations, il y a vraiment une tetrachiée de choses à penser et à bien faire, comme le fait de rendre ton système observable par exemple. Tout ça, et la facilité avec laquelle tu le fais, est finalement beaucoup plus critique dans ton métier que les technos en elles-mêmes. Avant d’arriver à la conclusion "j’ai besoin de refaire ça en Rust" il faut déjà répondre à :

  • Est-ce que je sais comment se comporte ce code ?
  • Est-ce que je peux facilement le surveiller ?
  • Est-ce que j’observe un phénomène problématique ?
  • Est-ce que je peux le caractériser ?
  • Est-ce que je sais l’expliquer ?
  • Est-ce que le problème en question est impactant pour les utilisateurs ?
  • Entraîne-t’il un surcoût de maintenance pour moi ?
  • Est-il l’un des plus impactants à l’heure actuelle ?
  • Est-ce que je peux y remédier facilement ou bien c’est vraiment ma techno qui est en cause ?

Et pour répondre à la plupart de ces questions, tu as déjà des choses techniques à mettre en place. :)

+6 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte