Partage
  • Partager sur Facebook
  • Partager sur Twitter

6 mois pour apprendre le C

Faisable?

Sujet résolu
18 janvier 2020 à 15:10:43

Bonjour à tous la commu' OpenClassRoom,

Je vous explique ma situation:

Dans le cadre d'un projet professionnel je dois apprendre et maîtriser le langage C, de A à Z.
(Donc les bases, les pointeurs, les listes chaînées, la récursivité, les arbres binaires, ect....).

J'ai un délai de 6 mois très exactement pour apprendre ce langage que je ne connais que très peu.
Je travaille toute la semaine, cela me laisse donc environ deux heures tous les soirs où je peux étudier le C, et le weekend je suis libre presque entièrement.

Ma question est donc la suivante, pensez vous que c'est faisable en 6 mois avec ces conditions? Car je ne suis pas certain de pouvoir y arriver, je m'en remets donc à votre jugement. (Je précise encore une fois que je ne dois pas être un novice ou autre, au terme de ces 6 mois ma maîtrise du C doit être fluide et presque parfaite.)

J'attends votre réponse avec impatience, bonne journée à tous !

  • Partager sur Facebook
  • Partager sur Twitter
18 janvier 2020 à 16:58:39

Bonjour !

Question 1 : est-ce que tu as déjà programmé ? est-ce que tu connais d'autres langages de programmation ?

