Apprendre le python - Python - Programmation
Marsh Posté le 18-01-2020 à 11:00:55
Orell1 a écrit : Salut, |
La difficulté des cours c’est comme tu l’as souligné que souvent on n’a pas de cas concret d’app à coder et du coup, tout ce que tu apprends est un peu “artificiel”, “déconnecté de la réalité”.
C’est pareil quand tu apprends une langue étrangère. Vivre dans le pays donne tout de suite un sens à l’apprentissage d’une langue. Par contre, apprendre une langue avec une méthode tout en restant dans son Périgord natal et sans jamais voir le début de la gueule d’une personne qui pratique la langue en question a bcp moins de sens et demande une motivation bcp bcp plus grande.
Donc, l’idée derrière tout cela, c’est que tu dois te donner des petits buts pour coder concrètement des applications, même si celles-ci existent déjà (tout ou presque existe déjà de toutes manières)
Exemple : code une calculatrice en mode texte, puis ensuite avec une GUI.
Marsh Posté le 18-01-2020 à 17:28:56
Hermes le Messager a écrit : |
Merci beaucoup pour ta réponse !
Et donc toi, pour apprendre, tu as créé différents projets et tu cherchais des réponses sur internet quand tu avais des erreurs ou des incompréhensions ? Tu ne peux pas me conseiller un cours bien complet sur lequel je peux quand même me référer ?
Marsh Posté le 18-01-2020 à 17:39:17
Orell1 a écrit : |
Moi j’ai appris le basic sur un TO9 de Thomson en 1985 (Enfin dans ces eux là) avec un seul manuel, celui fourni avec la machine. Ensuite, vu que plein de choses étaient impossibles à faire en basic, j’ai acheté un assembleur et un bouquin pour savoir programmer le 6809E.
Tout cela sans internet bien sûr, ni personne autour de moi pour m’aider ou me conseiller. Les profs de math du collège ne connaissait absolument rien dans ce domaine.
Mais sinon, que ce soit à cette époque ou maintenant, le mieux est effectivement de créer différents projets et/ou challenges.
Marsh Posté le 18-01-2020 à 18:23:41
Hermes le Messager a écrit : |
Ah bravo à toi ! J'avais programmé un peu comme toi quelques petites choses en casio sur ma calculatrice graphique au lycée et donc je voulais passer au lvl supérieur ^^ !
Merci beaucoup pour tes conseils !
Marsh Posté le 19-01-2020 à 14:19:31
Pour bien apprendre à programmer il faut avoir des idées de projets à programmer, par exemple commencer par programmer de petits jeux 2D (en otion avec Pygame).
Voir ici pour les meilleurs cours Python. Le mieux c'est de commencer par suivre ce vrai livre très complet et très bien fait mais accessible gratuitement : Apprendre à programmer avec Python 3 Gérard Swinnen
Marsh Posté le 29-01-2020 à 17:12:52
Orell1 a écrit : Salut, |
Sinon tu as des trainings et challenges sur le net :
https://www.codecademy.com/courses/ [...] hon-syntax
https://www.datacamp.com
https://edabit.com/challenges/python3
Marsh Posté le 31-01-2020 à 08:07:57
+1 pour apprendre un langage en codant des petites applis concrètes. Si tu arrives à trouver des idées d'applis qui répondraient à de vrais besoins que tu as, c'est encore mieux car ça va te motiver d'autant plus à réussir à terminer ce type d'appli. Par contre, il faut que le niveau de difficulté de ces applis soit compatible avec ton niveau dans le langage, sinon, tu vas trop galérer et lâcher l'affaire. Il faut aussi que ces applis soient compatibles avec ton niveau de connaissance général (en maths...).
Du genre, vas pas te lancer dans une IA à base de réseaux de neurones si tu débutes en Python (ou en Ada ) et que t'as jamais fait de réseaux de neurones avant et que ton niveau de connaissance en IA est proche de 0
Edit : après, à chaque difficulté que tu vas rencontrer, tu vas chercher sur le web une solution, éventuellement demander de l'aide ici (après avoir cherché par toi-même)... On est tous passé par là et ça nous arrive encore, même après 10-15 ans d'expé
Les plus âgés d'entre nous ont effectivement commencé sur des machines très rudimentaires, à une époque sans internet, avec peu de livres (et pas donnés!) et peu de monde autour de nous pour nous aider. Fallait être motivé !
Marsh Posté le 01-02-2020 à 09:06:28
rufo a écrit : |
Je me demande bien ce que vous voulez dire !
Marsh Posté le 07-02-2020 à 15:25:21
rufo a écrit : +1 pour apprendre un langage en codant des petites applis concrètes. Si tu arrives à trouver des idées d'applis qui répondraient à de vrais besoins que tu as, c'est encore mieux car ça va te motiver d'autant plus à réussir à terminer ce type d'appli. Par contre, il faut que le niveau de difficulté de ces applis soit compatible avec ton niveau dans le langage, sinon, tu vas trop galérer et lâcher l'affaire. Il faut aussi que ces applis soient compatibles avec ton niveau de connaissance général (en maths...). Du genre, vas pas te lancer dans une IA à base de réseaux de neurones si tu débutes en Python (ou en Ada ) et que t'as jamais fait de réseaux de neurones avant et que ton niveau de connaissance en IA est proche de 0 Edit : après, à chaque difficulté que tu vas rencontrer, tu vas chercher sur le web une solution, éventuellement demander de l'aide ici (après avoir cherché par toi-même)... On est tous passé par là et ça nous arrive encore, même après 10-15 ans d'expé |
Jovalise, sors de ce corps !
Marsh Posté le 10-02-2020 à 13:56:27
rufo a écrit : Du genre, vas pas te lancer dans une IA à base de réseaux de neurones si tu débutes en Python (ou en Ada ) et que t'as jamais fait de réseaux de neurones avant et que ton niveau de connaissance en IA est proche de 0 |
tu penses à quelqu'un en particulier ?
Marsh Posté le 10-02-2020 à 14:11:08
Meuh noooon. Vous avez l'esprit mal tourné...
Marsh Posté le 10-02-2020 à 20:25:01
Citation : Like COBOL, Ada is a mostly-dead programming language that lives on in legacy systems. The language aimed to replace the hundreds of languages used by the US Department of Defence. Ada, though complex and ambitious, is still used for some critical systems, alongside a minority of projects or functions. |
En gros c’est pas loin d’être de la perte de temps. Par contre python est de plus en plus utilisé.
Marsh Posté le 11-02-2020 à 15:24:01
Hermes le Messager a écrit :
|
Oui et non, car d'ici quelques années, les applications critiques (aéronautique, par exemple) pour la sécurité seront toujours en Ada et devront être maintenues, et il n'y aura que peu de spécialistes capables (et motivés) pour s'y coller, cela va créer un marché de niche
Après, il faut aimer, je laisse volontiers la place à d'autres plus motivés.
Je n'ai pas suivi l'évolution COBOL ces dernières années, mais c'était encore pas mal utilisé sur des gros systèmes (notamment dans la banque) il y a maximum 5 ans.
Il ne faut pas minimiser l'importance et le poids acquis depuis tant d'années par le legacy.
Marsh Posté le 12-02-2020 à 13:29:10
Python est de plus en plus utilisé car il n'est pas utilisé que par les développeurs mais aussi par les scientifiques en général (et aussi les Data Scientists), Python à tendance à remplacer petit à petit le Fortran et le R, ce qui explique entre autres sa progression. Par contre parmi les développeurs Pro les langages les plus utilisés en France ça reste Java, JavaScript, C# et PHP, et après seulement Python et C++, c'est ce qu'on peu voir dans l'étude emploi.
Marsh Posté le 12-02-2020 à 15:03:19
Je suis étonné de trouver le C aussi bas (je pense au monde de l'embarqué où il est encore assez présent il me semble) et, a contrario, Delphi aussi "haut" (langage abandonné il me semble, dommage car je trouvais son IDE de Borland très bien pour coder sur Windows).
Marsh Posté le 12-02-2020 à 16:41:43
Javascript en seconde position... ce monde mérite vraiment de se faire décimer au coronavirus
Marsh Posté le 12-02-2020 à 17:07:39
rufo a écrit : Je suis étonné de trouver le C aussi bas (je pense au monde de l'embarqué où il est encore assez présent il me semble) |
Plus de 90% des développeurs sont des développeurs gestion ou web, donc pas de C. De plus le plus gros du travail en C c'est du développement système et c'est fait dans d'autres pays comme les US et donc pas tellement en France.
rufo a écrit : et, a contrario, Delphi aussi "haut" (langage abandonné il me semble, dommage car je trouvais son IDE de Borland très bien pour coder sur Windows). |
Le langage est pas abandonné, en fait le Pascal est toujours enseigné par exemple dans les Facs en Afrique ou en turquie. Quand à l'EDI Delphi lui même il existe toujours, sous la coupe de l'éditeur Embarcadéro (avant Borland / Inprise ) : annonce de la dernière version. Par contre c'est une population vieillissante, quand tu regardes les photos des présents aux séminaires Delphi on voie clairement une moyenne d'age très élevée, quand la génération actuelle sera à la retraite la le produit sera vraiment en fin de déclin.
Marsh Posté le 15-02-2020 à 20:48:05
Paul JR a écrit : |
En Afrique, on enseigne toujours ce qui est dépassé depuis un bon bout de temps et sur du matériel lui aussi totalement dépassé. C’est lié aux contraintes économiques et au fait que les systèmes sont calqués sur le système français mais en encore pire, c’est à dire la déconnexion entre le monde du travail et celui de l’enseignement, spécificité typiquement française et méditerranéenne. On retrouve le même type de logique en Italie ou en Espagne par exemple. C’est lié aussi au fait que les postes d’enseignement dans les facs sont réservées aux étudiants qui restent dans le système universitaire et qui savent lécher les bons culs. En Afrique, il faut en plus rajouter le facteur corruption.
Donc l’Afrique n’est en aucun cas un indicateur pour savoir si un langage est abandonné ou non.
Marsh Posté le 16-02-2020 à 14:22:31
La tu joue sur les mots, "abandonné" dans quel pays ? Le produit est pas "encore" abandonné vu qu'il évolue toujours et qu'il est toujours vendu, et il y a encore des développeurs en France si ton point de vue c'est de tout restreindre uniquement à un seul pays à savoir par exemple la France. La part de marché de Delphi est de 1% sur l'étude emploi en France, c'est donc marginal, mais moins marginal que Ruby, Swift ou Go qui sont encore en dessous et à moins de 1%. Donc l'expression à utiliser pour Delphi c'est pas "abandonné " mais plutôt quelque chose comme : "c'est marginal et en déclin". Par exemple VB6 c'est "abandonné", le produit n'est plus ni maintenu ni vendu
Marsh Posté le 19-02-2020 à 11:28:16
Ou est passé powershell ^^ ?, j'ai réappris à aimer coder avec ce "language" c'est dommage qu'il ne soit pas représenté dans les charts.
Marsh Posté le 19-02-2020 à 19:11:04
OniSen8 a écrit : Ou est passé powershell ^^ ?, j'ai réappris à aimer coder avec ce "language" c'est dommage qu'il ne soit pas représenté dans les charts. |
Et Prolog alors
Marsh Posté le 24-02-2020 à 11:44:11
Harkonnen a écrit : Javascript en seconde position... ce monde mérite vraiment de se faire décimer au coronavirus |
C'est clairement poussé par Node. Ça marche, et vite, donc c'est populaire.
Marsh Posté le 24-02-2020 à 17:53:02
Et le Perl (5 bien sûr ) , ça a encore un avenir ou tout le monde est passé au Python?
Marsh Posté le 25-02-2020 à 11:33:34
rat de combat a écrit : Et le Perl (5 bien sûr ) , ça a encore un avenir ou tout le monde est passé au Python? |
Invocation de Gilou ! ^^
Marsh Posté le 26-02-2020 à 00:30:20
Effectivement ça pose question : Perl est-il un langage de programmation mourant ? Le langage pourrait s'éteindre d'ici 2023 selon une étude
Ces graphiques ne sont pas très encourageants
Marsh Posté le 26-02-2020 à 07:51:27
Marrant de voir que Delphi et Perl vont disparaître avant Cobol. Un langage pour tous les enterrer
Marsh Posté le 26-02-2020 à 08:05:30
rufo a écrit : Marrant de voir que Delphi et Perl vont disparaître avant Cobol. Un langage pour tous les enterrer |
C'est un peu plus compliqué que ca pour Perl. Ils ont tellement attendu pour sortir Perl6 qu'ils ont pris le parti de complètement renommer le langage (qui reste en partie retro compatible je crois).
C'est maintenant Raku. Donc, le terme perl va essayer de jouer jeu égale avec Python ... Heureusement que Perl à un sacré atout autour du traitement de fichier/texte sinon c'était perdu d'avance
Source: https://fr.wikipedia.org/wiki/Raku_(langage)
Marsh Posté le 26-02-2020 à 09:18:40
dede_sav a écrit : |
Le problème de Perl, c'est son ni-ni. C'est bien moins souple que Python, les bibliothèques récentes et maintenues sont bien plus rares, et c'est bien moins rapide que Rust qui est pour le moment anecdotique, mais qui monte extrêmement rapidement.
Récemment au boulot, on bossait sur un parseur de documents. On a tout de suite vu la problématique. Pour traiter les documents, on a tout de suite trouvé des bibliothèques python récentes et bien maintenues. Et pour des parties qui nécessitent de la performance pure, on voit bien que C, C++ et Rust sont bien meilleurs que Perl. Du coup, il reste pas grand chose à Perl et comme c'est un langage en extrême perte de vitesse, je me vois pas demander à mes devs de l'apprendre ou même se s'en servir.
Marsh Posté le 26-04-2020 à 18:41:34
Ça vous dit de garder ce sujet ouvert qu'on discute de Python ?
Marsh Posté le 27-04-2020 à 17:26:33
In. Je n'ai aucun background en programmation, j'ai pris 2 cours sur udemy. Les cours ne sont pas très difficile, on voit les différentes fonctions au fur et a mesure mais c'est super théorique, je n'ai pas l'impression de savoir faire quoique ce soit avec tout ce que j'apprends.
Marsh Posté le 27-04-2020 à 17:33:52
Okay ça marche.
Parce que j'ai tenté de faire un topik unik Powershell et ça n'a pas vraiment pris.
Marsh Posté le 27-04-2020 à 18:00:50
Polichinol a écrit : In. Je n'ai aucun background en programmation, j'ai pris 2 cours sur udemy. Les cours ne sont pas très difficile, on voit les différentes fonctions au fur et a mesure mais c'est super théorique, je n'ai pas l'impression de savoir faire quoique ce soit avec tout ce que j'apprends. |
C'est normal. C'est comme apprendre une langue étrangère. Même si tu sais dire quelques mots, ça ne te permettra pas immédiatement de parler couramment et de tenir des conversations complexes en interagissant avec des personnes.
De plus, un langage de programmation, c'est indispensable, mais c'est surtout quelque chose qui fait le lien avec toutes sortes de technos. Ainsi, maitriser python, c'est aussi et surtout être capable d'utiliser des APIs, des bibliothèques et suivant ce que tu veux faire d'avoir des notions dans plusieurs domaines différents.
C'est pour cela que je conseille toujours de se fixer un but (raisonnable hein, inutile de viser un jeu vidéo complexe) comme une simple calculatrice en mode texte, puis en mode GUI.
Marsh Posté le 27-04-2020 à 18:10:08
Un petit projet tout simple, celui que j'ai donné à mon fils en guise de punition parce qu'il faisait de la tablette à 23h00 : conjuguer un verbe du 1er groupe au présent saisi dans un formulaire.
Il faut vérifier que qq chose a été saisi, que c'est bien, un verbe du 1er groupe et traiter les cas particuliers pour je/j' et nous (ajout d'un "e" comme pour "manger", remplacement d'un "c" par un "ç" comme pour "avancer" ).
Ca fait voir les if/else, le switch, la boucle for (les pronoms/terminaisons sont mises dans des array) et les manipulations de chaînes de caractères.
Marsh Posté le 27-04-2020 à 18:44:42
Spa simple simple si t'as jamais touché à ça.
Mais j'aime bien l'idée. Avec une interface graphique derrière pour poursuivre.
Marsh Posté le 27-04-2020 à 20:40:28
J'ai expliqué un principe très important en programmation à mon fils : d'abord, tu réfléchis à ce que tu dois faire, comment vont s'enchaîner les différentes actions. Après, tu codes.
Si ce qui est à faire n'est pas clair dans ta tête, c'est pas la peine de se lancer dans la partie code.
En effet, une fois l'algo écrit sur le papier, le programmer, c'est juste de la traduction d'une langage dans un autre comme si tu traduisais du français en anglais.
Bien entendu, après, y'a de la théorie à apprendre (différents algos leur complexité pour résoudre certains types de pbs connus, certaines notions...) mais ça, c'est si tu veux en faire ton métier.
Marsh Posté le 27-04-2020 à 21:45:14
Bien sur la méthodo est bonne. C'est la même chose en systèmes et réseaux informatiques
Marsh Posté le 28-04-2020 à 17:13:44
Il n'y a pas de miracles, si on veut apprendre/progresser dans un langage il faut le pratiquer.
Certains se motivent à trouver un truc à faire (par exemple, le conjugueur de rufo).
Perso, j'ai une tétrachiée de données éparpillées dans des excel à droite et à gauche à regrouper, pour les ingérer au fur et à mesure dans un ERP.
Et sortir d'autres données de cet ERP pour les analyser.
Ben, du coup, au lieu de faire de la macro excel comme tous les autres collègues (et sortir un enième tableur excel), j'automatise le tout en Python.
Bref, le tout est de trouver une excuse pour coder.
Marsh Posté le 28-04-2020 à 17:39:55
Mais carrément, c'est même crucial. Je sais que je lâcherai si j'ai rien à faire derrière et que je le fais juste pour faire mumuse.
Marsh Posté le 28-04-2020 à 18:10:57
C'est tellement pratique de savoir coder pour automatiser son travail quotidien. Quand je vois certains de mes collègues passer des heures à faire un tâche répétitive (avec tous les risques d'erreur et le manque total d'intérêt ) alors qu'en 1h, ils auraient pu faire un script/macro/programme pour automatiser ça... C'est là que tu te dis qu'il y a une marge énorme d'amélioration du rendement (efficacité) chez le travailleur français (et de n'importe quelle autre nationalité d'ailleurs!).
C'est pour ça que je trouve important d'apprendre à coder dès le plus jeune âge. J'avais proposé un projet d'initiation à l'école de mes enfants. En fonction de l'âge, ça tournait autour de Scratch (ou similaire comme sur code.org), d'algoid (sorte de docteur logo sur tablette Androïd) et Leekwars. Mais la maîtresse se le sentait pas. Finalement, l'an dernier, elle a fait un projet Scratch.
Moi, j'initie mon fils depuis quelques temps avec code.org, Scratch et maintenant HTML/CSS/Javascript. Comme d'hab, ce seront toujours les enfants des CSP+ qui auront accès à ce genre de connaissance et l'écart va encore se creuser un peu plus
Marsh Posté le 17-01-2020 à 23:01:11
Salut,
Cela fait un bout de temps que j'essaie à me mettre au python mais je vois pas trop comment faire...
J'ai téléchargé le cour en pdf d'open-classroom mais c'est ennuyant (et pourtant j'aime bien coder) et surtout j'ai l'impression que c'est inutile...
Vous n'auriez pas une idée de comment apprendre efficacement python ? Comment est-ce que vous vous avez fait ?