Volonté d'apprendre la programmation...

Quel(s) langage(s) ?

a marqué ce sujet comme résolu.

Bonjour à toutes et tous,

J’imagine que cette question a été maintes et maintes fois posée, mais j’ai beau naviguer sur différents sites depuis plusieurs années, je n’arrive pas à synthétiser une réponse qui parviendrait à me dire "allez, fonce là-dedans".

Après beaucoup d’années d’errances sur ce que je souhaitais faire de ma vie, je semble avoir fait le constat que les métiers gravitant autour de l’objet informatique seraient tout de même ceux qui continueraient de recruter le plus. Et qu’en définitive, si je souhaitais apprendre quelque chose de possiblement qualifiant pour trouver un emploi, je devrais peut-être me tourner vers eux.

J’ai toujours eu un ordinateur entre les doigts, mais je n’ai jusque là jamais été en mesure d’apprendre à l’utiliser en dehors de mes activités vidéoludiques. A défaut de savoir vraiment ce qui m’intéresserait dans l’informatique, je me dis que la programmation pouvait peut-être être un bon début, un socle solide pour soit poursuivre dans le domaine, soit peut-être me diversifier plus tard ?

Mais par où commencer ? J’avais été attiré, il y a dix ans de ça je pense, par les cours sur le langage C du siteduzéro, mais pour des raisons personnelles de temps je n’ai pas su m’y atteler pleinement. Qu’en est-il du langage aujourd’hui ? Est-il toujours judicieux pour un profane tel que moi de me lancer, sans aucune bases préalables, dans l’apprentissage de ce langage informatique ? Ou d’autres seraient plus "intéressants" et utilisables à des fins professionnelles ?

Les cours présentés sur ce site suffisent-ils à acquérir des bases solides si tant est que je parvienne à m’y consacrer pleinement ?

Merci à celles ou ceux qui sauront éclairer ma sombre lanterne !

+0 -0

Je te conseillerai personnellement de te lancer. Pour la petite histoire, j’ai commencé à vraiment toucher aux ordis car je voulais apprendre la programmation, puis je me suis énormément diversifié. J’ai découvert d’autres systèmes d’exploitation (Linux, BSD…), appris beaucoup en "informatique théorique" (j’entends par là que j’ai appris toutes sortes de notions plus ou moins utiles mais très diverses sur le fonctionnement d’un ordinateur), en électronique, et bien sûr, en programmation. Bref, commencer par la programmation te mettra devant énormément de portes qui n’attendent qu’à être ouverte, et ensuite, libre à toi de choisir derrière laquelle tu te sens le mieux. Même si tu ne vas pas loin dans la programmation, tu pourras découvrir de nombreuses notions dont tu n’aurais jamais entendu parler autrement.

Par contre, ce qui me fait tiquer, c’est l’allusion à feu le site du zéro renommé Open Classrooms depuis déjà quelques années. Les ressources de Zeste de Savoir sont de bien meilleure qualité (et crois moi, je parle d’expérience) et tu ne souhaite pas commencer par le langage le plus simple à maîtriser. Le C est l’un des langages qui, même pour un pro, est le plus dur à correctement utiliser. De plus, il est trompeur car un code complètement bugué peut sembler marcher correctement. Crois moi, j’ai fait l’erreur d’entrer dans le monde de la programmation avec ce cours, et je le regrette encore.

Ainsi, je te recommanderai d’apprendre le Python 3 (Python 2 est bientôt obsolète), et si possible, d’éviter Open Classrooms dont les contenus sont souvent de mauvaise qualité et obsolètes.

Je te conseille tout d’abord de lire ça. Bienvenue dans la communauté des devs ;)

Salut Sym,

Alors, pour ma part (histoire de raconter un peu ma vie) j’ai débuté la programmation à 14 ans, j’en ai 24 aujourd’hui, je vais faire une thèse dans l’informatique. Le fait d’avoir commencé tous seul m’a permis de faire pas mal d’erreurs qui je pense peuvent être pas mal d’éviter.

Premièrement, la programmation n’est qu’une partie de l’informatique. Il y a beaucoup de choses qui gravitent autour et qui sont essentielles (de mon point de vue) à connaître. Qu’est-ce qu’un ordinateur, comment ça fonctionne, et pourquoi ça fonctionne ainsi et pas autrement. Le fonctionnement des réseaux, etc.

Deuxièmement, la programmation ce n’est pas juste « J’apprends un langage et puis c’est bon », non ! La programmation c’est avant tout le fait de concevoir quelque chose, exécutant une suite d’instructions permettant d’arriver à un résultat. Ainsi, il est primordial de se détacher du langage lorsqu’on apprend la programmation. On parle alors d’algorithmique.

Enfin, concernant le C, je m’oppose à l’apprentissage de ce langage comme premier langage. Le langage C a été créé à la base pour les personnes qui « savaient ce qu’elle faisait » (à l’époque, ceux qui faisaient de l’ASM principalement). Il y a des notions auxquelles tu vas te heurter assez tôt avec ce langage et qui risquent de t’embrouiller voir à te faire abandonné (je pense notamment aux pointeurs).

Quel langage te recommander ? J’ai envie de dire Ada, mais le problème c’est qu’il a une petite communauté, bien que le « peu » de gens qu’il y a (comparé à c./C++, Java) est très très compétente. C’est le langage que je recommande car il force dès le début le programmeur à adopter de bonne pratiques. Mais je reste conscient que la faible communauté et l’accès à des ressources pédagogiques sur le sujet est un frein à l’apprentissage (il faut qu’on améliore cela).

Je dirais Java sinon, mais cela fait commencer directement avec de la programmation orientée objet. D’autres ont sûrement d’autres idées de langages à suggérer.

+1 -0

Salut,

Il y a un tutoriel C sur ce site (mieux fait et surtout plus récent que celui du site du zéro). C’est un langage ultra-classique et ultra-utilisé et je crois que l’apprendre n’est jamais du temps perdu.

Cela dit, pour un complet débutant, Python est plus simple pour découvrir des notions élémentaires. Pour ces notions, peu importe le langage, ils auront tous des propriétés en commun, et toutes les façons de penser algorithmiques se retrouveront partout. Par exemple, apprendre Python facilite sans doute l’apprentissage ultérieur du C.

Je rejoins BorisD sur la qualité décroissante (en général) des cours OpenClassrooms, mais c’est à voir au cas par cas.

Dans tous les cas, le lien suivant pointe vers le site france-ioi qui propose des exercices de programmation progressifs, qui ont fait leur preuve.

http://www.france-ioi.org/algo/index.php

Partir dans une direction de façon approfondie a toujours porté ses fruits !

+0 -0

Salut à toi.

Tout d’abord, félicitations ! Tu projettes de découvrir un domaine dont l’étendue me donne encore le vertige. Ce n’est pas donné à tout le monde.

Je n’ai pas de réponse toute faite à ton problème, aussi je vais te faire part de mon expérience — comme d’autres pourraient le faire — comme ça tu pourras te faire ta propre idée.

Pour ma part j’ai commencé la programmation avec un but précis : je voulais créer des choses et je trouvais ça magique de donner des instructions à un ordinateur. Si je te parle de ça, de mes motivations, c’est parce que je pense qu’il faut que tu te poses la question : « pourquoi j’ai envie de me lancer là-dedans ? »

C’est peut-être plus simple que : « quels sont mes objectifs ? »

Car, programmation… Tu peux programmer plein de choses. Des traitements de données relatifs aux sites webs, des jeux, des interfaces graphiques, des simulations, des calculs scientifiques… Tu as vraiment de quoi faire, et je pense qu’envisager la fin te permettra d’envisager les moyens — et donc de te motiver à vouloir apprendre la programmation.

Pour ma part, comme je t’ai dit : je voulais créer des choses. Je voulais aussi apprendre à les casser (façon hacking), et donc je me suis effectivement orienté vers le PHP – qui est tout de même accessible aux plus débutants qui veulent bricoler un site et rapidement se rendre compte des liens cause à effet quand ils écrivent des instructions pour traiter un formulaire, manipuler une base de données, etc.

Je crois que je recommanderai à quelqu’un voulant simplement « s’amuser » ou « bricoler » de jouer avec PHP. Et puis il y a des fonctionnalités intéressantes pour s’initier à la sécurité informatique vis-à-vis de ce langage, de surcroit.

Pour le C, j’ai le même raisonnement. C’est un peu, selon moi, le latin de l’informatique, dans le sens où c’est un vieux langage, précurseur d’autres langages de programmation et dont la connaissance peut te permettre selon moi de mieux appréhender certains concepts inhérents aux systèmes et à la machine sur laquelle tu programmes.

Et Python, alors… Non seulement idéal pour les débutants, mais en plus son utilisation sur le marché est croissante. Et puis, avec Python, c’est super facile de bricoler également, là où, en C, tu auras besoin de plus de travail / plus de rigueur pour parvenir à tes fins.

En ce moment je bosse sur un projet de moteur de MMORPG en C++. J’aime bien ce dernier langage, malgré toute sa complexité et les défauts qu’on lui prête. Mais comme mon expérience dans celui-ci est moindre, je ne saurais t’aiguiller.

De surcroit, je n’ai ni parlé d’HTML – car ce n’est pas de la programmation – ou ni de programmation fonctionnelle — je ne m’y connais pas — mais sache que ce sont d’autres voies qui existent, et peut-être que certains sauront te conseiller à ce niveau.

Bonne chance pour la suite !

Salut,

Enfin, concernant le C, je m’oppose à l’apprentissage de ce langage comme premier langage. Le langage C a été créé à la base pour les personnes qui « savaient ce qu’elle faisait » (à l’époque, ceux qui faisaient de l’ASM principalement). Il y a des notions auxquelles tu vas te heurter assez tôt avec ce langage et qui risquent de t’embrouiller voir à te faire abandonné (je pense notamment aux pointeurs).

Heziode

Pour ma part, je m’oppose à toute opposition concernant le choix d’un premier langage. :p
À mes yeux, il n’y a pas de « bons » ou de « mauvais » langage pour commencer. Les affinités, goûts et préférences des gens sont à mon sens trop variables pour prétendre qu’un langage en particulier est « le bon choix » pour débuter. C’est pareil pour les notions réputées « difficiles » comme les pointeurs en C qui cristallisent une forme de peur collective dont j’ignore l’origine injustifiée (je veux dire, en termes de concepts « difficiles », les autres langages ne sont pas en reste, loin s’en faut), cela dépend des personnes. Je n’ai pour ma part eu aucun mal avec les pointeurs là où des concepts orientés objets m’ont été beaucoup plus difficiles à appréhender.

Bref, de mon point de vue, peu importe par où on commence, l’essentiel c’est de commencer et, surtout, de choisir un langage par lequel on a envie de commencer. :)

+4 -0

Il est vrai que il n’y a pas de langages avec lesquels il faut absolument débuter et d’autres avec lesquels il ne faut surtout pas débuter. Je n’ai moi même eu aucun problème avec les pointeurs, et si mon apprentissage du C comme premier langage a été un échec, le deuxième langage auquel j’ai touché (le C++, qui n’est pas non-plus recommandé pour les débutants) ne m’a posé aucun problème. Je suis donc bien placé pour savoir que ça dépend aussi des préférences de chaque individu.

Mais si un langage est fortement déconseillé pour débuter, ce n’est pas sans raison. Le C est effectivement plus complexe à maîtriser que beaucoup d’autres langages et un code qui ne marche pas en C peut donner l’impression trompeuse de marcher car il y a de nombreux comportements indéfinis dans ce langage. Ainsi, il est effectivement peu adapté à la plupart des débutants et il me paraît logique de ne pas le recommander, de la même manière qu’il me paraît logique de recommander un langage plus simple (Python pour ma part) pour ces mêmes raisons.

Enfin, je le reposte, mais je recommande à @Sym ce cours ainsi qu’à tous les débutants qui passeront par là afin de vous donner une bonne idée du langage idéal pour vous.

Plus globalement, l’avantage des langages de plus haut niveau (j’inclus le C++ moderne dans une certaine mesure) est de permettre au débutant de se concentrer sur les principes importants de la programmation sans que l’esprit reste bloqué par des détails de bas niveau. Je considère qu’il est plus simple d’abstraire ces principes importants dans un langage de haut niveau.

Cependant, comme le dit @Taurre, cela dépend fortement de l’individu et quelqu’un qui est intéressé par les mécanismes de bas niveau et arrive à réfléchir en ces termes peut très bien commencer par le C, même si ce ne sera sans doute pas de tout repos.

J’aurais donc tendance à déconseiller le C comme premier langage à part pour ceux qui recherchent spécifiquement cet aspect bas niveau.

+2 -0

Une autre raison me pousse à recommander un langage de haut niveau plutôt qu’un langage de bas niveau. Si @Sym souhaite commencer la programmation, c’est pour rentrer dans le monde de l’informatique, hors un langage de haut niveau me paraît plus adapté à cet objectif puisqu’il lui permettra d’explorer de nombreux concepts et domaines (réseaux, bases de données, interfaces en ligne de commande et interfaces graphiques, programmation système…) plus rapidement qu’un langage exigeant de passer du temps sur des détails gérés sous le capot par d’autres langages. Ainsi, un langage de haut niveau me semble plus propice à l’exploration qu’un langage de bas niveau.

Bonjour à toutes et tous, et merci pour vos nombreuses réponses

J’ai conscience que la programmation n’est qu’une partie de l’informatique et qu’il existe certainement beaucoup d’autres métiers gravitant autour. Mais cette dernière reste le seul domaine pour lequel j’ai conservé un intérêt - même très distant - jusqu’à aujourd’hui.

Un peu à la manière de @BorisD, j’ai ce sentiment qu’apprendre un langage pourrait potentiellement m’ouvrir des "portes" jusqu’à lors inaccessibles. D’où ce choix presque "par défaut" de vouloir entrer dans ce monde par ce biais, peut-être…

Pour mon choix quant au C, il était motivé par le fait qu’il fut le premier langage que j’ai découvert à l’époque du siteduzéro, et qu’il fut le seul à m’être resté depuis lors. J’avais entendu parler d’autres langages tels Python, Java, etc. mais n’ayant jamais pu m’intéresser pleinement au domaine, mes principaux souvenirs ont toujours été inconsciemment rattachés à ce premier. Un peu à la manière de @Ge0 qui le considère comme le "latin de l’informatique".

Du coup ce n’est clairement pas un choix rationnel et réfléchi, je l’admets ! Et à l’éternelle question "que souhaites-tu faire ?" je demeure toujours sans réponses… Quel terrible sentiment que d’être en état de passivité intellectuelle pour un "simple" choix. Je pense que mon plus gros frein est cette appréhension de ne pas disposer du bagage intellectuel suffisant pour ne serait-ce que m’y essayer (il faut dire que j’ai quitté le système scolaire il y presque dix ans, maintenant…).

Pour ce qui est de Python, pas mal de personnes dans mon entourage m’ont aussi conseillé de m’y pencher en tant que débutant. Il semblerait qu’il soit unanimement considéré comme un "bon" langage pour démarrer. Mais du coup qu’est-ce qui devrait être pris en compte lors du choix du langage à apprendre ? Son accessibilité ou ses applications futures ? Mon souci est que je n’ai que très peu d’idées sur ce que les différents langages peuvent-être amenés à produire. Et même après la lecture du très intéressant lien - mais qui fut tout de même assez lourd à digérer en première instance, huhu - merci @BorisD, tout ça reste encore assez nébuleux…

Ou comme le dit @Taurre, choisir celui qui nous plaît, mais selon quels critères ? Qu’est-ce qui rend un langage plus attractif qu’un autre, en dehors des perspectives qu’il offre ? Si j’ai toujours aimé les jeux vidéo, l’aspect créatif, et en plus disposant d’une certaine fibre artistique, le Python s’imposerait naturellement (à la lumière des informations données dans le lien traitant des bases de la programmation) ?

Et par langage de "haut" et "bas" niveau on différencie ceux qui traitent davantage la "surface" des systèmes de ceux qui touchent au coeur de la machine ?

En espérant ne pas vous avoir perdu avec ma réponse, merci à vous.

Salut !

Après beaucoup d’années d’errances sur ce que je souhaitais faire de ma vie, je semble avoir fait le constat que les métiers gravitant autour de l’objet informatique seraient tout de même ceux qui continueraient de recruter le plus. Et qu’en définitive, si je souhaitais apprendre quelque chose de possiblement qualifiant pour trouver un emploi, je devrais peut-être me tourner vers eux.

C’est super pragmatique ^^

Mais par où commencer ? J’avais été attiré, il y a dix ans de ça je pense, par les cours sur le langage C du siteduzéro, mais pour des raisons personnelles de temps je n’ai pas su m’y atteler pleinement. Qu’en est-il du langage aujourd’hui ? Est-il toujours judicieux pour un profane tel que moi de me lancer, sans aucune bases préalables, dans l’apprentissage de ce langage informatique ? Ou d’autres seraient plus "intéressants" et utilisables à des fins professionnelles ?

Sym

Pour que tu puisses t’épanouir dans ton boulot au quotidien, l’idéal serait de t’orienter par affinité : si tu as une passion, des choses que tu aimes bien faire, un domaine qui te tiens à cœur, renseigne-toi sur les applications informatiques liées, il y a de l’informatique à peu près partout ;)

Une fois que tu as cerné les pratiques dans le domaine qui te plaît, tu auras certainement quelques technos qui sont particulièrement utilisées, commence par là !

J’ai toujours estimé qu’une des qualités essentielles (sinon la qualité) d’un développeur était d’être entreprenant : quand j’ai une question, je cherche puis je fais. Poser une question et attendre une réponse peut faire gagner du temps mais fait nettement moins gagner d’expérience que d’essayer par soi-même. Alors pour mon dernier conseil : lance-toi, essaie, vois ce qui te plaît et n’aie pas peur de te tromper, on n’écrit jamais un code où tout est parfait du premier coup :)

Ou comme le dit @Taurre, choisir celui qui nous plaît, mais selon quels critères ? Qu’est-ce qui rend un langage plus attractif qu’un autre, en dehors des perspectives qu’il offre ?

Sym

Rien, le reste est purement subjectif, c’est pour cela que je dis de choisir celui qui te plaît. ;)
Pour cela, il n’y a pas trente-six mille solutions : essaye en un et s’il ne te plaît pas, c’est-à-dire que tu n’as pas envie d’aller plus loin, que cela te paraît ennuyeux, moche ou pénible à écrire, etc. laisse tomber et passe à un autre. Je ne te dis pas non plus de passer d’un langage à l’autre au bout de cinq minutes, mais tu auras assez vite une première impression qui se dégagera.

Et par langage de "haut" et "bas" niveau on différencie ceux qui traitent davantage la "surface" des systèmes de ceux qui touchent au coeur de la machine ?

Sym

La différence entre un langage de « haut » et de « bas » niveau, c’est un peu comme la différence entre la « gauche » et la « droite » en politique : on voit à peu près de quoi il est question, mais c’est à géométrie variable et cela dépend du point de repère. :p

En très gros, un langage de programmation de « bas » niveau utilise peu voire pas d’abstractions, c’est-à-dire que ce que tu écris se rapproche voire correspond aux instructions qu’utilise ton processeur. Typiquement, l’Assembleur est le langage de bas niveau, ce dernier ne fournissant pour ainsi dire aucune abstraction, tu écris directement des suites d’instructions destinées à ton processeur. En très gros, ça ressemble à ça.

hello:
    .asciiz "Salut\n"
_start:
    .globl _start
    movq    $1, %rdi
    leaq    hello, %rsi
    movq    $6, %rdx
    movq    $1, %rax
    syscall 
    movq    $0, %rdi
    movq    $60, %rax
    syscall

Alors, c’est super parce que tu apprends plein de choses par rapport à ton processeur et que tu as la main à peu près sur tout, mais c’est long à rédiger, redondant, pénible à relire et/ou vérifier en cas de soucis (aussi bien pour toi que pour d’autres), bref cela à plus l’air d’être écrit par et pour une machine que par et pour un humain.

Le but d’un langage de haut niveau, c’est de s’abstraire de ça et de faire en sorte de traduire une syntaxe plus agréable pour un humain en une syntaxe compréhensible par la machine. Par exemple, le code C ci-dessous fait la même chose que le code Assembleur du dessus.

#include <stdio.h>


int
main(void)
{
    write(1, "Salut\n", 6);
    return 0;
}

On y voit déjà plus clair, même si certaines choses ne sont pas forcément limpides pour un profane. L’équilibre choisi par chaque langage entre abstractions ou absence d’abstractions détermine son caractère « bas » ou « haut » niveau. En général, il existe une tendance à déconseiller les langages de « bas » niveau aux débutants, précisément à cause de ce manque d’abstractions.

Du coup ce n’est clairement pas un choix rationnel et réfléchi, je l’admets ! Et à l’éternelle question "que souhaites-tu faire ?" je demeure toujours sans réponses…

Sym

Sans vouloir être trop cynique, il y en a beaucoup qui meurent avant d’avoir trouvé une réponse… :-°

Quel terrible sentiment que d’être en état de passivité intellectuelle pour un "simple" choix. Je pense que mon plus gros frein est cette appréhension de ne pas disposer du bagage intellectuel suffisant pour ne serait-ce que m’y essayer (il faut dire que j’ai quitté le système scolaire il y presque dix ans, maintenant…).

Sym

De ce côté, je ne peux qu’appuyer le dernier conseil de @Chinoisfurax : lance-toi. Cela ne sert à rien de tergiverser par peur de faire un mauvais choix ou de se casser les dents : des erreurs, tu en feras. L’important ce n’est pas de ne pas faire d’erreurs, c’est d’apprendre de ces erreurs.

+4 -0

Il y a une information essentielle : tu as quitté le système scolaire il y a une dizaine d’années, et j’ai le sentiment que cette information n’a pas du tout été prise en compte dans les différentes réponses.

Les métiers autour de l’informatique recrutent, oui, mais les recruteurs regardent à 2 fois avant de recruter. Un 'développeur informatique' qui a commencé à apprendre la programmation à 30 ans, ça va être très atypique comme profil. Si tu sais vendre cette particularité, bravo, tant mieux, mais ça va être difficile. Tu vas te retrouver programmeur junior, en concurrence avec des gamins 10 ou plutôt 15 ans plus jeunes que toi, plus malléables, mieux formés. Très compliqué.

En plus, commencer à apprendre la programmation, après 10 ans de 'jachère’, ça aussi, ça va être très compliqué. J’emploie le mot jachère… parce que en lisant entre les lignes, tu nous dis que tu as plus ou moins tourné en rond ces 10 dernières années.

Je pense que tu dois prévoir un plan B. I y a des tas de métiers qui tournent autour du développement informatique, mais qui ne sont pas la programmation proprement dite. Tout ce qui tourne autour des tests, de la documentation, du design (interface utilisateur , traduction d’un programme dans une autre langue…), customisation d’un programme en fonction de tel ou tel pays, les côtés légaux …

Et en parallèle, apprendre la programmation, pourquoi pas. Mais il faut voir ça comme un complément à ta formation, pas comme l’élément central de ta formation.

En général, il existe une tendance à déconseiller les langages de « bas » niveau aux débutants, précisément à cause de ce manque d’abstractions.

Je pense surtout que de toute façon cela dépend du but à atteindre. Apprendre le C alors que ton but est le développement web ou d’applications PC graphique au début, c’est sans doute discutable. Car le C sera plus éloigné de ces univers et pour faire du C dans ces contextes la marche à franchir est haute.

Si le but est de faire de la programmation système UNIX, du système embarqué ou du pilote de périphérique, cela fait sens de débuter par le C car c’est le langage qui est utilisé dans ces domaines d’activité. Donc tôt ou tard il faudra apprendre le C. Et au moins tu peux avoir des résultats visibles avec peu de frustrations rapidement. À l’inverse débuter par du Java alors que tu veux faire ça serait discutable.

+3 -0

Concernant les langages de programmation, je conseille Python pour une initiation. On trouve d’excellent MOOC sur FUN. Je pense qu’un MOOC est plus efficace qu’un tuto même bien fait.
https://www.fun-mooc.fr/cours/#filter/subject/informatique?page=1&rpp=50

J’ai fais le MOOC Python 3 : des fondamentaux aux concepts avancés du langage qui permet d’aller assez loin dans l’initiation.
un peu plus basique, Apprendre à coder avec Python

Les profs sont sympa, les vidéo sont bien faites, les explication sont claire, les exercices, si ils sont fait avec sérieux, sont très formateurs. De plus, ces MOOC sont assortis de forum où on peut avoir des échanges chaleureux et productifs avec les autres participants et l’équipe pédagogique.

+0 -1

En général, il existe une tendance à déconseiller les langages de « bas » niveau aux débutants, précisément à cause de ce manque d’abstractions.

Je pense surtout que de toute façon cela dépend du but à atteindre. Apprendre le C alors que ton but est le développement web ou d’applications PC graphique au début, c’est sans doute discutable. Car le C sera plus éloigné de ces univers et pour faire du C dans ces contextes la marche à franchir est haute.

Si le but est de faire de la programmation système UNIX, du système embarqué ou du pilote de périphérique, cela fait sens de débuter par le C car c’est le langage qui est utilisé dans ces domaines d’activité. Donc tôt ou tard il faudra apprendre le C. Et au moins tu peux avoir des résultats visibles avec peu de frustrations rapidement. À l’inverse débuter par du Java alors que tu veux faire ça serait discutable.

Renault

Avant d’en arriver là, il faut tout de même apprendre à aligner ses idées et les transformer en séquences d’instructions. Et C reste totalement discutable pour débuter car il oblige à appréhender des détails non pertinents pour un débuter, et qui en plus seront très mal acquis.

Autant se faire la main sur un langage plus abordable. Python est un bon candidat.

Bonjour et merci pour vos interventions,

J’ai décidé de me lancer dans l’apprentissage du langage Python, mais une question me taraude : la version de Python à télécharger doit-elle obligatoirement correspondre à celle utilisée dans le tuto suivi ? Celui de ZdS semble utiliser la version 3.4.3 or la dernière en date est la 3.7.4. Cette différence est déterminante ?

De même que l’apprentissage de Python 2.x est plutôt à proscrire, du coup ? Le cours sur ZdS n’étant pas terminé, je me demandais si, à l’issu de celui-ci, poursuivre sur OpenClassroom ou tout autre plateforme possédant des cours sur des versions antérieures restait bénéfique ou le savoir acquis deviendrait inéluctablement obsolète ?

+0 -0

La version de Python à télécharger doit-elle obligatoirement correspondre à celle utilisée dans le tuto suivi ?

Sym

Non et heureusement. Imagine si on devait réapprendre Python pour chaque nouvelle version! Chaque version du langage est rétrocompatible à part quelques exceptions, comme l’apparition de async comme mot clé.

De même que l’apprentissage de Python 2.x est plutôt à proscrire, du coup ?

Oui parce que, pour le coup, la rétrocompatibilité n’est pas assurée et un code Python 2 ne fonctionnera pas avec Python 3. Donc prend la version la plus récente (à moins de vouloir apprendre un langage obsolète l’an prochain :euh: ).

Le cours sur ZdS n’étant pas terminé, je me demandais si, à l’issu de celui-ci, poursuivre sur OpenClassroom ou tout autre plateforme possédant des cours sur des versions antérieures restait bénéfique ou le savoir acquis deviendrait inéluctablement obsolète ?

Oui, bien sûr. Le cours Open Classrooms n’est pas réputé pour être mauvais (ah, quoi que d’après @entwanne, il comporte des erreurs) et grâce à la rétrocompatibilité, tu peux évidemment apprendre ce qui était valide dans les versions précédentes.

Toutefois, si tu veux tirer parti de toute la puissance de ta version de Python, jette un coup d’œil aux nouvelles fonctionnalités qui ne seront donc pas abordées dans ce cours (comme par exemple les f-strings).

+0 -0

Le cours sur ZdS n’étant pas terminé, je me demandais si, à l’issu de celui-ci, poursuivre sur OpenClassroom ou tout autre plateforme possédant des cours sur des versions antérieures restait bénéfique ou le savoir acquis deviendrait inéluctablement obsolète ?

Sym

Oui, le cours proposé ici est incomplet et ne te permettra pas de beaucoup avancer. Celui d’openclassrooms est plus complet mais souffre de plusieurs erreurs qui n’ont jamais été corrigées.

Une bonne référence reste le cours de Gérard Swinnen : https://inforef.be/swi/download/apprendre_python3_5.pdf

Si tu veux un contenu complet et récent, je pense que le mieux serait de t’inscrire sur la plateforme FUN et gt’inscrire sur
Apprendre à coder avec Python qui t’apprendra les base du langage
ou encore sur celui-ci :
Python 3 : des fondamentaux aux concepts avancés du langage (le titre est assez clair)
C’est gratuit, et on t’explique tout.
Tu trouveras aussi sur FUN d’autres cours qui peuvent t’intéresser.

Lors de ma formation Python, en complément du MOOC et du cours de Gérard Swinnen, j’ai utilisé :
Introduction à Python 3 - Département Informatique
Une introduction à Python 3 - Université Paris-Sud
Et bien sur la documentation officielle.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte