IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Rust Discussion :

Projet Protissimo : l'ISRG veut sécuriser la mémoire du noyau Linux avec Rust


Sujet :

Rust

  1. #21
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    951
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 951
    Points : 2 909
    Points
    2 909
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Oui, mais le problème, c'est qu'il y a 2-3 ans, on nous disait de faire du Go, il y a 5-6 ans fallait faire du D. Et dans 2-3 ans on nous dira d'utiliser un autre langage.
    Quand tu choisis un langage pour un projet, c'est une décision qui t'engage sur des décennies, tu ne peux pas le réécrire complètement dans un autre langage tous les 2-3 ans.
    Le problème dans ce que tu dis, c'est la défintion de ton "on", c'est qui au juste "on" ? Parce que sauf erreur de ma part, il n'y a jamais eu Linus Torvald dans ce "on", et je pense qu'il y a aussi un certain nombre de gens qui sont très spécialisés dans le développement du noyau Linux qui ne faisait pas parti de ce "on" mais fait parti de celui pour le Rust.

  2. #22
    Membre régulier

    Homme Profil pro
    Software engineer
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Software engineer
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Merci pour l'article, très intéressant. Je trouve que c'est une bonne idée d'introduire un nouveau langage sur le développement Linux, cela permettra a des personnes qui sont effectivement intéressées par la programmation linux et système de clairement marquer leur intérêt pour ce champ de la discipline .

    Je serais heureux de voir les entreprises adopter plus largement des solutions linux, pour l'instant d'après mon expérience beaucoup utilisent encore des solutions IBM Legacy (z/OS, AIX). Peut-être des solutions IBM plus récentes comme Red Hat trouveront-elles bientôt un intérêt auprès de nos entreprises européennes? Ou plus généralement les systèmes Linux + Support, pourquoi pas avec Ubuntu et Canonical? Cela aiderait aussi a former de futurs mainteneurs linux francophones (synergie entre une activité professionnelle et un centre d'intérêt personnel).

  3. #23
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 137
    Points
    23 137
    Par défaut
    Citation Envoyé par walfrat Voir le message
    Le problème dans ce que tu dis, c'est la défintion de ton "on", c'est qui au juste "on" ? Parce que sauf erreur de ma part, il n'y a jamais eu Linus Torvald dans ce "on", et je pense qu'il y a aussi un certain nombre de gens qui sont très spécialisés dans le développement du noyau Linux qui ne faisait pas parti de ce "on" mais fait parti de celui pour le Rust.
    ouais, enfin y'a pas que Linus Torvald dans le monde...

    Google poussait le Go... Google c'est pas n'importe qui non plus.
    M$ poussait le C#.
    Android (encore Google), le Java et Kotlin.
    Apple, l'Objective C, maintenant c'est le Swift si je ne dis pas de bêtises.


    Et je dois en oublier. Aucun de ceux que j'ai cité ne sont n'importe qui. Alors Linus nous dit blanc, M$ nous dit noir, Apple, nous dit vert, et Google nous dis rouge rayé de bleu.

    Tout le monde nous dit une chose différente, comment veut-on qu'on s'y retrouve ensuite si tout le monde a au final son propre langage ?

  4. #24
    Membre éprouvé
    Homme Profil pro
    Programmeur des cavernes
    Inscrit en
    Août 2017
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur des cavernes
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2017
    Messages : 364
    Points : 1 238
    Points
    1 238
    Par défaut
    D'un côté :

    -- personne ne s'amuse vraiment à changer de langage tous les trois ans ;


    D'un autre côté :

    -- pourquoi avoir besoin qu'un langage soit utilisé par tous pour s'y mettre soi-même.
    Je croyais qu'il fallait être "ouvert" et choisir un langage "parce qu'il est le plus adapté pour un projet" et non parce que "on est ouvert, la preuve, on code tous dans le même langage".

  5. #25
    Membre éclairé
    Homme Profil pro
    Développeur C++
    Inscrit en
    Octobre 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur C++

    Informations forums :
    Inscription : Octobre 2008
    Messages : 243
    Points : 714
    Points
    714
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Oui, mais le problème, c'est qu'il y a 2-3 ans, on nous disait de faire du Go, il y a 5-6 ans fallait faire du D. Et dans 2-3 ans on nous dira d'utiliser un autre langage.


    Quand tu choisis un langage pour un projet, c'est une décision qui t'engage sur des décennies, tu ne peux pas le réécrire complètement dans un autre langage tous les 2-3 ans.
    Non.

    D n'a jamais marché et ne marchera pas pour différentes raisons. Déjà il a souffert en interne des différentes implémentations de la bibliothèque standard ce qui l'a largement decrédibilisé. Ensuite il possède un garbage collector, personne ne souhaite ça dans un noyau de système d'exploitation. Et pour finir c'est un langage qui n'a rien apporté de nouveau.

    Go et Rust ont commencé à peu près à la même période. Pourtant Rust fonctionne.

    Go est langage qui selon moi ne décollera jamais car il est trop focalisé sur un principe de « C haut niveau ». Il n'apporte rien de nouveau, il a un garbage collector, il n'a pas de généricité, il supporte les pointeurs void et sa gestion des erreurs est mal faite.

    Rust n'a aucun de ces défauts il apporte beaucoup de choses propres et nouvelles donc je pense qu'il n'a pas de soucis à se faire.

  6. #26
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 137
    Points
    23 137
    Par défaut
    Citation Envoyé par Jamatronic Voir le message
    -- pourquoi avoir besoin qu'un langage soit utilisé par tous pour s'y mettre soi-même.
    Je croyais qu'il fallait être "ouvert" et choisir un langage "parce qu'il est le plus adapté pour un projet" et non parce que "on est ouvert, la preuve, on code tous dans le même langage".
    Soyons sérieux, à part les bibliothèques qui ne sont pas liées intrinsèquement au langage, il n'y a pas non plus 50 besoins de projets différents qui nécessitent 50 langages différents, et qui sont en soit très similaires sur bien des aspects.

    Ce n'est pas une question qu'un langage soit utilisés par tous, mais d'éviter une fragmentation inutile sous l'impulsions d'effets de modes.

  7. #27
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    951
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 951
    Points : 2 909
    Points
    2 909
    Par défaut
    Citation Envoyé par Neckara Voir le message
    ouais, enfin y'a pas que Linus Torvald dans le monde...

    Google poussait le Go... Google c'est pas n'importe qui non plus.
    M$ poussait le C#.
    Android (encore Google), le Java et Kotlin.
    Apple, l'Objective C, maintenant c'est le Swift si je ne dis pas de bêtises.


    Et je dois en oublier. Aucun de ceux que j'ai cité ne sont n'importe qui. Alors Linus nous dit blanc, M$ nous dit noir, Apple, nous dit vert, et Google nous dis rouge rayé de bleu.

    Tout le monde nous dit une chose différente, comment veut-on qu'on s'y retrouve ensuite si tout le monde a au final son propre langage ?
    Je te rappel que le sujet de l'article c'est "Rust au sein du noyau Linux". Je ne pense pas que Microsoft ai poussé pour faire du C# dans le noyau Linux.

    En outre j'ai bien pris la peine de mentionner qu'il y d'autres personnes qui gravitent autour du développement du noyau Linux que Linus Torvald qui partagent cet enthousiasme.

    Ce n'est pas une question qu'un langage soit utilisés par tous, mais d'éviter une fragmentation inutile sous l'impulsions d'effets de modes.
    C'est aussi la preuve que notre secteur manque encore de maturité.

  8. #28
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 627
    Points : 15 788
    Points
    15 788
    Par défaut
    Citation Envoyé par Neckara Voir le message
    ouais, enfin y'a pas que Linus Torvald dans le monde...

    Google poussait le Go... Google c'est pas n'importe qui non plus.
    M$ poussait le C#.
    Android (encore Google), le Java et Kotlin.
    Apple, l'Objective C, maintenant c'est le Swift si je ne dis pas de bêtises.
    Si pour toi "on" c'est les sociétés derrière chaque langage, évidement qu'il vont te préférer leur propre solution mais bon c'est pas ce que j’appellerais une référence.
    De plus il faut comparer ce qui est comparable. Les langages que tu cites ne sont pas dans la même catégorie que Rust. Ils sont tous difficilement utilisable pour de la programmation système. Les concurrents de Rust seraient plutôt a chercher du coté de Zig ou Nim.

  9. #29
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Markand Voir le message
    Go est langage qui selon moi ne décollera jamais...
    Heu, Go est loin d'être un langage délaissé. Il est même largement devant Rust dans le classement tiobe (même si ça ne veut pas dire grand chose).

    Citation Envoyé par Markand Voir le message
    Rust n'a aucun de ces défauts il apporte beaucoup de choses propres et nouvelles donc je pense qu'il n'a pas de soucis à se faire.
    Donc je re-pose la question : quelles "nouvelles choses" ?
    Perso, je trouve que Rust a beaucoup d'avantages mais je trouve dommage que certains de ses fanboys le promeuvent en démontant les autres langages, souvent abusivement en plus.

  10. #30
    Membre régulier

    Homme Profil pro
    Software engineer
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Software engineer
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Uther Voir le message
    Si pour toi "on" c'est les sociétés derrière chaque langage, évidement qu'il vont te préférer leur propre solution mais bon c'est pas ce que j’appellerais une référence.
    De plus il faut comparer ce qui est comparable. Les langages que tu cites ne sont pas dans la même catégorie que Rust. Ils sont tous difficilement utilisable pour de la programmation système. Les concurrents de Rust seraient plutôt a chercher du coté de Zig ou Nim.
    D'accord avec toi. Pour moi l'aspect "Marketing" de Rust, même si c'était le seul avantage de ce nouveau langage par rapport au C, ce serait déjà très bien, si cela encourage la jeune génération a s'intéresser à la programmation système.

  11. #31
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 137
    Points
    23 137
    Par défaut
    Citation Envoyé par walfrat Voir le message
    Je te rappel que le sujet de l'article c'est "Rust au sein du noyau Linux". Je ne pense pas que Microsoft ai poussé pour faire du C# dans le noyau Linux.
    Non, mais en informatique, on ne fait pas que développer des noyaux Linux, et heureusement !

    Le problème c'est que si tu fais du Rust dans Linux, du C# dans Windows, du Swift dans Apple, du Kotlin dans Android, du JS dans les navigateurs, du C++ en embarqué, etc. etc. tu as une fragmentation des langages non par par réels besoins, mais par plateformes.

    Donc derrière, dès que tu veux faire du multi-platerforme, ou passer de l'une à l'autre, ça devient vite enquiquinant.

    Et ça, c'est juste pour les OS, derrière t'as du Python/R pour des gros calculs, t'as du Fortran dans les applications bancaires (), t'as du machin et du bidule à gauche et à droite.


    Rien qu'en développement Web, passer du JS au PHP c'était enquiquinant. Parce qu'ils avaient leurs petites différences, et qu'on n'arrivait jamais à se rappeler lequel fait comme ça, et lequel fait comme ci. Maintenant au moins en full JS on n'a plus ce problème, et ça permet de transférer facilement des bouts de codes du client au serveur et inversement. Même si JS est loin d'être un bon langage malheureusement.

    Le problème, c'est qu'on se retrouve à travailler sur des projets "ah bah moi j'utilise du C#, ah bah moi j'utilise du Java, ah bah moi j'utilise Matlab (), ah bah moi c'est du JS (pour compatibilité avec un environnement Web), ah bah moi c'est du Python, non moi c'est du R, moi c'est direct en C++, n00b, je fais direct en assembleur... pfff amateurs, je code directement en écrivant chaque bits à la main sur le disque dur ".

    Bon, ok, pour les deux derniers j'exagère. Donc pour mon domaine, on peut déjà se retrouver avec des bouts de codes dans 7 langages différents,et je pense que j'en ai encore oublié quelques uns. Le plaisir de jongler ainsi... ><

  12. #32
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 627
    Points : 15 788
    Points
    15 788
    Par défaut
    Citation Envoyé par Markand Voir le message
    Go et Rust ont commencé à peu près à la même période. Pourtant Rust fonctionne.

    Go est langage qui selon moi ne décollera jamais car il est trop focalisé sur un principe de « C haut niveau ». Il n'apporte rien de nouveau, il a un garbage collector, il n'a pas de généricité, il supporte les pointeurs void et sa gestion des erreurs est mal faite.

    Rust n'a aucun de ces défauts il apporte beaucoup de choses propres et nouvelles donc je pense qu'il n'a pas de soucis à se faire.
    Go fonctionne très bien, même mieux que Rust en terme d'adoption générale. Mais bien que l'on cite souvent ces deux langages ensemble, ils ont pourtant des visées très différentes. Je pense que le malentendu vient du fait que à la sortie de Go, Google l'a présenté à tort comme un langage système, et qu'a l'époque Rust commençait à faire un peu parler de lui même s'il n'est sorti officiellement que 3 ans plus tard. Google est revenu sur la qualification de langage système pour Go, mais l'idée que c'était 2 langages similaire sortis en même temps est restée.

    En fait Go est au C ce que Java a été au C++ : une bonne simplification quitte a abandonner le coté système. Il en résulte un langage très simple a apprendre et relativement efficace. Il remplit parfaitement son rôle dans les domaines ou Java fonctionne bien et il y a été relativement bien adopté.

    S'il fallait caser le Rust quelque part, ça serait plutôt du coté du C++, car tout comme lui il a l'intention d’apporter la capacité de faire des abstractions de haut niveau sans renoncer à la programmation système. Il a cependant fait des choix différents dans certains de ses mécanismes, ce qui lui permet notamment de garantir la sécurité mémoire.

  13. #33
    Membre expérimenté
    Profil pro
    Ingénieur système Linux N3
    Inscrit en
    Juillet 2008
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur système Linux N3

    Informations forums :
    Inscription : Juillet 2008
    Messages : 422
    Points : 1 534
    Points
    1 534
    Par défaut Rust c'est bon mangez-en
    Ok, Rust est un successeur valable de C. Si Linus Torvalds le dit, vu l'impact ENORME de Linux sur l'ensemble de l'IT, on peut l'écouter. Perso, je développe pour des microcôntrolleurs 8 bits, c'est du loisir, donc ASM Microchip et 8082, et langage C. Je n'ai même pas de compilateur C++ pour mes petits projets. Je ne suis pas près de faire du Rust...

  14. #34
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Points : 8 713
    Points
    8 713
    Billets dans le blog
    43
    Par défaut
    J'utiliserai bien Rust pour faire du WebAssembly.

  15. #35
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 204
    Points : 542
    Points
    542
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Non, mais en informatique, on ne fait pas que développer des noyaux Linux, et heureusement !

    Le problème c'est que si tu fais du Rust dans Linux, du C# dans Windows, du Swift dans Apple, du Kotlin dans Android, du JS dans les navigateurs, du C++ en embarqué, etc. etc. tu as une fragmentation des langages non par par réels besoins, mais par plateformes.

    Donc derrière, dès que tu veux faire du multi-platerforme, ou passer de l'une à l'autre, ça devient vite enquiquinant.

    Et ça, c'est juste pour les OS, derrière t'as du Python/R pour des gros calculs, t'as du Fortran dans les applications bancaires (), t'as du machin et du bidule à gauche et à droite.


    Rien qu'en développement Web, passer du JS au PHP c'était enquiquinant. Parce qu'ils avaient leurs petites différences, et qu'on n'arrivait jamais à se rappeler lequel fait comme ça, et lequel fait comme ci. Maintenant au moins en full JS on n'a plus ce problème, et ça permet de transférer facilement des bouts de codes du client au serveur et inversement. Même si JS est loin d'être un bon langage malheureusement.

    Le problème, c'est qu'on se retrouve à travailler sur des projets "ah bah moi j'utilise du C#, ah bah moi j'utilise du Java, ah bah moi j'utilise Matlab (), ah bah moi c'est du JS (pour compatibilité avec un environnement Web), ah bah moi c'est du Python, non moi c'est du R, moi c'est direct en C++, n00b, je fais direct en assembleur... pfff amateurs, je code directement en écrivant chaque bits à la main sur le disque dur ".

    Bon, ok, pour les deux derniers j'exagère. Donc pour mon domaine, on peut déjà se retrouver avec des bouts de codes dans 7 langages différents,et je pense que j'en ai encore oublié quelques uns. Le plaisir de jongler ainsi... ><

    Tu mélanges tout et c'est usant de te voir dire la même chose en boucle. Déjà des secteurs d'activités ont des besoins différents. Par exemple si tu fais implémentes des drivers audio tu as besoin de générer du code très performant et déterministe au niveau des accès mémoire. Cette contrainte rend l'utilisation de langage haut-niveau garbage collecté impossible. A contrario, si tu fais du développement web coté client il te faut un langage qui va s’exécuter dans un environnement sandboxé pour des raisons de sécurité.Il te faudra donc faire du Js ou du WASM (ou utilisé un langage qui compile vers l'un des 2). Et ce n'est que 2 exemples, suivant les secteurs tu peux trouver plein de raisons de plutôt utiliser X ou Y. Bref, contextes différents = contraintes différents = besoin de langages différents. Ensuite, avoir plein de langages est une bonne chose. L'informatique n'est pas une science assez vielle pour croire que les langages que l'on a aujourd'hui sont ce qui se fait de mieux. Autrement, on aurait pu garder que le Cobol depuis le début si on suit la logique inverse. Donc, il est important de tester des choses (ie, inventer de nouveaux langages) et de faire jouer la concurrence pour garder les meilleurs via de la sélection "naturelle".

  16. #36
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    951
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 951
    Points : 2 909
    Points
    2 909
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Non, mais en informatique, on ne fait pas que développer des noyaux Linux, et heureusement !

    Le problème c'est que si tu fais du Rust dans Linux, du C# dans Windows, du Swift dans Apple, du Kotlin dans Android, du JS dans les navigateurs, du C++ en embarqué, etc. etc. tu as une fragmentation des langages non par par réels besoins, mais par plateformes.

    Donc derrière, dès que tu veux faire du multi-platerforme, ou passer de l'une à l'autre, ça devient vite enquiquinant.

    Et ça, c'est juste pour les OS, derrière t'as du Python/R pour des gros calculs, t'as du Fortran dans les applications bancaires (), t'as du machin et du bidule à gauche et à droite.


    Rien qu'en développement Web, passer du JS au PHP c'était enquiquinant. Parce qu'ils avaient leurs petites différences, et qu'on n'arrivait jamais à se rappeler lequel fait comme ça, et lequel fait comme ci. Maintenant au moins en full JS on n'a plus ce problème, et ça permet de transférer facilement des bouts de codes du client au serveur et inversement. Même si JS est loin d'être un bon langage malheureusement.

    Le problème, c'est qu'on se retrouve à travailler sur des projets "ah bah moi j'utilise du C#, ah bah moi j'utilise du Java, ah bah moi j'utilise Matlab (), ah bah moi c'est du JS (pour compatibilité avec un environnement Web), ah bah moi c'est du Python, non moi c'est du R, moi c'est direct en C++, n00b, je fais direct en assembleur... pfff amateurs, je code directement en écrivant chaque bits à la main sur le disque dur ".

    Bon, ok, pour les deux derniers j'exagère. Donc pour mon domaine, on peut déjà se retrouver avec des bouts de codes dans 7 langages différents,et je pense que j'en ai encore oublié quelques uns. Le plaisir de jongler ainsi... ><
    Que ce soit clair, je suis bien d'accord avec la remarque de fond, jongler avec beaucoup de langages dans un même projet c'est usant, cependant je pense qu'elle c'est hors-sujet avec l'article, car dans ton genre d'exemple, la variété des langages n'est pas souvent justifiés. Ici on parle bien d'ajouter un langages parce que des gens ont consciencieusement réfléchi et estimes que ce serait bénéfique.

    De plus si tu te retrouves à jongler entre 7 langages différents il y a des chances que ce soit par manques d'efforts pour harmoniser un peu tout cela, c'est un problème organisationnel. Avoir plusieurs langages, pourquoi pas mais dans ce cas il faut bien borner ce qu'on fait avec chacun d'entre eux et éviter ceux qui font la même choses.

    Bon je dis ça mais je suis en Java, avec du Web de temps en temps

  17. #37
    Membre régulier

    Homme Profil pro
    Software engineer
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Software engineer
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par yahiko Voir le message
    J'utiliserai bien Rust pour faire du WebAssembly.
    Ça l'air rigolo ! WebAssembly je connaissais pas mais ça a l'air ambitieux comme projet... il faudra que je regarde si il y a des projets open-source intéressants en cours avec cette techno.

  18. #38
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 137
    Points
    23 137
    Par défaut
    Citation Envoyé par codec_abc Voir le message
    Tu mélanges tout et c'est usant de te voir dire la même chose en boucle. Déjà des secteurs d'activités ont des besoins différents.
    Et c'est usant de vous voir répondre ces bêtises... me forçant à repréciser mes propos...

    Tu vas me dire quels sont les besoins tellement différents entre e.g. un IPhone, un Androïd, et un Window Phone ? Tu vas me dire en quoi ce sont des "secteurs d'activités" tellement différents ?


    Citation Envoyé par codec_abc Voir le message
    Par exemple si tu fais implémentes des drivers audio tu as besoin de générer du code très performant et déterministe au niveau des accès mémoire. Cette contrainte rend l'utilisation de langage haut-niveau garbage collecté impossible.
    Et tu as des langages où tu peux choisir ou non t'utiliser un garbage collector...

    Cela n'est donc pas un argument pour dire qu'il faut des langages différents pour des besoins différents, mais que les langages où on ne peut pas désactiver le garbage collecteur ne sont pas top...

    Citation Envoyé par codec_abc Voir le message
    A contrario, si tu fais du développement web coté client il te faut un langage qui va s’exécuter dans un environnement sandboxé pour des raisons de sécurité.Il te faudra donc faire du Js ou du WASM (ou utilisé un langage qui compile vers l'un des 2).
    Et bien évidemment, tu nous fais un réponse complètement à côté de la plaque. Le fait qu'il faille faire du JS n'est pas intrinsèque au langage, mais un choix arbitraire qui a été fait. Si demain on décidait d'utiliser un autre langage, ben ça sera cet autre langage qu'on utilisera.


    Le WASM, peut être considéré comme un langage assembleur. Et pour des langages qui compilent vers le WASM... t'as LLVM et emscripten, t'en as une petite floppée. Sachant que là encore, ce n'est pas lié aux qualité du langage intrasèque, mais à des choix arbitraires qui ont fait qu'on a ajouté un langage donné à emscripten. Donc si demain un nouveau langage devient très bon... il est facile à parier qu'il sera ajouté à emscripten.

    Donc encore un fois, cela n'est donc pas un argument pour dire qu'il faut des langages différents pour des besoins différents...

    Citation Envoyé par codec_abc Voir le message
    Et ce n'est que 2 exemples, suivant les secteurs tu peux trouver plein de raisons de plutôt utiliser X ou Y. Bref, contextes différents = contraintes différents = besoin de langages différents.
    Ben... loupé... comme on l'a vu, la plupart de tes contextes ne justifient pas d'utiliser des langages différents...

    Citation Envoyé par codec_abc Voir le message
    Ensuite, avoir plein de langages est une bonne chose.
    Va donc devenir expert dans 7 langages différents en comprenant toutes leurs nuances, leurs bibliothèques principales... et on en reparle...

    Derrière bien évidemment on rajoute HTML/CSS3, LaTeX, et SQL. Donc bien au moins 10 langages. Et tout en passant sans cesse de l'un à l'autre en fonction des besoins ><.


    C'est comme l'Anglais, c'est peut-être pas une langue parfaite, mais je suis bien content que pratiquement tout le monde la parle... Parce que si je devais apprendre une langue différentes avant chaque conférences... je te dis pas le bordel.

    Citation Envoyé par codec_abc Voir le message
    L'informatique n'est pas une science assez vielle pour croire que les langages que l'on a aujourd'hui sont ce qui se fait de mieux.
    Le mieux est l'ennemi du bien. On s'en fout d'avoir l'optimal, le tout est d'avoir quelque chose de bien.

    Citation Envoyé par codec_abc Voir le message
    Autrement, on aurait pu garder que le Cobol depuis le début si on suit la logique inverse. Donc, il est important de tester des choses (ie, inventer de nouveaux langages) et de faire jouer la concurrence pour garder les meilleurs via de la sélection "naturelle".
    Non, ça c'est une bêtise. Déjà un langage évolue et peut lui-même tester des choses.
    Ensuite, il y a une différence entre tester une nouvelle chose, et utiliser cette nouvelle chose en production.

    Car si la première peut se faire en se greffant sur un langage existant et attendre son implémentation dans le langage, le second conduit à une fragmentation non-productive.

    Parce qu'il ne faut pas oublier que le but n'est pas d'atteindre le meilleurs langage, mais d'écrire des logiciels. De plus les processus de sélection "naturelle" ne conduire pas à la sélection du "meilleur" langage, c'est une mécompréhension des mécanismes de l'Évolution.


    Par exemple pour RUST, je trouve qu'il a fait une grosse bêtise en essayant de se démarquer ainsi des autres langages. Il aurait mieux fait soit de reprendre le formatage du C++ avec parenthèses/accolades, soit du Python avec juste des indentations, mais pas faire un mix choquant des deux.

    Il reprends le concept de macro qui ont été abandonnés en C++... Il aurait mieux faire de reprendre les fonctions inlines/constexpr, ainsi que d'avoir une prise en charge des variadics comme arguments de fonctions.

    Le format des chaînes de caractère est bizarre, ils auraient mieux fait de reprendre celle du JS.



    Bref, pour un nouveau langage issue de l'évolution, j'ai déjà quelques critiques à faire, sans même l'avoir encore touché en profondeur. Donc demain un nouveau langage Rust++ pourra apparaître corrigeant cela.

    Sauf que c'est bien beau de voir l'évolution des langages... mais derrière faut aussi se rappeler qu'il faut coder avec...

  19. #39
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 137
    Points
    23 137
    Par défaut
    Citation Envoyé par walfrat Voir le message
    Ici on parle bien d'ajouter un langages parce que des gens ont consciencieusement réfléchi et estimes que ce serait bénéfique.
    Oui, et on peut dire cela de presque tout nouveau langage qui sort.

    Il ont peut être réfléchi, mais ça continue de conduire à une fragmentation, sans que forcément beaucoup de personnes suivent... Si ce langage est très bon, le problème est la multitude de langage moins bon qui ont été proposé depuis. Je veux dire que s'il avait été le seul successeur du C++, il serait peut-être aujourd'hui bien plus largement adopté.

    Citation Envoyé par walfrat Voir le message
    De plus si tu te retrouves à jongler entre 7 langages différents il y a des chances que ce soit par manques d'efforts pour harmoniser un peu tout cela, c'est un problème organisationnel.
    Tant qu'il n'y aura pas de consensus au niveau mondial parmi l'ensemble de la recherche, c'est pas prêt de se régler...

  20. #40
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Points : 8 713
    Points
    8 713
    Billets dans le blog
    43
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Par exemple pour RUST, je trouve qu'il a fait une grosse bêtise en essayant de se démarquer ainsi des autres langages. Il aurait mieux fait soit de reprendre le formatage du C++ avec parenthèses/accolades, soit du Python avec juste des indentations, mais pas faire un mix choquant des deux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fn main() { println!("Hello, world!"); }
    Dans le playground de Rust, ça fonctionne.
    Je ne vois pas bien le mix avec Python du coup.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/04/2019, 21h44
  2. [Débutant] Mettre en couleur un champ date d'une liste lorsqu'elle celle-ci est dépassée?
    Par altor92 dans le forum Configuration
    Réponses: 0
    Dernier message: 25/04/2018, 13h33
  3. Pourquoi une recette par exemple celle de Coca-cola est-elle indivulgable
    Par bruce-willis dans le forum La taverne du Club : Humour et divers
    Réponses: 68
    Dernier message: 03/03/2011, 01h26
  4. L'implementation des modules est-elle dépendente de celle du kernel ?
    Par Hibou57 dans le forum Administration système
    Réponses: 3
    Dernier message: 28/11/2007, 18h47
  5. Réponses: 5
    Dernier message: 25/03/2003, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo