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

  1. #121
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    septembre 2010
    Messages
    2 744
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 2 744
    Points : 5 460
    Points
    5 460
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    Je comprends mais je ne vois pas en quoi ça te protège d’un blocage, disons, par famine par exemple
    Un cas de famine se produit lorsqu'un thread est incapable d'accéder à une ressource partagée. Or il n'y a aucune ressource partagée dans le modèle par isolation, ou seulement des ressources immuables toujours accessibles sans demande d'accès.

  2. #122
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2008
    Messages : 1 505
    Points : 2 795
    Points
    2 795
    Par défaut
    Un cas de famine se produit lorsqu'un thread est incapable d'accéder à une ressource partagée. Or il n'y a aucune ressource partagée dans le modèle par isolation, ou seulement des ressources immuables toujours accessibles sans demande d'accès.
    Sauf que si une ressource peut changer de thread, ça casse tout le modèle. Une ressource qui peut changer de thread, c’est par essence pas loin d’une ressource partagée. De plus, il est tout à fait possible, via une erreur de programmation, que toutes tes tâches se retrouvent à attendre un message qui n’arrivera jamais. Je ne vois pas quelle garanties t’offre rust là-dessus (à part que le modèle par isolation est effectivement plus simple à vérifier, mais ça se fera à l’aide d’autres outils de ce que j’en ai vu).

  3. #123
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    septembre 2010
    Messages
    2 744
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 2 744
    Points : 5 460
    Points
    5 460
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    Sauf que si une ressource peut changer de thread, ça casse tout le modèle.
    Je vois ce que tu veux dire : un thread pourrait attendre qu'un autre thread lui envoie une donné via un canal, et celle-ci n'arriverait jamais ?

    Effectivement Rust n'empêche pas cela, pas plus qu'il n’empêche les boucles infinies, ou n'empêche pas ton processus de s'arrêter lui-même. Des scénarios équivalents à celui que tu décris.

    Il se "contente" de prouver l'absence de data races et la conformité séquentielle de ton code ! Bref, il se contente de rendre simple et "sûr" (*) quelque chose qui est aujourd'hui extrêmement périlleux, délicat et pourtant si nécessaire.
    (*) aussi sûr que n'importe quoi d'autre en programmation en général


    C'est énorme ! Et si tes critiques ne sont pas infondées je pense que tu devrais pourtant te demander si cette insistance à saper le bénéfice évident et conséquent que j'ai décrit sur un problème très important et très difficile ne relève pas d'autre chose qu'une simple exploration intellectuelle. J'ai malheureusement constaté que les programmeurs sont extrêmement conservateurs et défendent farouchement leurs langages - bien au-delà du raisonnable.

  4. #124
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2011
    Messages : 101
    Points : 373
    Points
    373
    Par défaut
    Je viens de jeter un coup d'oeil au langage et je le trouve très intéressant. Bien sûr il y a toutes les fonctionnalités sympas d'un langage moderne : inférence de type, pattern matching, ...
    Mais surtout c'est un langage extensible, on peut y ajouter de nouvelles syntaxes grâce au système de macros. Il se pourrait bien qu'il devienne mon langage préféré juste pour cette raison, mais je vais encore étudier la chose, j'attends de voir comment ils ont résolu le problème du parsing de ces extensions.

    Par contre la doc est un peu verbeuse, il y a des détails franchement inutiles, et elle est écrite dans un anglais vraiment bizarre et assez pénible à lire, on dirait que c'est un français qui l'a rédigée J'ai particulièrement rigolé sur "more later"

    Maintenant s'ils veulent vraiment attirer des développeurs C++ il faudrait une doc "Rust pour les programmeurs C++" et une comparaison entre les concepts et syntaxes de chacun des langages.

  5. #125
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    mai 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2015
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Intéressant mais je garde encore mon avis…
    Je préfère étudier un peu la question et approfondir avant d’émettre un avis

  6. #126
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2008
    Messages : 1 505
    Points : 2 795
    Points
    2 795
    Par défaut
    Citation Envoyé par DonQuiche Voir le message
    C'est énorme ! Et si tes critiques ne sont pas infondées je pense que tu devrais pourtant te demander si cette insistance à saper le bénéfice évident et conséquent que j'ai décrit sur un problème très important et très difficile ne relève pas d'autre chose qu'une simple exploration intellectuelle. J'ai malheureusement constaté que les programmeurs sont extrêmement conservateurs et défendent farouchement leurs langages - bien au-delà du raisonnable.
    Oula, désolé si tu as mal pris mon propos. C’est probablement lié à mon historique personnel (j’ai fait du model-checking sur systèmes asynchrones, quand on me parle de systèmes concurrents « sûrs », ma réaction primaire est « j’ai des doutes, de manière générale on ne peut rien garantir sans faire une grosse exploration bourrine de tous les états »). Et je suis assez enthousiaste vis à vis de Rust en fait. Je pense simplement qu’il ne faut pas promettre plus que ce qui est effectivement tenable (en particulier, ton premier message semblait laisser penser que le modèle de concurrence de Rust empêchait tout blocage, d’où mon étonnement).

    Si ça peut te rassurer sur le bien que je pense de Rust, il se trouve que quelque soit le langage (en général c’est C++), chaque fois que je dois faire du multithread, je conçois ça comme un ensemble de tâches asynchrones communiquant par envoi de message et transfert de données. Donc typiquement le modèle choisi par Rust .

  7. #127
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    septembre 2010
    Messages
    2 744
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 2 744
    Points : 5 460
    Points
    5 460
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    C’est probablement lié à mon historique personnel (j’ai fait du model-checking sur systèmes asynchrones, quand on me parle de systèmes concurrents « sûrs », ma réaction primaire est « j’ai des doutes, de manière générale on ne peut rien garantir sans faire une grosse exploration bourrine de tous les états »).
    D'accord, je comprends mieux ta réaction. ^^

    Et, oui, on ne peut rien garantir sans explorer tous les états. Cela dit, et tu peux peut-être m'éclairer, je comprends mal pourquoi il y a toujours une emphase autour de ce problème avec les systèmes concurrents. Après tout, de ce que j'en sais, ce n'est ni plus ni moins que le bon vieux problème de l'arrêt qui se manifeste aussi bien avec les programmes monothreads : on ne peut pas garantir que telle partie d'un programme sera atteinte (avant épuisement des ressources physiques) car il faudrait prouver que la boucle au-dessus se terminera un jour, ce qui débouche souvent sur le problème de l'arrêt.

    J'ai loupé quelque chose ?

  8. #128
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2008
    Messages : 1 505
    Points : 2 795
    Points
    2 795
    Par défaut
    La grosse différence, c’est qu’en monothread, tu es synchrone, alors qu’en concurrent, tu es asynchrone. Et donc, les explosions du nombre d’état arrivent beaucoup plus vite.

    De plus, pour le monothread, on sait se limiter à des sous-ensemble d’opérations qui garantissent la terminaison (ça implique de ne pas être turing-complet). En concurrent, là aussi c’est beaucoup plus la merde car tu introduis du non-déterminisme. En très gros (c’est que ça commence à remonter maintenant), il ne suffit pas de prouver individuellement chacun des composants de ton système pour prouver le système lui-même --> l’explosion du nombre d’états est quasi systématique et toute la difficulté consiste à simplifier ça pour réussir à faire fonctionner les outils d’exploration (il y a aussi des trucs pour faire de la preuve formelle sur systèmes concurrents (cf π-calculus par exemple), mais là la page wiki expliquera ça bien mieux que je ne pourrais le faire avec mes maigres souvenirs).

  9. #129
    Membre chevronné
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2010
    Messages
    816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2010
    Messages : 816
    Points : 2 138
    Points
    2 138
    Par défaut
    Citation Envoyé par ParseCoder Voir le message
    Par contre la doc est un peu verbeuse, il y a des détails franchement inutiles, et elle est écrite dans un anglais vraiment bizarre et assez pénible à lire, on dirait que c'est un français qui l'a rédigée J'ai particulièrement rigolé sur "more later"
    Je viens d'envoyer une pull request pour corriger ça.
    Il y a 10 sortes de gens : ceux qui comptent en binaire et les autres.

    "Premature optimization is the root of all evil" --Donald Knuth
    traduction : "L'optimisation prématurée est la racine de tous les maux" -- Donald Knuth

    Si vous voulez apprendre à développer en Rust, un tuto (en français) est disponible ici.
    Si vous voulez voir mes projets, c'est sur github que ça se passe.

  10. #130
    Nouveau membre du Club
    Homme Profil pro
    Programmeur / Formateur C/C++
    Inscrit en
    juillet 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Programmeur / Formateur C/C++

    Informations forums :
    Inscription : juillet 2014
    Messages : 59
    Points : 31
    Points
    31
    Par défaut
    "Le langage fournit la sécurité et la commodité des langages modernes, tout en maintenant l’efficacité et le contrôle de bas niveau des langages C et C++." :
    Quels langages modernes ? On croit rêver en lisant ça - c'est tout juste si les programmeurs C/C++ ne sont pas traités de vieux croutons - tout en leur reconnaissant quand même l'efficacité et le contrôle de bas niveau !
    Pourquoi ne pas faire une bibliothèque, un Framework ou une API en C/C++, pas la peine de créer un dit "nouveau" langage qui serait "moderne".
    La sécurité : je m'en charge et la commodité : elle vient toute seule avec l'expérience - donc je vais laisser Rust rouiller dans son coin et surtout ne pas m'embarquer là-dedans

  11. #131
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 904
    Points : 10 173
    Points
    10 173
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je n'ai pas tout lu, et je ne sais pas si cela a déjà été mentionné. Ceci vient de sortir dans la galerie VisualStudio:

    https://visualstudiogallery.msdn.mic...3-92f183d3e640

    Si jamais cela intéresse quelqu'un.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  12. #132
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    septembre 2010
    Messages
    2 744
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 2 744
    Points : 5 460
    Points
    5 460
    Par défaut
    Citation Envoyé par Ph. Marechal Voir le message
    La sécurité : je m'en charge
    Tu peux me donner le nom de tes produits, afin que je les évite stp ?

    La sécurité devrait être une affaire d'outils et de méthodologie, pas d'égo. L'être humain est faillible.

    Quels langages modernes ? On croit rêver en lisant ça - c'est tout juste si les programmeurs C/C++ ne sont pas traités de vieux croutons - tout en leur reconnaissant quand même l'efficacité et le contrôle de bas niveau !
    Le C++ va sur ses cinquante ans, ses chaînes littérales sont encodées en ASCII, il supporte des digraphes dangereux pour les jeux de caractères obsolètes qui ne contenaient pas certains symboles, son modèle de compilation est problématique et atrocement long car le modèle est prévu pour des ordinateurs avec trop peu de mémoire pour faire tenir une représentation sémantique du code en mémoire et il a encore recours à des mécanismes dont toute l'industrie a appris à se méfier durant le dernier demi-siècle (types "standards" spécifiques à chaque plateforme par exemple).

    Oui, je pense qu'on peut dire que le C++ est un vieux schnoque. Mais encore nécessaire pour l'instant.

    Ce qui n'est pas forcément le cas de ses utilisateurs, le C++ étant encore enseigné dans de nombreux endroits. Pourquoi en faire une affaire personnelle ?

  13. #133
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 898
    Points : 7 416
    Points
    7 416
    Par défaut
    Je ne comprends jamais les réactions négatives dès qu'on parle d'un nouveau langage, surtout quand celui-ci s'attaque à de vrais problèmes. C'est bizarrement très récurrent sur DVP, que ce soit sur des alternatives au javascript (typescript, dart), aux langages pour la jvm (ceylon, kotlin, fantom) ou au C++ et consors (Rust ou Go).

    Généralement quand un langage propose plus de sécurité on a droit à un "C'est au développeur de savoir ce qu'il fait". Il serait peut être temps de stopper une fois pour toute avec cet argument de merde parce qu'aucun mécanisme n'est là pour dispenser le développeur de savoir ce qu'il fait, ce sont des aides, des outils. On peut tout ramener à soi et estimer qu'on a pas besoin de ces facilités faites pour les tocards, mais dans la pratique on se retrouve immanquablement dans des équipes composées de différentes personnes de niveaux parfois inégaux et là, il y pas de raison de ne pas être preneur de toutes les vérifications et sécurités qu'on peut nous proposer, surtout quand elles sont gratuites et automatiques.

  14. #134
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2013
    Messages
    1 213
    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 213
    Points : 7 605
    Points
    7 605
    Billets dans le blog
    43
    Par défaut
    Je suis d'accord sur le fond skip. Il y a des nouveaux langages qui apportent une réelle plus-value par rapport à ceux qu'ils sont censés améliorer (dans ce que tu as mentionné je pense à TypeScript que je connais plutôt bien)

    Maintenant, je trouve aussi que l'enthousiasme de certains pour les nouveaux langages est parfois exagéré surtout quand ils avancent des avantages que le nouveau langage ne possède pas. Dans le cas de Rust, quand j'ai pu lire certains commentaires et les sous-entendus, un lecteur non averti aurait pu croire que Rust était tellement performant qu'il allait finir par devenir plus rapide que le langage C. Ou bien que Rust propose la réponse miracle aux deadlocks... Ces énormités ont plutôt tendance à desservir le langage à mon humble avis.

    Je suis d'accord pour dire qu'en tant que langage Rust ou Go sont intéressant, même si je continue de penser que Mozilla ferait mieux de s'occuper de ses produits existants... Mais ça c'est un autre débat
    Tutoriels et FAQ TypeScript

  15. #135
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    septembre 2010
    Messages
    2 744
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 2 744
    Points : 5 460
    Points
    5 460
    Par défaut
    Citation Envoyé par _skip Voir le message
    On peut tout ramener à soi et estimer qu'on a pas besoin de ces facilités faites pour les tocards, mais dans la pratique on se retrouve immanquablement dans des équipes composées de différentes personnes de niveaux parfois inégaux et là, il y pas de raison de ne pas être preneur de toutes les vérifications et sécurités qu'on peut nous proposer, surtout quand elles sont gratuites et automatiques.
    Et, surtout, même le demi-dieu du code fait des erreurs, alors que certains projets exigent zéro erreurs ou problèmes de sécurité.

    C# et Java étaient entre autres prévus pour être manipulables par n'importe qui en prenant complètement en charge certains problèmes au détriment des performances. Un de leurs buts était de permettre le recrutement de développeurs peu fiables pour des projets à la complexité simple à modérée.

    Ce n'est pas l'optique de Rust qui a été pensé pour la programmation système et autres projets à haut niveau de sécurité. La démarche de Rust est de contraindre le programmeur à prouver via le système de types et à la compilation que son code possède certaines qualités (absence de fuite mémoire, absence de data race, impossibilité de lire en-dehors des bornes, etc). Un mauvais programmeur aurait de toute façon du mal à comprendre ces concepts.

    Rust ressemble plutôt à un langage fait pour de bons programmeurs travaillant dans des domaines relativement exigeants en termes de sécurité et de fiabilité.

  16. #136
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 892
    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 : 3 892
    Points : 11 330
    Points
    11 330
    Par défaut
    Citation Envoyé par Ph. Marechal Voir le message
    Quels langages modernes ? On croit rêver en lisant ça - c'est tout juste si les programmeurs C/C++ ne sont pas traités de vieux croutons - tout en leur reconnaissant quand même l'efficacité et le contrôle de bas niveau !
    Même s'ils continuent d'évoluer, C et C++ sont clairement plus ancien, et ont donc un historique qui va avec. Ce n'est pas insulter les utilisateur du langage que de le relever.

    Citation Envoyé par Ph. Marechal Voir le message
    Pourquoi ne pas faire une bibliothèque, un Framework ou une API en C/C++, pas la peine de créer un dit "nouveau" langage qui serait "moderne".
    Une bibliothèque C++ ne résoudra pas tous les problèmes : certains sont inhérents au langage lui même. Rust garantit la sécurité mémoire à la compilation, ce qui est impossible en C++, sans casser sa compatibilité.
    Une bibliothèque a souvent un coût à l'exécution et les cas d'erreur sont traités a l’exécution.

    Citation Envoyé par Ph. Marechal Voir le message
    La sécurité : je m'en charge et la commodité : elle vient toute seule avec l'expérience - donc je vais laisser Rust rouiller dans son coin et surtout ne pas m'embarquer là-dedans
    Tu m'expliqueras pourquoi dans toutes les applications les plus contrôlées au monde avec des système de revue, on découvre pourtant régulièrement des failles de sécurités. Et ce n'est pas une insulte à tes talents de programmeur, que de dire que je suis certain que tes programmes ne sont certainement pas si sur que tu le penses.

    Citation Envoyé par _skip Voir le message
    Je ne comprends jamais les réactions négatives dès qu'on parle d'un nouveau langage, surtout quand celui-ci s'attaque à de vrais problèmes. C'est bizarrement très récurrent sur DVP, que ce soit sur des alternatives au javascript (typescript, dart), aux langages pour la jvm (ceylon, kotlin, fantom) ou au C++ et consors (Rust ou Go).
    Je pense que c'est surtout que pas mal de gens ont une approche conservatrice : il voient leur langage fétiche comme un aboutissement et n'imaginent pas qu'il y en ai besoin d'autre.
    Il voient un autre langage comme une remise en cause de ce qu'ils ont fait avec leur langage habituel ou craignent à tort qu'il rende le leur obsolète et de se retrouver a devoir réapprendre un nouveau langage et perdre le savoir faire qu'il ont capitalisé.

  17. #137
    Membre émérite
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    2 740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 740
    Points : 2 652
    Points
    2 652
    Par défaut
    Concernant le dernier point, le problème est surtout que les nouveaux langages pleuvent comme à Gravelotte.
    Sans préjuger de la qualité intrinsèque des langages, on se retrouve de plus en plus avec des profils de gens qui disent connaître 10 ou 15 langages et n'en maîtrisent en fait aucun. On ne peut leur en vouloir : tout le monde veut éviter de se retrouver au bord du chemin en ratant LE langage. Et tout le monde veut pouvoir répondre à l'offre d'emploi qui réclame des moutons à 13 pattes.

    Cette évolution du développement est néfaste : les programmes mal codés sont de plus en plus nombreux, car on peut de moins en moins se prévaloir d'une longue expérience sur les technos. Nos capacités cognitives se dispersent de plus en plus. Il est de plus en plus difficile de faire un travail propre : sitôt qu'on en devient capable, on est incité à passer à un autre langage ou une autre techno. Je ne suis pas sûr qu'on y gagne, quelles sue soient les qualités de Rust (qui m'ont l'air d'être nombreuses).

    Mais bon :tout cela n'est que le reflet de l'évolution de nos sociétés entraînées vaille que vaille dans une vaine course à l'échalote.

  18. #138
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 892
    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 : 3 892
    Points : 11 330
    Points
    11 330
    Par défaut
    Sauf que je pense que c'est une mauvaise façon de voir les choses. Certes, on ne peut pas et ne doit pas être un expert sur tous les langages, mais dans une carrière doit quand même avoir l'occasion d'apprendre à en maîtriser un certain nombre.

    Connaitre de nouveau langages n'est pas néfaste pour la maitrise des langages que l'on connait déjà, au contraire, cela permet d'enrichir son expérience. Par exemple, de ce que j'ai pu lire de plusieurs personnes qui ont essayé Rust, apprendre a maitriser les concepts de gestion mémoire particuliers à ce langage leur a appris à faire bien plus attention aux d'erreurs de mémoire même lorsqu'il ont refait C++.
    Personnellement j'ai bien vu plus d'horreur écrites dans des langage mainstream comme le C++ ou le Java que dans des langages plus rares. Je dirais au contraire que le code sale vient très souvent de personnes qui ont une monoculture de leur langage et manquent de vision générale. Lorsqu'ils essaye d'en aborder un nouveau et ils n'essayent pas de comprendre ce qu'il apporte et veulent appliquer bêtement les modèles issus de leur langage habituel.

    Pour ce qui est de l'offre d'emploi, c'est idiot d'avoir une vision catastrophiste. il faut être conscient que les nouveaux langages ne vont pas générer des offres spécifiques avant longtemps (à part Swift, car il va être poussé par Apple comme référence du dev sur iOS). Pendant quelques années au moins, les développeurs Rust seront principalement des développeurs C++ formés sur le tas.

Discussions similaires

  1. Réponses: 21
    Dernier message: 29/11/2010, 18h33
  2. Réponses: 5
    Dernier message: 16/06/2010, 10h34
  3. Réponses: 4
    Dernier message: 16/03/2010, 16h24
  4. Réponses: 12
    Dernier message: 23/11/2009, 20h26

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