Question 2 : est-ce que tu connais déjà des langages dont la syntaxe est proche du C (comme le C++, le Java, le C# par exemple) ?

Question 3 : est-ce que tu connais déjà d'autres langages qui utilisent des concepts similaires, je pense notamment aux concepts de bas niveau comme les pointeurs ?

Question 4 : est-ce que tu es « doué » pour l'algorithmique ou la programmation ? (Je ne sais pas quel mot exact employer, mais j'ai constaté en parcourant ce forum qu'il y a des personnes manifestement pas très « douées » pour programmer, pour qui l'apprentissage risque donc d'être beaucoup plus long. Je ne dis pas ça pour les critiquer : on a tous nos points forts et nos points faibles, et moi le premier.)

Je n'ai pas assez d'expérience pour juger si ton projet est faisable, mais je crois que tu as intérêt à avoir pas mal de « oui » à mon questionnaire.

  • Partager sur Facebook
  • Partager sur Twitter
18 janvier 2020 à 17:22:26

(Je précise encore une fois que je ne dois pas être un novice ou autre, au terme de ces 6 mois ma maîtrise du C doit être fluide et presque parfaite.)

Alors pour moi la réponse est non ! Tu peux oublier la maîtrise des langages, malgré que le C évolue un peu moins vite que d'autres langages, il en reste pas moins que ta technique du langage sera et devra être en constante évolution, et même si tu te renseignes, il n'est pas toujours aisé de le pratiquer. Il faudra de l'expérience, encore !

Par contre ton évolution sera rapide si tu as une percussion neuronale importante. Le langage n'est qu'une traduction de ce que tu veux faire, avec un peu de recherches, et des questions bien posées, on a souvent réponses et rapidement.

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

18 janvier 2020 à 17:41:24

fred1599 a écrit:

malgré que le C évolue un peu moins vite que d'autres langages, il en reste pas moins que ta technique du langage sera et devra être en constante évolution

Je trouve qu'au contraire, le langage C n'évolue pas assez vite pour ça. Les cours de C moderne (on en trouve) parlent du C11, qui aura bientôt dix ans.

  • Partager sur Facebook
  • Partager sur Twitter
18 janvier 2020 à 18:26:21

Peut-être n'évolue-t-il pas simplement pour des raisons de stabilité... je ne vois pas d'autres raisons.
  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

18 janvier 2020 à 18:46:58

Salut,
Après six mois, tu ne devrais pas être un "novice". On ne se réveille pas un matin comme étant devenu un "expert" non plus.
Dans six mois, tu en sauras plus que maintenant. Et dans un an, tu en sauras plus que dans six mois. etc. ...
De dire que l'on peut apprendre C de A à Z en six mois est une utopie.
Si tu dois l'apprendre dans le cadre d'une profession, il faudrait qque tu saches ce que l'on attend de toi dans un domaine ou un autre.
Sur quoi devras-tu insister? Si tu as une bonne capacité d'apprentissage et de compréhension, tu pourras aller assez vite.
Il ne s'agit pas seulement d'apprendre le langage C. Si tu parles d'arbre binaire, tu tombes dans l'algorithmique.
Comme je l'ai déjà dit. Le cours d'OpenClassrooms est une bonne base. Je le vois comme le squelette sur lequel vont s'articuler d'autres connaissances.
Il y a des tutoriels sur le web qui sont plus récents.
On peut facilement faire des recherches sur ce langage ou une foule d'algorithmes.
On peut trouver des choses intéressantes sur ce forum également.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

18 janvier 2020 à 20:33:56

C, en tant que langage, est relativement simple, dans le sens que ses mécanismes sont très rudimentaires. Il n'évolue pas énormément (C18 est essentiellement une correction de quelques trucs loupés de C11)

Les notions d'algorithmiques sont les mêmes dans tous les langages. C n'amène pas de difficulté.

Ce qui est compliqué, c'est d'arriver à faire les choses bien avec un truc aussi rustique (bonjour pour gérer le rattrapage d'erreurs) et casse-gueule. D'où l'insistance sur la maitrise des listes chainées et autres machins qu'on est obligés de se farcir, parce qu'on ne peut pas faire autrement.

Compter aussi sur la taille des bibliothèques à utiliser.

-
Edité par michelbillaud 18 janvier 2020 à 20:34:58

  • Partager sur Facebook
  • Partager sur Twitter
18 janvier 2020 à 22:32:59

J'ai toujours une analogie avec le monde du bâtiment : 

Si demain tu apprends à te servir d'une tournevis, d'un marteau, d'une scie, d'une perceuse, etc.... on pourra dire que tu maîtrises tous les outils... 

Est ce que tu sauras faire un super château pour autant ? 

Le C (ou un autre langage) c'est pareil, tu pourras en 6 mois connaître les variables, fonctions, pointeurs, et toutes les fonctions standard si tu veux... 

Est ce que tu sauras faire des super programmes pour autant ?

  • Partager sur Facebook
  • Partager sur Twitter

Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

19 janvier 2020 à 13:01:59

Salut,

à la question "connaitre le C en 6 mois" je me sens obligé de répondre : NON. Je pratique le C (en loisir) depuis maintenant un peu plus de dix ans en ayant de solides bases de programmation avant ça, et j'en découvre encore.

Bien sûr, tu pourrais être bien plus intelligent que moi (oui, il y en a paraît-il ;)), accumuler facilement du savoir, y passer 10 heures par jours pendant ces 6 mois et tout connaître du C, mais ce genre de capacité doit concerner une part tellement faible de la population mondiale que j'ai probablement plus de chance de gagner au loto que de croiser quelqu'un qui en soit capable.

Donc, pour un type "normal", pas trop con qui percute quand on lui explique quelque chose et qui a malgré tout besoin d'acquérir de l'expérience par l'usage, 6 mois me semblent un peu serrées. J'en connais qui parlent français depuis plus de 40 ans et qui sortent encore des "Si je pourrais..." ou des "un espèce de..." donc l'usage ne fait pas toute l'expérience, encore faut-il répéter les bons usages pour en faire un automatisme.

Cependant, je joue surtout sur les mots parce que tu précises "maîtriser le langage C, de A à Z". Puis tu parles de bases, ce qui n'est plus tout à fait la même chose.

Il est quand-même tout à fait possible avec du travail sérieux et du temps à y consacrer, d'être capable de sortir des programmes très honorables au bout cette période.

Enfin, comme le souligne Fvirtman, tout est question d'adapter l'outil à l'objectif, un petit plateformer 2D sur lequel je travaille (en dilétente) est le résultat de plusieurs années de travail cumulé sur les différents aspects du jeu (ici, je dis "jeu" en général). Sous Unity, j'ai fait un petit niveau de plateforme FPS 3D en 10 heures à peine alors que je m'étais levé le matin sans rien connaître de ce soft. Ce que je considère être hors d'atteinte pour moi si je devais faire un équivalent en C. Tout dépend donc de l'objectif qui va t'être fixé.

Bref, si le cours de ce site peut-être considéré comme une base minimum (sans entrer dans le débat de sa qualité) alors il est possible d'en arriver à bout en ayant fait les exercices en moins de temps que ça. Mais si tu veux arriver à ton nouveau taf en voulant faire croire que tu fais ça depuis 15 ans, oublie tout de suite, tu vas te faire débusquer en 5 minutes.

Bonne continuation.

  • Partager sur Facebook
  • Partager sur Twitter

Bonhomme !! | Jeu de plateforme : Prototype.

19 janvier 2020 à 19:21:56

Si quelqu'un exige une connaissance parfaite en 6 mois, c'est qu'il n'est lui-même pas très compétent.
  • Partager sur Facebook
  • Partager sur Twitter
22 janvier 2020 à 6:55:59

En ce qui me concerne j'ai deux mois de langage C à raison de huit heures par jours en moyenne

et j'en suis même pas aux listes chainées

J'ai quand même un doute pour les six mois à raison de deux heures par jour

mais en ce qui me concerne je suis un lent et il y a des gens qui sont doués

Ceci dit je n'aimerai pas être à la place de celui qui pense bien connaitre un truc si plus tard il rame 

Par exemple si on travaille uniquement le cours de Mateo et qu'on pense avoir compris les tableaux et les allocations dynamiques de tableaux 

il ne faudrait pas ramer plus tard avec les tableaux (ça serait dommage)

Je veux bien que la confiance en soi est utile mais le contraire n'est pas non plus inutile

    
  • Partager sur Facebook
  • Partager sur Twitter
2 février 2020 à 14:27:11

Tout dépend de l'ampleur du projet et des compétences en C requises, de ta facilité à imaginer des algorithmes et à les implémenter dans ce langage, mais également de ta rapidité d'apprentissage...

De A à Z, je dirai non. Mais d'abord, faut-il pour ton projet le "connaître de A à Z" ?

Mais avoir le bagage nécessaire à mener à bien un projet, et connaître ses lacunes, savoir s'informer, lire la documentation et l'appliquer. Oui, je pense bien.

  • Partager sur Facebook
  • Partager sur Twitter