En conclusion, ce n'est pas de la faute des enfants. Ils n'y sont pour rien. CQFDEnvoyé par walfrat
Les profils arrogants, transpirant l'élitisme et le culte de l’entre-soi ? C'est un peu comme les bugs, plus on les détecte tôt, moins ils coûtent.Envoyé par walfrat
+1 sur le fait que ça abordable qu'au "déjà" développeurs.
En effet, c'est pour ça qu'avant de s'aventurer dans l'apprentissage de la syntaxe d'un langage. Il primordial pour moi de commencer par l'apprentissage des patrons de conceptions et des patrons comportementaux.
Une fois acquis, la plupart des langages de programmation ne seront plus un secret pour l'apprenant. (Et permettra même de sécurisé encore plus son code)
Les résultats du Pascal sont surprenants
Voici mon humble avis:
il me semble que python peut créer comme tu dis "de la vocation", c'est un langage simple au départ, qui permet d'avoir une console bien pratique pour comprendre les premières notions. Qu'est-ce qu'une variable, un objet en mémoire...
Ensuite tu peux écrire tes premiers scripts faisant plus facilement que d'autres langages des opérations simples ou un peu plus évoluées en te concentrant sur l’algorithme et non la technique
C'est un langage très ouvert et très transparent. par exemple tu peux savoir en une commande quelles sont les attributs ou méthodes d'un objet, sa taille en mémoire, son type...
Puis tu peux découvrir la modélisation objet, puis d'autres subtilités.
C'est un langage qui comprend une bonne communauté et de ce fait de nombreux tutos en français. Une partie de la doc est disponible en français aussi.
C'est un couteau suisse qui te permet de faire des scripts, des serveurs web de manière synchrone ou asynchrone, du calcul scientifique et certainement bien d'autres choses.
Malheureusement le compilateur est lent donc tu es quand même limité si tu ne veux pas bouffer trop d'énergie.
Heureusement que Guido van Rossum a annoncé pouvoir diviser par 5 le temps d'exécution. Cela ne va pas tout faire... mais c'est déjà ça, ce n'est peut-être qu'un début ???
Alors après avoir compris ce langage tu peux te tourner vers d'autres, plus complexes à appréhender techniquement, mais plus efficaces dans l'exécution... et ta vocation peut se poursuivre.
En premier lieu, il n'y a pas de rapport entre design patterns (patrons de conception) et sécurité. Sauf si par sécurité, vous sous-entendez "un code plus maintenable/portable/interopérable" ?
Les design patterns ne sont qu'un ensemble de "bonnes pratiques" de conception (au plus, reconnues comme telles par l'industrie).
"L'apprenant" a plutôt intérêt à comprendre et pratiquer les différents paradigmes de programmation et architectures logicielles existantes.
Tu vois cela du haut de ton expérience et de ta maîtrise, mais crois-moi, le nombre de profs qui me disent qu'ils n'en peuvent plus de Python, que les gamins sont perdus et que c'est juste "une punition" pour eux.
Des langages humainement incompréhensibles pour le débutant ne devrait pas s'appeler "langage". Si on reprend le BASIC, même un débutant comprenait ce que pouvait faire un code juste en le lisant, car la syntaxe était humainement lisible.
"La révolution informatique fait gagner un temps fou aux hommes, mais ils le passent avec leur ordinateur !"
Derrière une apparente simplicité de Python, il faut une approche très pointue pour réaliser des développements professionnels de qualité.
De toute manière il faut être lucide, programmer demande de solides compétences dans de multiples domaines pointus : analyse, mathématiques, modélisation...
Arrêtons de croire qu'on peut apprendre la programmation avec 3 lignes de codes, ou bien en seulement quelques semaines.
A+
Le problème avec les profs de lycée/collège c'est qu'ils ne sont pas préparés/formés à cela.
J'ai connu une prof de maths il y a quelques années et elle était complètement déboussolée face à l'apprentissage d'un langage de prog. Quoi faire, comment faire....
J'imagine qu'il y a quand même des formations mais je ne sais pas si cela suffit.
Ensuite tu cites BASIC mais c'est un langage complètement illisible. Avec des goto avec des structures très mal définies... des numéros de ligne qu'il faut changer tout le temps si tu n'en a pas prévu assez...
Non ce qui manque à python c'est peut-être quelque chose pour faire des interfaces graphiques facilement. En dessinant comme avec visual basic dans excel.
Le programmeur lucide choisit les bons outils, les bonnes bibliothèques et les bons paquetages pour répondre à un problème de manière adaptée et efficiente.
Et les autres, ce sont ceux réinventent la roue pour terroriser les utilisateurs et mettre le chef de projet dans l'embarras !
Soyez humble.
Vous pouvez avoir une caisse à outils pleine, si vous ne savez pas quel outil utiliser et comment l'utiliser, tout cela ne sert à rien.
Et il y a aussi de fois où vous devez fabriquer vous-même votre propre outil pour un objectif particulier.
Ce n'est pas une histoire d'humilité ici, c'est juste une évidence. Libre à vous de l'accepter ou non.
Personnellement, j'ai appris une sorte de basic ignoble tout seul sur ma calculette casio en 2nde (car en effet, les profs n'avaient jamais eu de formation, donc je n'ai pas eu une minute de cours de programmation. Au contraire, c'est le prof de math qui m'a demandé de lui apprendre...)
Il y a eu beaucoup de basic, et non, ça fait très longtemps qu'il y a des versions où il ne faut pas compter les lignes (goto à la c ; fonctions)
À mon humble avis, c'est le vrai langage (je ne compte pas les langages à composants graphiques) conçu pour des amateurs complets. C'est simple, c'est évident à comprendre et ça marche (tellement bien que visual basic 6 a été le graal des amateurs et microsoft a eu du mal à le faire mourir. Le VBA est plus que jamais là et incontesté). Je sais que c'est has been, mais pour le collège lycée comme introduction ça va...
Je ne comprends pas par contre cette remarque sur l'horreur de python. Python c'est un langage complet, faussement simple et pas toujours élégant (genre les classes où faut écrire self partout, ou les décorateurs qui ressemblent à des ajouts en plein vol, ou la portée à la python tarabiscotée). Mais à la limite, si on programme n'importe comment en python en procédural et dans un subset minimal, quasi en transpilant du basic, ça va, c'est pas beaucoup plus dur.
Bon, par contre je voudrais par être un prof de math et avoir à expliquer ça aux élèves .
Alors qu'en basic
Code : Sélectionner tout - Visualiser dans une fenêtre à part print(1-.3-.3-.3) -> 0.09999999999999998
Code : Sélectionner tout - Visualiser dans une fenêtre à part Print 1-.3-.3-.3 -> 0.1Je suis assez d'accord. Tkinter est très bien fait mais dessiner est encore plus simple... (il y a quelques projets pour faire ça , mais pas standards et certains ont une interface affreuse)ce qui manque à python c'est peut-être quelque chose pour faire des interfaces graphiques facilement. En dessinant comme avec visual basic dans excel.
Pour mes scripts à l'arrache qui marchent j'utilise le module easygui. C'est sale et rapide (et procédural)
Ce que l'on ne comprend pas, nous développeurs de métier, c'est que d'autres veulent pouvoir programmer leur application sans avoir à apprendre un langage obscure et incompréhensible. Tout le monde ne veut pas devenir développeur, mais à un moment donné vouloir créer une application ponctuelle sans payer un dev en presta.
Ouvrir le monde du développement à d'autres personnes que des ingénieurs qui ont fait 3 ans d'études pour coder en Java ou C. On sera obliger d'y venir, car on manquera cruellement, d'ici 2030, de développeurs qualifiés. Et ceux qui le seront, seront hors de prix. Donc, c'est Hervé de la compta qui va programmer l'appli avec Bubble.
"La révolution informatique fait gagner un temps fou aux hommes, mais ils le passent avec leur ordinateur !"
Je suis très très très septique quand au sérieux de cette étude, en y voyant que selon eux, java est moins énergivore que le langage Pascal !
Je note également les bons résultats du Pascal.
Ça me fait penser à ce projet GitHub (https://github.com/edin/raytracer) qui montre les performances d'un certain nombre de langages sur la génération d'une image en ray tracing. Delphi s'en sort pas mal même si c'est une ancienne version du compilateur qui a été utilisée (datant de 2014).
Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
En discutant chaque jour avec des communautés de développeurs professionnels, je me rends compte à quel point un niche d'élitistes souhaitent que les choses restent complexes. Beaucoup n'ont aucune envie de faire simple, et protègent précieusement les langages actuels. Ceux sont des conservateurs.
Ils ne croient pas à la démocratisation des langages et à leur ouverture à la simplicité. Pour beaucoup, la programmation est avant tout un long processus d'apprentissage sur plusieurs années, en travaillant avec des technologies compliquées. Il ne peut en être autrement. Et si l'apprentissage peut se faire dans la souffrance, les cicatrices donneront la légitimité d'être nommé "développeur".
A vouloir se mettre des oeillères, ils seront les premiers à disparaitre, ceux que les entreprises supprimeront de l'équation car devenu "inutiles".
"La révolution informatique fait gagner un temps fou aux hommes, mais ils le passent avec leur ordinateur !"
Je comprends pas, tu semble dire que Rust est complexe, mais Rust n'est pas particulierement complexe. Tu n'as pas de notion de method/class virtuelle, de surcharge, simplement le concept de trait qui permet le dispatch dynamique ET statique. En comparaison, le C++ par exemple propose la virtuallite (qui necessite un paquet de notion a comprendre pour etre correctement utilise), et encore tu n'obtient que le dispatche dynamique, tu peux toujours t'amuser avec les template pour du dispatch statique mais en generale la plupart des gens font comme si ca n'existait pas tellement c'est complique a mettre en place. Et tout ces trucs du C++ peuvent en plus facilement être mal utilise.
Si par simplicite tu entends "permettre a n'importe qui d'ecrire des programmes", j'ai rien contre, mais a un moment, les choses deviennent complexe parce que rien n'est simple concretement. Un programme tres simple sur le papier qui le sera effectivement a sa naissance peut devenir extrêmement complique une fois qu'on fait des optimisation, et on n'optimise JAMAIS si on n'en a pas besoin (dans le monde du travail du moins).
Oui programmer peut necessiter de l'experience, c'est un vrai metier qui en plus de demander de la logique, demande aussi d’être créatif, d'etre capable de composer avec l'existant. Pour moi programmer est assez proche de metier comme la serrurerie, l'horlogerie, ou meme la menuiserie, et il me semble que le compagnonnage serait un excellent moyen de devenir un "bon" programmeur. Tout le monde peut prendre 3 planches en bois et les clouer pour faire une table, n'empeche que si tu danse dessus ca n'ira pas. Pour savoir faire une table qui tient quand tu dansera dessus, tu faudra un peu plus d'experience.
Savoir torcher un programme qui va faire ce qu'il faut sans reflechir plus loin ca peut marcher, mais ça peut éventuellement te coûter une somme exorbitante dans le future. Ça peut même simplement ne plus fonctionner du tout passe une certaine charge, et il faut alors repartir de zéro sur une nouvelle solution.
Après, j'ai compris tout ça qu'avec beaucoup de temps, ça n'est pas apparue comme une évidence quand j'ai commencé a coder (en meme temps j'etais gamin, je savais même pas que c’était un métier de programmer ).
Il m'a fallu des années de programmation dans un cadre professionnel pour vraiment commencer a prendre conscience de ça.
Je vois des posts qui disent "un programmeur choisit les bons outils, les bonnes bibliothèque". Je dirais, le programmeur qui bosse tout seul peut se permettre de choisir les bon outils, celui qui bosse sur un projet qui contient plus de 2 millions de lignes de code (et qui fonctionne bien sur avec d'autres projets au moins aussi gros), ben lui il doit faire avec ce qu'il a, et c'est rarement le bon truc pour regler son probleme mais il doit faire avec parce que c'est ce dont il dispose. Et c'est pas parce que tu choisis les "bon" outils que tu les utiliseras correctement..
Je fais du Rust en perso de temps en temps (en ce moment je suis en train d'écrire une librairie qui permet de décoder des fichiers guitar pro) et malgré la difficulté du langage (borrowed ou non, field has moved, manque encore de documentation et d'exemples), je suis content de réaliser des programmes stables, rapides et "verts"
En pro, je fais du Python et c'est rapide de développer et les performances sont correctes vu la charge.
Cependant, je sens que l'avenir se tourne vers des langages plus sécurisés (Go, Rust) mais il faudra au moins une dizaines d'années pour s'éloigner franchement de JAVA, C et C++. Et de toute façon, l'existant ne sera pas remplacé du jour au lendemain.
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