[MODE TROLL] Le débat sur la génération Y, c'est ici[/MODE TROLL]
[MODE TROLL] Le débat sur la génération Y, c'est ici[/MODE TROLL]
Je n'est pas lu toutes les réactions mais elles m'ont l'air assez unanimes.
Je suis d'accord avec vous (j'ai plussé les premier messages) : Les langages de très haut niveau existent et montrent régulièrement leurs limites.
Cependant, je partage entièrement l'idée que l'apprentissage de la programmation est et sera de plus en plus nécessaire à TOUS !
La grande littérature n'est produite que par de grands écrivains, il en sera toujours de même pour le code. Cela ne nous empêche pourtant pas d'apprendre à nos bambins la lecture et l'écriture et il devrait selon moi en être de même pour la programmation.
Bien entendu, apprendre à lire et écrire correctement nécessite du temps et de la pratique.
Sans s'en rendre compte, les non-développeurs (ces gens étranges) programment beaucoup de choses à travers différents logiciels et langages simples.
On commence déjà l'enseignement du HTML, d'Excel etc.. à un grand nombre d'étudiant (dans de très diverses filières), c'est un début.
Ce journaliste s'est donc fourvoyé mais pour de bonnes raisons.
N'avez-vous jamais décelé cette petite étincelle de jalousie dans le regard d'un de vos proches ?
Peut-être n'est-il pas sain que les développeurs soient si peu compris du commun des mortels...
Les écrivains eux sont compris de tous.
Il est clair que ce monsieur à essayer la programmation comme il pratique le journalisme, c'est-à-dire, mal. En effet, il soulève un problème de fond, mais n'en parle pas, donc il a mal fait son boulot de journalisme en ne traitant son sujet que partiellement.
Le problème n'est pas dans la complexité des langages, d'ailleurs ces langages évolueront encore, preuve en est des nombreux langages existants. Cette quantité de langage montre bien qu'ils sont tous perfectibles et qu'une évolution ou amélioration arrivera un jour.
Le problème de fond est dans l'importance de l'outil informatique et l'incompétence générale des personnes non informaticiennes concernant cet outil. Imaginons un instant une société dans laquelle tout le monde sait lire, mais quasiment personne ne sait écrire! L'informatique et plus particulièrement le développement sont dans cette situation.
Comme en plus dans notre société actuelle, seul le profit compte, et que au nom du profit il vaut mieux dénigrer les compétences afin de pouvoir augmenter la pression sur les salaires plutôt que de les reconnaitre et donc de les payer. On voit bien que tout çà marche sur la tête.
Il ne faut pas modifier les outils des spécialistes du domaine pour les rendre accessibles aux non spécialistes, ce serait la pire des conneries à faire.
Il faut faire des outils pour les non spécialistes afin qu'il puissent écrire eux-mêmes. En se faisant, ils découvriront la complexité et la richesse de nos métiers; automatiquement, ils comprendront mieux nos métiers et auront beaucoup plus de facilité à faire appel aux corps de métiers adéquates lorsque le sujet les dépassent. De plus, cela rendra la dénigration de nos compétences plus difficiles et améliorera certainement nos situations professionnelles.
Un journaliste découvre que la programmation est un métier, c'est assez drôle. Si on transpose dans un autre domaine, ça devient plus clair :
Personnellement, je trouve que le pilotage des avions est beaucoup trop compliqué. Ça devrait être accessible à chacun. La preuve : j'ai essayé de me mettre aux commandes d'un Concorde et d'apprendre à piloter par moi-même, et franchement, c'est beaucoup trop difficile ! Non, je ne vais pas commencer par un petit Cessna monomoteur, je suis au-dessus de ça !
Le problème, c'est que le but de la programmation est effectivement de faire des choses complexes, donc pour les rendre simples à faire, il faut qu'on ajoute des couches supplémentaires qui permettent de cacher cette complexité, aux dépends de la puissance de ce qu'on peut faire ou des performances et souvent des deux.
Et là, on me dira ce qu'on voudra, mais le langage C n'est pas du tout un langage adapté pour ça. Le C, c'est un langage dont le but est de pouvoir programmer en restant assez proche du fonctionnement de la machine (pointeurs, allocation dynamique...).
Si l'auteur de l'article cherche des langages plus simples à mettre en oeuvre, d'autres choix s'offrent à lui, comme Python, Ruby ou même Visual Basic.
Quand il prend l'exemple du C ou d'Objective C, en fait, il ne dit pas que les langages de programmation sont trop complexes, puisque les exemples qu'il a pris sont loin d'être les plus simples, mais qu'il voudrait qu'il n'y ait pas de langage complexe du tout. Genre : "je trouve anormal que des gens utilisent des langages que je ne suis pas capable de comprendre". Et là, personnellement, je dis : pas d'accord. Les langages de programmation simples à maitriser ne sont ni suffisamment performants ni assez puissants pour certaines tâches hors de portée du dilettante.
Donc : qu'il essaye les langages conçus pour être compréhensibles par les amateurs au lieu de se plaindre des langages conçus pour les ingénieurs et pour des tâches d'ingénierie, et on en reparle après !
Si tu regardes le fonctionnement au niveau le plus bas des ordinateurs, ce qu'on cherche à faire avec un programme informatique moderne, comme un jeu en 3D, un SGBD ou un traitement de texte SaaS genre Google Docs, est très loin d'être simple. Ce sont de petits bijoux d'ingénierie. D'ingénierie ! Ce que ce type dit, ça revient à dénigrer ce travail et même à dire : "tout ça, c'est bien beau, mais moi j'aimerais bien que vous preniez pour vous la complexité et que moi, je puisse faire la même chose sans rien comprendre à cette complexité !" Et personnellement, je répondrais : facile à dire, gros malin !
Comme d'autres gens l'ont dit, les paradigmes de programmation ont déjà bien évolués, et ce n'est pas fini, mais je ne vois pas au nom de quoi des non-informaticiens auraient le droit d'émettre la moindre exigence dans ce domaine !
Le petit Robert... Robert C. Martin est quand même un peu plus qu'un simple mec qui avance des idées comme cela à la va-vite.
Je conseil la lecture de son livre "The Clean Coder", qui est devenu une référence pour pas mal de monde depuis sa sortie.
Un peu de respect quand même
Aujourd'hui, piloter un airbus est probablement plus simple que de terminer Ace Combat 4...
C'est Oncle Bob (diantre, même google donne en premier des pages qui lui sont consacrées avec ces deux maigres mots).
Nous lui devons pas mal d'articles sur les concepts clés de l'OO. Tu les trouveras sur Object-Mentor.
Simple ? C'est sûr que non. C'est un métier qui a ses expertises comme vous l'avez tous signalé. La première est certainement de clarifier nos idées pour résoudre des problèmes qui sont en fait tout sauf triviaux. Quelque part réussir à berner les masses pour qu'elles croient que c'est simple est un succès des désigner de "nos" produits.
Inaccessible ? Ehhhh. Je ne sais pas. Il n'est pas impossible qu'il y ait une question de mentor et d’énergie investie. C'est pas un sachet à mettre 2 minutes au micro-onde. Bref, cela me fait penser à cette expérience que j'aime beaucoup ressortir : http://www.kton.demon.co.uk/youcan.htm (cf aussi le about me sur le même site). Plus le fait que sa pomme fétiche le tire vers des langages qui ne sont pas des langages de glu, et qui ont une tradition d'enseignement bottum-up (comme il s'en plaint). Ca n'aide pas.
Après avoir lu cet article, j'ai l'impression qu'un "problème" vient d'être soulevé.
Je ne suis dans le développement que depuis quelques années et lorsque j'ai débuté, j'étais étonné du nombre de langage qu'il existe.
Entre le langage WEB (ASP, PHP,...) et la programmation pure (C,C++,PYTHON,...), on ne sais pas vers où se tourner.
Sans vouloir re-citer l'article (lui il veut un langage plus facile), je pense que la création d'un langage universel serait peut-être une avancée en matière de compatibilité et de communication.
Certains me répondront que le langage universel est le langage C.
Je dis peut-être une con...rie
C'est plutôt simple à comprendre: quand t'as faim et qu'il fait nuit (du genre à minuit), tu vas pas toujours trouver un grand resto avec un grand cuisinier, non? Quand t'as mal à la tête, il te faut pas toujours aller chez le docteur. Et des exemples y en a plein. Par contre, quand t'as envie d'un petit timer dans ton iPhone, pourquoi tu serais toujours obligé d'acheter auprès des développeurs professionnels?
Mais même malgré tout, il y a quand même des techno qui sont beaucoup plus accessible aux non-développeurs: Windev et Access notamment.
Un langage universel ? Dans quel sens ?
On peut tout faire avec C, sauf peut-être booter un PC. Par contre, ce "tout" n'est pas à la portée de tout le monde, loin de là : pour un débutant, entendre parler de pointeur, soit il est masochiste et il y prend goût, soit il est plus dans la norme et va voir ailleurs.
À côté, il y a des langages qui sont beaucoup plus spécifiques, beaucoup plus appropriés à certaines utilisations, comme MATLAB ou Mathematica, qui sont universels dans leur domaine (dans le sens où ils peuvent absolument tout faire et relativement simplement, vu qu'énormément de primitives sont intégrées au langage).
Mais universel peut aussi vouloir dire qu'il veut tout faire, remplacer tous les autres : non, le C n'est pas universel dans ce sens, notamment parce qu'il n'a pas d'approche vraiment orientée objet et que c'est énormément utilisé aujourd'hui. Il reste très compliqué de l'utiliser correctement, alors qu'il est beaucoup plus facile d'écrire un bon programme en Python.
Il n'y a pas de langage vraiment universel. Sauf si on veut garder le métier totalement élitiste, en faisant en sorte que tout soit bien réfléchi autant que nécessaire pour s'assurer qu'il n'y ait pas de bogue... Ça ne serait pas plus mal, mais on n'aurait sûrement pas des outils qui évoluent plus rapidement, il faut pouvoir à un moment s'extraire de la réalité de la machine (le C) pour aller plus vite vers un résultat (le Python, par exemple).
Dernièrement, on peut voir le C comme un langage universel, vu que, sans lui, il n'existerait pas grand-chose. PHP est écrit en C, on n'aurait pas le Web tel qu'on le connaît aujourd'hui ; on n'aurait pas eu UNIX, donc pas de Linux et d'autres systèmes d'exploitation (Windows est aussi écrit partiellement en C, je pense, donc pas de Windows non plus). En ce sens, le C est absolument partout. Ce n'est pas pour ça qu'il faut l'utiliser directement et explicitement partout.
Si tu as mal à la tête, tu ne vas pas essayer de faire toi-même de la neuro-chirurgie, j'imagine. Ben ce mec, il prétend faire du C pour faire un petit timer sur son iPhone.
Objective-C (j'ai pas tout pigé dans ses histoires de C et d'Objective-C. J'ai bien l'impression qu'il croit que c'est la même chose) est la seule solution à peu près pertinente pour faire des applis iPhone? Ben il voit ça avec Steve et sa politique de fermeture...
Il faudrait écrire un article aussi sur la difficulté de réparer sa voiture ! Malgré le manuel et les documentations sur Internet (par exemple), il est toujours difficile de réparer son moteur qui vient de lâcher...
Non franchement... on s'entête à faire 5 ans d'études post-bac pour quoi ?! Si le développement est aussi difficile à apprendre c'est simplement parce que c'est difficile et non parce qu'on a pas réalisé d'outils qui le simplifient ! C'est d'autant plus vrai que le développement existe depuis tant d'années.
[Troll] Parce que c'est la politique Apple ? [/Troll]
Dans ton exemple tu dis "Si j'ai mal à la tête je prends un aspirine et je vais pas chez le docteur"
Ok. Mais qui as fabriqué l'aspirine ?
Ici c'est pareil. Tu veux un timer pour ton iphone, t'en achètes un sur le market. T'es pas obligé de le demander sur mesure à un bureau d'études.
Sinon tu prends ton courage à deux mains et t'apprends à coder comme tu apprendrais à fabriquer de l'aspirine à base d'écorce de saule.
Et puis la partie où il dit qu'en gros, les programmeurs font exprès de faire des langages complexes. Voila quoi...
C'est sérieux, comme bla-bla, ça, franchement ? Encore rien qui ne panne rien mais qui a un avis sur tout !
Ici, le point n'est pas de fabriquer l'aspirine, mais seulement de "prendre l'aspirine" au lieu de tous les autres médicaments. Le docteur n'a jamais fabriqué d'aspirine. On le paie pour la consultation et la prescription.
Je ne suis pas d'accord avec l'auteur de l'article sur certains points, par contre le développement ne doit pas seulement être une affaire des élites. De toute façon il y a plein de projets qui aillent dans ce sens.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager