Comment débuter en programmation ?

Non classé, Web DevelopmentNo Comments

You Are Here:, Web DevelopmentComment débuter en programmation ?

Les langages de programmation sont devenu quelque chose d’incontournable sur internet, c’est un peu devenu à la mode. Et ne pas savoir programmer ou même dans les cas les plus extrêmes ne pas savoir ce qu’est un langage de programmation, peut être très handicapant. Que sa sois professionnellement, en effet c’est toujours mieux de mettre dans un cv que tu sais coder ou pour sa culture personnelle, pour se vanter auprès de ses amis par exemple. De plus, le codage est en pleine  essor, notamment parce que de nombreux logiciels, sites, formations, facilite leurs apprentissages. Mais ce n’est pas forcément un avantage car on entend des conseils de part et d’autre, des choses que certaine personne approuve et d’autre non, que l’on ne sais même plus par où commencer. Et je suppose que c’est ton cas, c’est pourquoi je vais t’expliquer le plus clairement et facilement possible comment débuter en programmation (en prenant l’exemple de ma thématique). Et si je peux te prouver que cette article te sera utile est que j’ai débuter en programmation a penne 5 mois avant la rédaction de cette article !

 

Je vais partir du principe que tu es un parfait débutant, n’ayant aucune du moins très d’expérience en programmation. Je vais donc essayer de te parler le plus simplement possible, avec des termes génériques pour que tu comprennes bien tout. Sache que si tu as déjà quelques notions en programmation (et que sa ne date pas de trop longtemps) c’est toujours mieux. Dans le cas contraire ce n’est pas grave, les  conseilles que je vais te donner n’ont besoin d‘aucun prérequis. Mais je te demande d’être un bon sceptique, en faisant les choses bien, sans bâcler. Mais avant tout il faut que je te définisse certains termes, basique certes mais que tu va retrouver tout au long de ton apprentissage:

  • PROGRAMMER / CODER : Sa peux te paraître absurde, mais beaucoup de gents se trompent quand ils définissent ce mot. Pour faire simple (d’ailleurs sa l’ai),  programmer / coder c’est toutes les activités qui permettent l’écriture de programme informatique. Tout simplement.
  • UN PROGRAMME : Souvent les gents disent qu’un programme c’est tout ce qui fonctionne sur notre ordinateur, telle que les logiciels, jeux vidéo etc… Ce qui est vrai mais si on va un peu plus en profondeur, un programme c’est une suite d’instruction données à l’ordinateur, que le programmeur à au préalable écrit.
  • UN PROGRAMMEUR : C’est évidemment celui qui tape le code, qui réalise un programmeur. A ne pas confondre avec un développeur qui est pratiquement synonymique, a la différence qu’un développeur est un peu celui qui gère tout le projet mais qui code comme même !
  • IDE : Un Integrated Development Environment (en fr : environnement de développement) c’est un logiciel qui rassemble des outils (ex : simulateur, déboguer, compilateur etc…) permettant de développer d’autres logiciels tels que des applications mobiles, des logiciels pour ordinateur ou consoles de jeux, des sites web, etc…
  • INDENTER : C’est le simple fait d’appuyer sur sa touche tab  ou dit tabulation pour faire un espace. Sa permet de rendre le code beaucoup plus lisible et beau, tu va surement te demander à quoi sa serre de rendre un code joli. Et bien sa te permet de mieux t’y retrouver lorsque tu va faire une erreur de code (ce qui arrive souvent, même d’étourderie à n’importe quel niveau). Mais sa n’influent en rien sur le programme en lui même.
  • LANGAGE DE PROGRAMMATION : Pour faire très simple c’est un langage qui donne les instructions que doit réaliser l’ordinateur. On peut les comparer à des traducteur étant donné qui traduise le langage binaire ( 0 et 1) en mot normal, ainsi que l’inverse.
  • OPEN SOURCE : Ce n’est pas forcément un mot très important, mais c’est tout de même bien à souligné car moi même au début j’ai galérer à comprendre ce que c’était ! Pour faire simple, un logiciel “open source” est un logiciel ou la société a décider de laisser son développement au main  de programmeur indépendant. Tout le monde peut y mettre du siens, généralement ces programmeur le développe quand ils ont le temps, on peux les qualifier de contributeur.
  • VARIABLE et CONSTANTE : Une constante est un symbole associé à une valeur fixe. Syntaxiquement, cet identificateur a tous les aspects d’une variable. Cependant, il lui est affecté une valeur définie, c’est-à-dire constante, comme la taille d’un plateau d’échecs (8×8). Une variable contient une valeur qui peut avoir différent valeurs au cours de différentes exécutions, comme un jeu tel que démineur joué sur un plateau dont le joueur choisit la taille. Pour chaque constante et variable du programme, l’ordinateur réserve une partie de sa mémoire (RAM), de taille adéquate au type de données.
  • UNE INSTRUCTION : Comme son nom l’indique un instruction, c’est ce qu’on demande à l’ordinateur de faire. Elles sont déjà crée par les langages de programmation, tu n’a donc pas besoin d’en crée, et c’est d’ailleurs impossible !
  • FONCTION : On appelle fonction un sous-programme qui permet d’effectuer un ensemble d’instructions par simple appel de la fonction dans le corps du programme principal.
    Les fonctions permettent d’exécuter dans plusieurs parties du programme une série d’instructions, cela permet une simplicité du code et donc une taille de programme minimale.
  • BLUEPRINT : Je sais que ce terme n’est pas du tout indispensable, mais si je le met c’est pour que tu te rappelle de certaine chose vue à l’école. Pour faire court, un blueprint c’est des cases que l’on emboîte les une aux autres et qui forment un programme, retrouvable sur scratch (vue à l’école) ou même sur Unreal Engine 4 (image ci dessous) :

C’est vrai qu’il n’est pas important de comprendre cet aspect théorique, mais il est important de bien comprendre certaine chose, pour éviter les confusions.

 

Sa faisait déjà longtemps que je voulais crée une entreprise de jeux-vidéo et commencer à en crée. Après de très nombreuse recherche je me suis donc orienté sur des moteurs de jeux et j’ai commencé le codage comme sa avec le c#. Mais je ne faisais que de recopier ce que le youtubeur faisais, sans chercher plus loin. Ce qui est une très grosse erreur, puisque j’ai eu beaucoup de mal à assimiler les choses à cause de sa (j’en reparle un peu plus bas).  Je ne savais même pas ce que je faisais, j’étais perdu dans ce qu’étais la programmation, beaucoup de choses m’étais inconnu, telle que les IDE et je ne savais pas comment avoir de l’aide. Mais heureusement pour moi j’avais une bonne raisons de ne pas arrêter, c’est pourquoi au bon d’un certain temps j’ai commencé à rechercher d’autre langage sur le net. Et par pure hasard j’ai découvert les formations Pierre Giraud (totalement gratuite) qui ma appris tout d’abord le HTML5 & CSS3. J’ai adorer ce langage, pas pour sa simplicité, mais parce que je trouvais sa classe de faire un site !  Avant de suivre ces cours, je ne savais même pas ce qu’étais le HTML ou CSS, mais après j’ai tout compris. Même le c# alors qu’il n’a pas abordé ce langage. Tout sa pour vous dire qu’il est très important, voir primordiale de trouver une personne qui apprend bien et surtout les bonne choses pour ne pas se perdre dans la théorie avec des définitions incompréhensibles.

Cette question viens avant toutes les autres, elle est extrêmement importante tu doit trouver la raison qui te pousse à coder. Sa peut être pour n’importe quoi (impressionner quelqu’un, pour des vidéo, un projet etc…), mais il faut vraiment en trouver au moins une. Le plus précisément possible, car dire que l’on veut coder pour savoir programmer c’est beaucoup trop vague. Alors, je te demande d’être un bon sceptique et écrire la ou les raisons qui font que tu veux coder. Si j’insiste sur ce point c’est parce que plus tu as une raison, plus tu sera motivé à apprendre et persévérer. Si je peux te donner un exemple concret qui va te forcer à être sceptique est tout simplement l’école. En effet, à l’école on apprend beaucoup de choses, et je pensent qu’il t’ai déjà arrivé de te demander pourquoi tu apprends sa alors que tu ne sais même pas à quoi sa va te servir et du coup tu n’apprends pas. C’est pareille avec la programmation, tu aura peut-être la flamme sacré pendant quelques jours mais au fur et à mesure elle va partir et tu va arrêter ! Alors trouve cette raison qui fera que tu sera un bon codeur. !

 

