Folco (./3538) :Presque plus quand je fais du Rust.
Vous connaissez ce moment où vous finissez d'écrire un petit programme (~550 lignes de C++), et que vous vous dites "bon maintenance il faut lancer, bonjour les 59876513216876513 bugs " ?
Folco (./3543) :compiléOui
Folco (./3543) :pas de VM derrière ?Oui
Folco (./3543) :bon paquet de libs dispos ?Plutôt pas mal si on prend en considération que c'est un langage jeune. Mais forcément C++ avec sa longue histoire sera plus fourni.
Folco (./3543) :Lib d'UI riche et fournie ?)Là par contre non. Je dirais même que c'est un de ces plus gros manque pour le moment. Il y a divers binding vers des lib en C++, mais aucun n'est encore multi-plateforme et pratique a utiliser.
Folco (./3543) :Tiens, vu ce que je lis, ça laisse une question intéressante en suspens : le C++ est-il remplaçable, je veux dire peut-il disparaitre ?Peut-être, mais pas dans un futur proche en tout cas. Il y a qu'a voir comment on se traîne encore dans certains secteurs des langages comme le COBOL qui sont passés de mode il y a plus de trente ans.
Folco (./3543) :Bon, apparemment, il n'y a pas d'IDE dédié, je vois ici et là que beaucoup de monde utilise VS Code + plugin.En effet pas d'IDE dédiée, mais il y en a deux qui fonctionnent pas mal :
Folco (./3543) :Mais je crois qu'il faut installer une build chain séparément et compiler à la main, non (Makefile, CMake, ...) ? Rien n'est intégré de ce côté ?Au contraire, Rust s'installe d'office avec l'outil "cargo" qui permet de gérer la build chain et d'installer automatiquement les dépendances de manière très simple et efficace.
Folco (./3547) :Alors pour le coup Rust est simple : par défaut il construit en statique, sauf pour les bibliothèques système, donc pas de problème de DLL.
Erf... Depuis quelques temps, je fais du C++ avec Visual Studio Community, parce que justement c'est commode côté build : intégration à l'IDE, un exécutable sans DLL annexes à ballader.
Folco (./3547) :Uther, qu'utilises-tu de ton côté ?Les deux environnement que je t'ai donnés sont pas mal mais encore imparfait, Rust étant un langage jeune.
Folco (./3547) :Par contre, les paradigmes du langage semblent éloignés de C/C++, malgré une approche syntaxique ressemblante.En effet, le langage est moins poussé vers le tout objet. Mais surtout il faut apprendre les concepts de "Ownership" et de "Lifetime" qui peuvent vraiment te compliquer la vie. Par contre c'est ce qui fait que l'on peut éliminer une grande partie des erreurs techniques du C++, dès la compilation, sans avoir recours a des mécanismes qui diminuent les performance comme le Garbage Collector.
Folco (./3547) :J'ai vu aussi le plugin pour Intellij IDEA, mais c'est payant, c'est ça ?Tu peux utiliser le plugin Rust avec la version "community" de Intellij IDEA qui est libre.
Zeph (./3546) :https://mingw-w64.org/doku.php
soit tu utilises MinGW mais j'ai l'impression que ça n'est plus vraiment maintenu
Folco (./3545) :Je pense qu'il y a une certaine objectivité sur la question, c'est compliqué pour pas grand chose, et les frameworks à la Qt améliorent les choses mais sont arrivés trop tard, il y a trop de code historique pénible :/
Mouarf, je m'attendais pas à lire ça de toi ^^
Uther (./3548) :Rien que ça, rien de pratique pour faire des UI, pour moi c'est quand même difficile de ne pas être rédhibitoire... ?! Enfin, sauf pour un code sans interface utilisateur, évidemement
Là par contre non. Je dirais même que c'est un de ces plus gros manque pour le moment. Il y a divers binding vers des lib en C++, mais aucun n'est encore multi-plateforme et pratique a utiliser.
Kevin Kofler (./3552) :Oui il y a un support plus ou moins avancé dans pas mal d'éditeurs, mais je me suis contenté de citer les deux qui offrent le meilleur support du langage, IntelliJ IDEA étant supporté par Jetbrains et VS Code étant supporté par l'équipe de Rust.
D'après https://forge.rust-lang.org/ides.html, il y a aussi des plugins Rust pour Eclipse, pour GNOME Builder et pour Visual Studio (la version propriétaire), ainsi que pour plusieurs éditeurs.
Il peut y avoir de quoi faire des sites web, ça remplace souvent les interfaces utilisateur maintenant.Pen^2 (./3554) :Rien que ça, rien de pratique pour faire des UI, pour moi c'est quand même difficile de ne pas être rédhibitoire... ?! Enfin, sauf pour un code sans interface utilisateur, évidemement
Là par contre non. Je dirais même que c'est un de ces plus gros manque pour le moment. Il y a divers binding vers des lib en C++, mais aucun n'est encore multi-plateforme et pratique a utiliser.
'fin bref, vous êtes bien motivés
Pen^2 (./3554) :Il est déjà utilisé industriellement, il est notamment utilisé par Mozilla, Dropbox, npm, ... mais c'est sur que ça ne sera pas la référence sur le marché de l'emploi dès demain.
Quant à Rust je connais pas, mais je trouve qu'il faut quand même être pas mal motivé pour apprendre un nouveau langage comme ça, qui a probablement peu de chances d'être vraiment utilisé industriellement avant un moment, etc.
Pen^2 (./3554) :Bien sur je ne le recommanderais pas encore pour un programme orienté UI. Mais je pense que c'est quand même un langage intéressant a apprendre. Le système de trait est moins rigide que les classes de C++/Java. Les enum (qui sont en fait plutôt des unions taggés) sont vraiment pratiques. Et le système de lifetime, ownership s'il est bien lourd quand tu veux faire quelque chose qui marche vite fait, te force a bien réfléchir aux implications de la conception de ton programme.
Rien que ça, rien de pratique pour faire des UI, pour moi c'est quand même difficile de ne pas être rédhibitoire... ?! Enfin, sauf pour un code sans interface utilisateur, évidemement
'fin bref, vous êtes bien motivés
Kevin Kofler (./3553) :Ah j'avais raté le fork, je viens de l'installer et c'est bien foutu : seulement quelques options à choisir à l'installation et tout roule, merciZeph (./3546) :https://mingw-w64.org/doku.php
soit tu utilises MinGW mais j'ai l'impression que ça n'est plus vraiment maintenu
Uther (./3560) :De plus en plus de logiciels partent du principe qu'il y a un accès internet (même via un proxy)…
Le souci, c'est que si on est derrière un proxy d'entreprise, l'installeur est une tannée, je ne parle même pas de l'installation offline. Personnellement j'ai laissé tomber.
Uther (./3557) :
npm