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

Affichage des résultats du sondage: Un ingénieur moderne a-t-il besoin d'apprendre les notions enseignées dans SCIP pour développer ?

Votants
50. Vous ne pouvez pas participer à ce sondage.
  • Oui, je pense qu'un ingénieur doit maitriser les bases avant d'utiliser des librairies

    38 76,00%
  • Non, je pense qu'on a pas besoin de certaines de ces notions pour coder de nos jours

    6 12,00%
  • Autres, à préciser dans les commentaires

    6 12,00%
Débats sur le développement - Le Best Of Discussion :

Gerry Sussman explique que les ingénieurs modernes ne sont pas de « vrais » programmeurs


Sujet :

Débats sur le développement - Le Best Of

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    None
    Inscrit en
    Août 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : None

    Informations forums :
    Inscription : Août 2012
    Messages : 355
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    C'est essentiellement la différence entre un travail utilisable fait rapidement et un travail de très faible valeur ajoutée qui demande un temps fou.
    Ce qui est "marrant" c'est que pendant un de mes stages dans une grande entreprise international spécialisé dans le développement de logiciel de simulation, 3D, etc. dont je tairais le nom j'ai entendu le même discours. C'est toujours la même chose, faire les choses le plus vite possible, parce que sinon on perd de l'argent...
    Ce qui est moins drôle c'est qu'aujourd'hui c'est un peu l'hécatombe pour eux... Forcément, avec des concepts tels que "les erreurs documentées" (en gros, plutôt que de résoudre les problèmes, on dit "ouais on connait, on sait plus ou moins, ce qui la provoque") on ce retrouve avec tout un logiciel (voire une gamme de logiciel) qui risque de planter à tout moment étant donné que le code en question se trouve au fin fond des entrailles des codes sources.
    En revanche, dans les quelques boites que je connais où les mecs n'ont pas peur de se sortir les doigts de leur fondement respectif afin de les utiliser sur leur clavier (toujours respectif, faut un minimum d'hygiène), il y a "étrangement" beaucoup moins de problèmes.

    Soit dit en passant, ce n'est peut-être qu'un extrapolation de ma part, mais pour quelqu'un qui semble défendre l'utilisation de bibliothèques, je trouve cela un peu irrespectueux envers ceux qui développent ces bibliothèques de parler de "travail de très faible valeur ajoutée".

    Et enfin, parce que cette immonde expression me hérisse toujours le poil :
    mais il ne faut pas ré-inventer la roue en permanence
    (Pour la défense de l'auteur du message, le "en permanence" ajoute une petite nuance qui justifie un peu plus ses propos... mais quand même...)
    Il ne faut pas ré-inventer la roue. En voilà une, banalité (pour le coup c'est un peu le cas de toutes les expressions toute faites de ce genre), parmi les plus énervantes que je connaisse.
    A tous ceux qui prennent cette expression un peu trop au pied de la lettre, je leur demanderais d'aller faire un petit tour sur l'historique de la roue en question !
    En effet, il me semble qu'il y a une nette différence entre la roue telle qu'elle a été inventée (une roue pleine en pierre) et les roues que l'on retrouve aujourd'hui sur nos voitures (et heureusement, sinon je vous raconte pas l'état des routes...). En effet, la roue a subit bon nombre de modifications qui fait que, mis à part sa forme grossière, la roue d'aujourd'hui n'a pas grand chose à voir avec la roue d'origine... Cette dernière a donc bien été réinventée, et ce à maintes reprises. Ce qui n'a pas été réinventé en revanche, c'est le concept de la roue, mais la manière dont on "implémente" ce concept a bien changée.
    Ensuite, cette expression donne l'impression que la roue symbolise l'invention ultime, le saint graal de la technologie et que jamais on ne pourra faire mieux... A cela je répond: essayez de grimper un escalier avec une chaise roulante (ceci est évidemment rhétorique, et si vous le faites réellement, je ne saurais être tenu responsable en cas de blessures). La roue est une réponse à un problème (permettre le déplacement d'un objet d'un point A à un point B) dans une contexte donnée (un sol dur, relativement plat, avec une pente pas trop élevée). Mais en dehors de ce contexte la roue n'est clairement pas la bonne solution (ce n'est pas pour rien que les bateaux n'ont pas de roues...).

    Et bien en ce qui concerne l'informatique, c'est la même chose... Au lieu d'utiliser cette expression, remplacer le mot "roue" par n'importe quoi et vous verrez que ça parait déjà moins évident... Petit essaie : "Il ne sert à rien de réinventer l'ordinateur" => Si je vous dis ordinateur quantique, supercalculateur, smartphone, tablettes, etc. ça vous parle ? J'ai besoin d'être plus explicite ?

    Alors par pitié, arrêter de sortir cette phrase à tord et à travers. Je comprends que tout le monde n'ai pas l'envie, ni même la capacité, de se lancer dans des projets aussi complexe, mais ce n'est pas une raison pour décrédibiliser de la sorte ceux qui ont le courage de le faire et qui nous permettent aujourd'hui d'avoir les bibliothèques/frameworks que l'on a, et qui nous permettront demain d'en avoir de meilleurs.

  2. #2
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Billets dans le blog
    9
    Par défaut
    la roue d'aujourd'hui n'a pas grand chose à voir avec la roue d'origine... Cette dernière a donc bien été réinventée, et ce à maintes reprises.
    Non, elle n'a pas été réinventée, elle à été améliorer.

    2 conditions doivent être réunie pour "ré-inventer" la roue:
    1) Si tu peut te permettre financièrement (le temps c'est de l'argent) et intellectuellement de refaire une bibliothèque qui fait grosso-modo la même chose, mais en offrant plus de fonctionnalité ou en étant plus performante
    2) Si tu as le temps et l'argent de maintenir ce code, car une bibliothèque elle ne doit pas être jetable, sinon il n'y aucun intérêt.

    Si tu remplie ces 2 condition, alors oui tu peut crée ton truc dans ton coin.
    Dans la réalité, aucune boite ne s'amuse a re-crée un QT, ou un numpy, sa n'aurais aucun sens.

    Les bibliothèques permettent de faire 50% du boulot gratos et de rendre la maintenance d'un code plus facile, car utiliser une bibliothèque c'est délégué la maintenance de cette dernière à d'autre développeurs (spécialisé en plus).

    Apres c'est comme tous, faut pas non plus rentrer dans les excès. On utilise pas une bibliothèque ou un framework pour faire un print ou une addition.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 15
    Par défaut
    Pensez-vous que la programmation de nos jours se résume à l'intégration de bibliothèques ?
    Je pense que la réponse à la question dépend du domaine dans lequel on évolue.
    Pour ma part, je travaille principalement sur des applications de gestion de SI en environnement JEE. J'ai remarqué, au bout de quelques années, que mon travail se résumait justement à assembler des framework pour les faire fonctionner ensemble. Il m'arrive de temps à autre, en implémentant quelques algos, d'écrire mon propre code. Mais même là, je m'appuie énormément sur les librairies. Par exemple pour trier une collection, je ne vois pas pourquoi dois je réécrire le code alors qu'il existe la lib CollectionUtils d'apache et qu'elle fait bien ça. Aussi, n'a t'on pas besoin toujours de lire le code. La provenance de la lib est un indicateur de confiance. Quand ça vient d'apache ou de spring c'est pas comme si ça a été fait par M. X
    On peut aller plus loin dans cette logique, demain le métier de développeur dans les SI se résumerait à aller faire ses courses en achetant (ou pas) les composants dont on a besoin et venir les assembler.
    Cependant, je pense qu'on a toujours besoin d'avoir de solides bases en programmation pour justement écrire des lib spécifiques car on en aura toujours besoin.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Par défaut
    Pendant ce temps, une roue est (toujours) une pièce mécanique de forme circulaire tournant (toujours) autour d'un axe passant (toujours) par son centre.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 378
    Par défaut
    J'ajouterai d'ailleurs que la roue est l'une des huit machines simples.

  6. #6
    Invité de passage
    Femme Profil pro
    pape n'aimant pas les censeurs
    Inscrit en
    Janvier 2010
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Vatican

    Informations professionnelles :
    Activité : pape n'aimant pas les censeurs

    Informations forums :
    Inscription : Janvier 2010
    Messages : 803
    Par défaut
    Si les ingénieurs modernes ne sont plus de "vrais programmeurs", ce n'est pas de leur fautes et surtout il y a une raison indépendante de leur volonté!

    Mais pourquoi donc ces "faux programmeurs" se limitent à empiler des bibliothèques réalisées par d'autres??? Une seule raison: le fric!!!

    Que l'on me montre un seul dirigeant financier d'accord de laisser ses ingénieurs faire du travail de "vrais programmeurs" alors que des bibiothèques déjà existantes peuvent être utilisées à moindre coût...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Par défaut euh
    Je ne pense pas que Gerry Sussman pense qu'il ne faut pas utilisé de bibliothèque... L'idée je pense est que bien sure on peux utilisé les bibliothèque mais qu'il faut néanmoins comprendre leurs fonctionnement... On à pas besoin de réinventé la roue mais il faut au moins cherché à savoir comment elle tourne...

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 139
    Par défaut
    Citation Envoyé par mayih Voir le message
    Je ne pense pas que Gerry Sussman pense qu'il ne faut pas utilisé de bibliothèque... L'idée je pense est que bien sure on peux utilisé les bibliothèque mais qu'il faut néanmoins comprendre leurs fonctionnement... On à pas besoin de réinventé la roue mais il faut au moins cherché à savoir comment elle tourne...
    Même ça, c'est trop parfois. Au bout d'un moment tu dois faire aveuglément confiance à ce que tu utilises, sans pendre le temps sur leur fonctionnement interne. Bien sur tu peux t'amuser à regarder à comprendre certaines.

    Franchement, je m'en fous de savoir comment certains de mes outils fonctionnent. Ma librairie fonctionne, ça me suffit. C'est comme ma télé ou ma voiture, ça fonctionne. Je me fiche de savoir si l'OS de ma télé est un android modifié, si le moteur de ma voiture est un moteur rebadgé d'un autre constructeur : Ca fonctionne, je sais suffisamment sur le matos pour me renseigner sur comment l'utiliser correctement.

    Tu peux pas passer ton temps à regarder comment tout fonctionne ou tout recoder toi même. C'est pas rentable. Ca c'est bon pour le loisir, pas pour gagner sa vie. Je fais ça de mon WE.

  9. #9
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Par défaut
    @Mouke :

    Dans le genre, j'ai un autre exemple... il y a bien des années, voyant une offre de job d'une agence web, premier réflexe, j'vais voir leur site.

    À peine arrivé sur la page d'accueil, je tombe sur une alerte, m'indiquant que l'utilisateur d'un plugin jQuery n'en avait pas payé la licence d'exploitation.

    Si le développeur avait, au moins, parcouru le code source, il aurait certainement vu ce petit "détail" qui faisait super pro.

    Mais, le pire, c'est que ce code aurait très bien pu envoyer des données sensibles des visiteurs vers n'importe quel serveur... avec +/- le même code que pour faire cette validation de licence.

    Sans changer d'attitude ou à moins de ne coder que pour toi, tu ne peux donc compter que sur la chance de ne jamais te manger un procès (voire même des procès en cascade) pour grave manquement d'analyse, suite à un vol de données client, l'infection de son système, etc..

  10. #10
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut
    Je suis totalement d'accore avec lui,par exemple les débutant JavaScript, qui commence directement faire du Jquery sans même aprendre les base du JS

  11. #11
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Qu'est-ce qui nous prouve que des bibliothèques "maison" seront plus stables et optimisées que certaines bibliothèques sur le marché ou open-source ?
    Rien du tout, c'est même probablement certains que les bibliothèques "maison" ne seront de moins bonne qualité. Et c'est à mon avis contre-productif de vouloir réinventer la roue.

    Néanmoins savoir qualifier la qualité des bibliothèques, et comprendre son fonctionnement si besoin, est quand même une qualité importante.

  12. #12
    Candidat au Club
    Homme Profil pro
    Docotorant génie biomédical
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Docotorant génie biomédical
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Par défaut Embarqué
    Bonjour,

    Je suis plutôt d'accord avec ce constat concernant les logiciels d'un point de vue général. Mais concernant l'embarqué cela peut poser des problèmes. En effet les couches d'abstraction hautes existantes (comme Arduino, ST embeded et autres) permettent de développer rapidement et relativement facilement des systèmes complexes et puissants, prenant en charge par exemple de l'écriture sur système de fichier FAT ce qui serai très difficile à faire en bas niveau. Cependant cela peut également aussi entraîner des problèmes, notamment dans la gestion des interruptions ou autres, et réduire la maîtrise du système dans le cas d'un système de mesure très rapide par exemple. Dans un tel cas il est donc nécessaire de revenir à une programmation plus bas niveau et il ne semble pas trop exister de "juste milieu". Qu'en pensez-vous ?

  13. #13
    Membre éclairé Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Par défaut
    Perso, j'ai le gros avantage de coder seul et je ne bosse pas dans une SSII non plus.

    Je fais principalement du C#, du VB .Net (que sur l'existant car j'essaie de m'en passer) et un peu de HTML/CSS (pour le site de la boite, un grand classique...).

    Il y a quelques années, je faisais souvent du "tout maison" sous prétexte de connaître chaque ligne de code, mais c'est un bouffe temps!! Maintenant, je pioche le plus possible dans le Framework .Net de Microsoft qui est plus qu'éprouvé...
    Et aussi dans les librairies spécifiques des fabricants quand elles existent.

    Je suis complètement d'accord sur l'aspect maîtrise du code, mais il ne faut pas ré-inventer la roue en permanence!
    De plus, je ne me prétends pas du tout être un génie du code, juste un coder avec expérience, du coup, il n'y a vraiment aucune raison que mes algos soient mieux que ceux du Framework, alors pourquoi s'en priver...

    Dans ma jeunesse, j'ai fais un peu d'assembleur, de C, c'était sympa et instructif mais beaucoup trop long pour faire le moindre truc!

  14. #14
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 466
    Billets dans le blog
    3
    Par défaut
    Luckyluke34 a posté avant moi, mais ça m'empêchera pas de faire mon speech. {^_^}

    Autant le titre de la news, je le trouve inapproprié et c'est pour ça que je comptais répondre, autant le contenu de la news, qui ne semble que reprendre les termes d'un autre, ne me donnent pas du tout le ressenti du titre et est beaucoup plus neutre et en accord avec mon expérience : l'ingénierie n'est pas de la technique, un ingénieur n'est pas un technicien. Le technicien programme les blocs, l'ingénieur assemble les blocs selon une certaine méthode, le chercheur design les méthodes. Ce sont trois jobs complémentaires, certains ayant des capacités dans plus d'un job. Gerry Sussman semble se concentrer sur les deux premiers, et exprime visiblement que, désormais, on a atteint un niveau où il n'est plus nécessaire d'avoir des compétences de technicien pour avoir un niveau raisonnable d'ingénierie (Golgotha, je pense que ce que tu critiques est précisément ce biais introduit par la news, et non dans les termes de l'auteur original). Les besoins se sont bien séparé, et de mon point de vue ça permet d'avoir des métiers clairs qui ne se marchent pas dessus. Un ingénieur n'est pas nécessairement un expert programmeur, et n'a pas besoin de l'être. Et ça c'est un avantage.

    Or le titre tourne complètement à l'envers le message : un ingénieur n'est pas un "vrai" programmeur, il se "contente" d'assembler. Style un ingénieur est un parasite qui ne dit pas son nom, et qu'un "vrai" programmeur est mieux qu'un ingénieur. La question finale reprend d'ailleurs bien ce biais (qu'on retrouve néanmoins dans l'article d'origine) : non la programmation ne se résume pas à l'assemblage de bibliothèques, mais c'est la composante première d'un job d'ingénierie. Si le programmeur doit maîtriser son langage pour savoir faire un ensemble de tâches simples, l'ingénieur doit maîtriser un ensemble d'outils différents pour effectuer des tâches complexes. L'un n'empêche pas l'autre, mais ne le nécessite pas non plus. Et cette dichotomie est appréciable car on favorise la coopération (par la complémentarité) plutôt que la compétition.

    Quand FoinFoin parle de la tristesse de ne faire qu'assembler du code ensemble, c'est une logique de programmeur, pas d'ingénieur : le fait de ne pas maîtriser l'ensemble du code n'est pas un problème en soit. Ça rassure certains mais ça n'a rien de nécessaire. Est-ce qu'on a besoin de maîtriser sur le bout des doigts la chimie pour faire un bon cuisinier ? Si au final, ce qu'on fait ne marche pas, soit on creuse pour augmenter sa maîtrise de l'ingrédient, soit on en utilise un autre plus adapté. Ici c'est pareil, soit on prend une logique de programmeur (on creuse le code pour le maîtriser et le faire évoluer) soit on prend une logique d'ingénieur (on enrichi son ensemble d'outils). Les deux solutions sont possibles, il n'y en a pas une de mieux que l'autre. Mais pour comprendre ça il faut bien comprendre les deux approches et les avantages/limitations de chacune. Notamment, le programmeur passe du temps à programmer, l'ingénieur à faire de la veille techno. Le programmeur maîtrise donc mieux ses pièces, mais l'ingénieur en connaît davantage. Le programmeur optimise mieux, l'ingénieur résout plus rapidement les nouveaux problèmes. On ne peut pas devenir super bon dans les deux à la fois, car comme Saverok le souligne, ça demande du temps, et du temps on n'en a pas à foison pour découvrir dans les moindres détails tous les outils existants (ou ne serait-ce que les plus utilisés).

    Pour ma part je suis à la fois programmeur (je programme beaucoup from scratch), ingénieur (c'est ma formation initiale) et chercheur (c'est ma formation actuelle), et donc pour moi la différence est claire : il n'y a pas de hiérarchie, on peut être l'un sans être l'autre, mais comme tout si on en combine plusieurs c'est un avantage car on couvre plus large. Néanmoins, ma manière de faire est avant tout celle d'un programmeur : je préfère maîtriser mes quelques outils plutôt que d'avoir une grosse liste d'outils.

    Citation Envoyé par Mat.M Voir le message
    je ne sais pas si ce Gerry Susmann a raison mais justement la capacité d'être dans l'abstraction c'est ce qui manque atrocement dans les projets informatiques notamment ceux sur lesquels j'ai pu travailler.
    C'est toujours ce que j'ai voulu expliquer sur ce forum ,programmer c'est bien mais il faut construire toute l'étape en amont d'un projet qui consiste à conceptualiser sur le dit projet et à dégager les couches métiers dans une couche abstraite.
    Ce dont tu parles est de la modélisation conceptuelle, et non de l'abstraction au sens du billet d'origine, à savoir l'abstraction telle que conçue dans les langages de programmation pour les langages de programmation. Ce n'est pas parce que tu maîtrises l'abstraction en Java par exemple que tu est capable de designer un projet avec les concepts adaptés (j'ai pu le constater sur certains projets, où l'abstraction est utilisée correctement mais avec une conceptualisation très sommaire). L'abstraction dont on parle ici est un moyen technique, et non la compétence générale dont tu parles.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  15. #15
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Par défaut
    Citation Envoyé par Victor Vincent Voir le message
    Gerry Sussman explique que les ingénieurs modernes ne sont pas de « vrais » programmeurs,
    Il n'a jamais dit ça. Les propos sont complètement déformés et surinterprétés. Même si on sent une pointe de nostalgie chez lui, il ne porte aucun jugement de valeur sur les ingénieurs actuels, il constate juste que le job est devenu différent.

    C'est quoi ces titres clickbaits qui créent des trolls là où il n'y en a pas ?

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 64
    Par défaut
    bonjour,

    Personnellement, je pense que le développement a toujours été "l'assemblage de bibliothèques" mais à une échelle différentes.

    Dans les années 80, les bibliothèques étaient : "addition", "soustraction", etc... (j’exagère un peu )

    Maintenant les bibliothèques c'est "envoyer un email", "ouvrir une nouvelle", mais aussi "afficher la position de l'utilisateur" etc...

    d'ailleurs 90% des développements moderne c'est le développement de bibliothèque (API, web services, dll etc....).

    De manière générale (à part pour les développeurs assembleurs), on peut considérer que le développement a toujours été l'assemblage de bibliothèque. (encore plus vrai avec les langages plus ou moins objets).

    Mais il est clair que re développer le comportement du pointeur de la souris sur l'ecran, ou l'ouverture d'une fenêtre à l’écran, n'a vraiment aucun intérêt.

    Après ce qui rends le développement moins "gymnastique intellectuelle", c'est le fait qu'aujourd'hui le code est beaucoup plus modulaire et découpe par fonctionnalité.

    Avant on pouvais avoir une méthode qui en fonction d'un input faisait plusieurs traitement/calcul, écrire sur des fichiers/DB pour ensuite afficher le resultat à l'utilisateur.

    aujourd'hui cette méthode à tendance à être découpé en 4/5 modules, ce qui fait que chaque partie devient plus légère et ce concentre sur 1 seule fonctionnalitée...

  17. #17
    Membre très actif
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Par défaut Tout ne peut se résumer à l'assemblage de librairies
    Je pense qu'en génie informatique tout ne peut se résumer à l'assemblage de librairies.
    Le paradoxe est que pour developper une librairie de qualité, on doit maîtriser les couches de bas niveau.
    C'est dommage que pour le cas du Web, beaucoup pensent être développeurs pour peu qu'ils sachent installer wordpress.

  18. #18
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Par défaut
    Voilà un sujet sur lequel je ne puis m'empêcher d'intervenir... ^^'

    Fort de mes nombreuses années à aider du monde, notamment ici, je remarque de plus en plus qu'ingénieur ou non, les gens n'apprennent plus à maîtriser un langage, ni même une logique algorithmique.

    Bien souvent, en effet, ils utilisent des bibliothèques sans même savoir si c'est le plus approprié, si cela est justifié (je ne compte plus le nombre de fois où j'ai lu des aidants suggérer à des débutants d'utiliser jQuery pour faire une bête requête AJAX).

    En surcouche, la plupart ne lisent pas les documentations et, encore moins, les spécifications... fonctionnant majoritairement au try... catch et venant, ensuite, demander de l'aide, "paskesamarchpas".

    Le développeur from scratch n'existe presque plus... pourtant, souvent, le code fait-maison (s'il est bien fait) sera plus performant qu'une lib' cherchant généralement à s'adapter à un maximum de besoins, souvent très loin des nôtres, dégradant soit les perfs, soit la qualité produite, soit les deux. Suffit de voir la qualité sémantique des pages produites par les principaux frameworks web, à moins de tout surclasser.

    Mais je pense qu'il est intéressant de soulever un autre aspect énoncé dans cet article: le fait qu'on s'intéresse de moins en moins à la façon dont les outils qu'on intègre partout fonctionnent.

    On ne cherche plus à avoir confiance en un outil, on l'utilise parce qu'il nous fait gagner du temps et on cherche pas plus loin, "pas le temps"...

    Et c'est ainsi qu'on se retrouve avec des serveurs infectés, des applications qui nous surveillent (ou surveillent les clients de l'entreprise dans laquelle on bosse), qui volent des données, qui embarquent des ransomwares, etc.

    Dernier exemple en date que j'ai pu constater : Intel XDK qui embarquait un trojan, par le biais d'un module externe embarqué (sur une version d'il y a quelques mois).

    À bon entendeur.

  19. #19
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Billets dans le blog
    9
    Par défaut
    C'est un peu l'objectif d'un informaticien ans une entreprise: Fournir un logiciel qui réponds à un besoin rapidement.
    On as tous (ou presque) la volonté de vouloir faire un logiciel parfait, mais voila un projet limité dans le temps et financièrement. J'ai pas honte de le dire, moi même j'ai du m'y mettre au développement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     try:
       #mon instruction
    catch:
       pass
    Et encire pour aller plus vite j'ai du abandonner les langages bas niveau, pour me consacrer uniquement à du très haut niveau (même java c'est trop long), je code en python uniquement, sa me permet de faire un code rapidement et multi-plateforme.

    Le c++ c'est bien, mais c'est trop long pour codé le moindre truc.

    Et encore une chose, on vit dans un monde qui évolue a chauqe minute, il n'est pas rare de ma boite me demande rajouter une fonctionnalité qui n'étais absolument pas prévue au départ, il faut donc faire du code flexible, utiliser des bibliothèques qui fournisse un besoin très large et donc indispensable.

  20. #20
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Par défaut
    Citation Envoyé par sazearte Voir le message
    ... il n'est pas rare de ma boite me demande rajouter une fonctionnalité qui n'étais absolument pas prévue au départ
    C'est marrant que tu soulèves ce point, car c'est souvent là que les problèmes arrivent...

    Lors d'une demande d'ajout d'une new fonctionnalité, soit t'as du bol et la lib' que t'as choisi gère justement ce cas, soit elle le gère mais dans une autre version, pouvant impliquer un gros refactoring, soit elle gère pas du tout, impliquant aussi un refactoring encore plus conséquent, soit tu fais du bricolage, soit t'essaies de faire les choses bien et, là, t'as besoin d'un dev à l'aise avec du from scratch.

    Assez étrangement, c'est plus souvent la solution bricolage qui est choisie

Discussions similaires

  1. Réponses: 15
    Dernier message: 29/09/2015, 21h52
  2. Tester que les champs du formulaire sont vides
    Par laurentSc dans le forum Langage
    Réponses: 8
    Dernier message: 23/12/2013, 17h38
  3. Réponses: 2
    Dernier message: 07/03/2012, 17h53
  4. Réponses: 22
    Dernier message: 03/03/2009, 16h47
  5. Réponses: 4
    Dernier message: 23/05/2007, 09h51

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