• [^] # Re: Rust vs Go

    Posté par (site web personnel) . En réponse à la dépêche Rust 0.12 : non, pas le jeu vidéo, le langage !. Évalué à 10.

    Pour moi go est à rust ce que le C est au C++

    A mon avis, c'est plutôt "Rust est a Go ce que C++ est a Java".

    Rust se veut être un langage oriente performances, qui donne un maximum de contrôle au développeur pour qu'il sache exactement ce qui se passe sur la machine, tout en le contraignant a ne pas faire des choses dangereuses. Si on veut écrire un programme embarque, ou temps-réel (au vrai sens du terme), c'est a mon avis l'outil qu'il faut utiliser.

    Go, a l'inverse, est plus un langage dont le but est "Simple et efficace". Rien d'extraordinaire au niveaux des fonctionnalités, le plus innovant c'est les goroutines et tout ce qui tourne autour, qui ne sont pas une idée nouvelle mais juste implémentée de manière a ce que ça soit simple a utiliser. Ce que Go propose et qui est beaucoup plus intéressant, ce sont les a-cotes: les outils pour le programmeur, un déploiement simplifié, une compilation rapide... Bref, un langage qui répond plus que bien a 80-90% des besoins, et qui peut facilement être pris en cours de route par n'importe qui ayant bidouillé quelques lignes dans un langage C-like. Pour le reste, il y a possibilité de linker avec un bout de code en C.

    Go a été créé entre autres comme langage a utiliser par défaut chez Google, non pas pour ses fonctionnalités, mais pour son rapport performance/facilite d'utilisation a échelle Google (que ni Java, ni C++, ni Python, les langages de prédilection, n'atteignent)

    Du coup les deux langages sont beaucoup plus complémentaires qu'autre chose, ils n'ont pas du tout le même but. A mon avis ils sont mis en opposition sur des projets pour lesquels ni l'un ni l'autre n'apporte d'avantage énorme, du coup c'est pas simple de savoir lequel est le meilleur dans ce cas la. Mais si tu dois écrire un service qui coordonnent des requêtes de client pour des actions potentiellement longues, ou un moteur de rendu pour jeu video, le choix devrait être assez simple dans chacun des cas.