Je vais te le dire d’entrer, il n’y a pas de langage mieux qu’un autre, pour moi le meilleur langage est celui que tu préfère. Par conséquent, il n’y a donc pas de langage mieux qu’un autre pour commencer. Et le mythe du “le HTML c’est mieux que les autres quand on débute” est faux et infondé. On peut commencer par celui qu’on souhaite, mais il y a tout de même certains langages plus simple que d’autre pour débuter. Notamment le HTML & CSS qui est un bon moyen de commencer à mettre la main à la patte. Par contre je reste sur mes positions ce n’est pas un langage mieux qu’un autre ! Ce n’est d’ailleurs pas un langage de programmation (à proprement parlé), pour faire simple on va définir le HTML comme un langage de balisage. Et si tu es curieux de savoir à quoi sert le HTML & CSS c’est simple :

HTML5 : Il a pour fonction de structurer et de donner du sens à du contenu.

CSS3 : Il a pour fonction de mettre en forme du contenu en lui appliquant ce qu’on appelle des styles.

Mais je ferais un article dédié à ceux-ci ! Bref, si je doit te conseiller un langage, sa serait le JavaScript, car il est mondialement connue et à donc une énorme communauté. Ce qui te permet d’avoir de nombreux tuto à ta disposition pour apprendre à l’utiliser. Mais le JavaScript n’est pas à confondre avec le Java qui est totalement différent (même s’ils sont tout deux orienté objet) :

JAVASCRIPT : C’est un langage web, recommandé pour les applications et sites web, ce langage plus « créatif » est de ce fait dédié au Front. Il est actuellement en pleine expansion, il est donc conseillé de s’y intéresser. JavaScript est un langage dit petit mais il existe un nombre important de frameworks et librairies, et peut donc sembler plus complexe à première vue. Depuis l’arrivée de NodeJS, JavaScript offre le développement d’applications dédiées au Back.

JAVA : C’est un langage dédié au back et aux applications autonomes (desktop et mobile Android). Il est considéré comme le langage natif des applications mobiles Android et offre des options et fonctionnalités plus larges que les autres langages pour ce type de déploiements. Il est recommandé pour lancer des applications robustes. Revers de la médaille: il est gourmand en termes de ressources. Contrairement à JavaScript, peu de librairies gravitent autour et c’est un langage dit « verbeux », il peut ainsi sembler plus facile à prendre en main au premier abord.

Si je tu n’es pas forcément convaincu par le JavaScript ou HTML & CSS, je vais te donner quelques critères pour bien choisir un langage de programmation :

  • Il doit être très connue pour avoir un grande communauté, te permettant d’avoir de nombreux tuto sur internet.
  • Il doit être suffisamment connue pour ne pas disparaître du jours au lendemain.
  • Il faut qu’il est plusieurs fonctions, et qu’il ne ce limite pas à un seul aspect.
  • Il faut qu’il sois compréhensible et pas trop dure à assimiler.
  • etc…

Je te demande vraiment de bien choisir celui que tu veux et de t’y mettre à fond. Plutôt que d’être moyen dans pleins de langages. Mais tu peux en tester pleins si tu veux, fait comme bon te semble.

 

En toute logique, il faut un logiciel (du moins un IDE) pour coder, on ne va pas s’amuser à juste écrire sur une feuille. Et des logiciels pour coder il en existe des tonnes et des tonnes. Surtout que la plupart marchent avec tous, même le bloc note peut servir à coder. Mais le bloc note est définit comme un logiciel de traitement texte ou un éditeur de texte et non comme un IDE. C’est pourquoi je ne le recommande pas, car il y a des moyens beaucoup plus simple et beaucoup plus rapide pour programmer. Le plus connue (que je te recommande) est Visual Studio !

Personnellement j’utilise Komodo Edit pour tous les langages sauf le C# et le C++. Pour le C-Sharp j’utilise MonoDevelop (intégré à Unity 5) et pour le C++ j’utilise un blueprint (intégré à Unreal Engine 4). Komodo n’est pas très connu, mais qui fait très bien l’affaire. Je ne sais pas forcément pourquoi j’utilise celui la, sa doit être une habitude. C’est pourquoi ne te prend pas trop la tête avec quels logiciels utiliser, tu pourras changer quand tu veux et puis du moment que c’est un IDE sa sera parfait. Mais prend en considération que les Open Source peuvent te plaire, mais je pense que pour débuter ce n’est pas du tout une bonne idée, après sa reste mon avis.

C’est vrai que c’est bien de savoir comment débuter, mais l’important est d’apprendre à programmer ! Et pour cela il existe beaucoup de site et de vidéo qui te permettent d’apprendre un langage un minimum connu. Il y a tellement de ressources différentes que tu finira par ne plus savoir qui ou quoi choisir. C’est précisément pour sa , que je vais te donner les 3 meilleurs moyen d’apprendre un langage de programmation (en autodidacte) et de savoir lesquelles choisir ! Histoire que tu ne perdre pas trop de temps en suivant une série de tuto youtube, qui au final ne ce termine pas parce que le vidéaste abandonne :

LES FORMATIONS :

Si tu as lus la partie qui parle de mon expérience, tu sais que personnellement j’ai uniquement suivi des formations lors de mon apprentissage. C’est une très bonne méthode car tu es sur qu’à la fin de cette formation tu aura fait un projet concret, mettant en oeuvre tout ton savoir ! Mais il en existe beaucoup, si je dois te recommander un site sa serait Udemy. c’est un site très connu et très complet, qui à des formations pour à peu près tous les domaines. Cependant elles sont payantes, ce qui n’est pas forcément un point noir. Pour moi je trouve plutôt que c’est un moyen d’être sur que la formation sera de bonne qualité. C’est un peu comme si on te donner des pains gratuit tu va te demander si il est bon ou pas, bah la c’est pareille. Mais n’achète pas n’importe quoi, il faut que tu regarder les avis, témoignages et commentaires. C’est un excellent moyen de voir si elle te conviendra !

LES LIVRES :

Oui les livres sont un très bon moyens d’apprendre. Mais encore une fois il ne faut pas choisir n’importe quoi, même si c’est déjà plus facile à choisir puisque tu pourras l’avoir dans son intégralité en main propre ! Tu peux toujours regarder des avis, demander au vendeur s’il est bien, mais je te conseille de l’emprunter quelques temps. Et de le rendre s’il vous plait pas ou de l’acheter dans le cas contraire. Le gros avantage des livres est que tu n’a pas besoin d’utiliser votre connexion pour le lire et pratiquer ! C’est aussi assez pratique, lorsque l’on veut revenir sur un aspect du langage que l’on n’a pas très bien compris ! Mais le gros inconvénient des livres est l’interactivité, qui peux faire la différence. Un livre ce n’est pas très interactif et il y a moins d’exemple concret que dans une formation. Après c’est à vous, de voir et de vous faire votre propre avis !

LES VIDÉOS :

Si tu n’a pas trouvée de formation gratuite et que tu ne veux pas débourser le moindre sous je t’invite à regarder des vidéo. Que sa sois youtube ou autre ! Mais attend toi à ce qu’il y ai certaine série de tuto qui sois ne se termine pas, sois qui ne sont pas terrible ! Le seule moyen de savoir si une série de tuto est bien n’est pas les like (sauf dans les cas ou il y a vraiment beaucoup de dislike et peu de like) mais les playlist (youtube toujours). Sa vous permet de voir un coup d’œil combien de vidéo il a fait sur le sujet. S’il y en a beaucoup c’est déjà un bon point. Cependant, si tu vois que la série s’arrête, n’hésite pas à poster un commentaire pour savoir s’il va continuer !

Bon, après je suis bien conscient qu’il existe d’autre moyen, comme avoir un professeur, ou les livres numériques. Mais ici je n’ai fait que donner mon propre avis en te donnant ce qui est pour moi, les meilleurs moyens de s’initier à la programmation ! Mais dans la majorités des cas, trouver quelqu’un qui à un niveaux nettement supérieur au tiens, est le mieux car tu vas apprendre plus vite. Parce qu’il te donnera surement des astuces pour éviter certaines erreurs qu’il à commis, son expérience est donc aussi un point fort !

 

Ce n’est pas une honte d’avoir besoin d’aide, on en a toujours besoin ! Il est donc important que tu sache comment en avoir. Il existe notamment 3 moyens.

  • Le premier est tout simplement de demander au formateur ou vidéastes lui même. Sois par mail, commentaire, réseaux sociaux etc… et puis même de demander aux autre personne qui ont suivit sa formation ou vidéo (généralement les sites comme Udemy offre la possibilité de poser des questions directement au formateur ainsi qu’aux élèves) !
  • Le deuxième est d’aller sur des forums et de demander de l’aide. Il en existe des tonne, je vous conseille donc d’aller poser la même question sur diverse forum, pour avoir un maximum de réponse pertinente et différente ! Je t’invite à te rendre sur des sites comme StackOverflow, qui est un site réservé à l’entraide entre les développeurs  et programmeurs.
  • Le troisième est de lire tout simplement des articles ou de regarder des vidéo sur le sujet concerné. Rien de plus compliqué !

Je sais très bien qu’il en existe d’autre, comme le faite de demander à une personne de son entourage, lire des livres, demander à une personne plus expérimentée que toi etc… Mais j’ai décidé de mettre ces trois la car c’est ceux que j’ai utilisé personnellement. Comme sa vous avez un exemple concret !

 

Je suis bien conscient que cette dernière question n’est pas vraiment faite pour les débutants, mais vue que je ne compte pas faire d’autre article sur le sujet je tenais absolument à traiter cette question. Car il est probable, qu’un moment ou un autre ton niveau n’augmente plus. Sois parce que tu à fini la formation, ton livre, qu’importe la raison. C’est ce qui m’est arrivé avec le HTML5 & CSS3, une fois avoir fini la formation je n’avais plus rien de nouveau à apprendre. Même si j’ai réussi à trouver quelque tuto d’animation, mais rien de fous. J’ai donc décidé de ne pas me renfermer sur le HTML & CSS, mais de voir leur variant. C’est à dire ce qu’on peut leur rajouter. Et en l’occurrence ici j’ai utilisé par exemple le JavaScript ce que ma permit de donner du look à mon site, ou même Redact, ou le PHP et MySQL pour les bases de donnée donc les comptes d’utilisateur etc… Je te dis sa car c’est ce que tu doit essayer de faire, après tout dépens ton langage si c’est le C++, tente de crée un jeu, idem pour le C#. Trouve tout ce que tu peux faire d’autre avec le langage de programmation que tu apprends ! Sois un bon sceptique et prend toute les ressources à ta disposition pour augmenter encore ton niveau !

 

Dans tous les cas si tu débute, ne fait pas l’erreur d’écouter tout et n’importe quoi. N’hésite pas à tester et à vous faire votre propre avis. Que sa sois pour un langage de programmation, un IDE, une formation etc… Et surtout ne faite pas de vulgaire copier collé de code, sans le modifier et tenter de nouvelles choses, car tu risquera de moins retenir ce que tu apprends.

 

Je doit avouez que je n’ai pas vraiment parlé des langage de programmation, du moins de les présenter en détaille comme le c#, c, JavaScript, PHP3 etc… Mais je compte faire un article qui vous expliquera comment débuter avec certain langage. Mais je vais aussi faire un e-book (gratuit) qui présente beaucoup de langage de programmation différent. Mais ce n’est pas pour toute suite, en tout cas je vais arrêter cet article ici ! Mais je voudrais savoir si cette article ta été utile ou du moins ta plus, n’hésite pas à me donner ton avis en commentaire ou sur mes réseaux sociaux ! Aller bonne apprentissage jeune outsider !

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Top