Ces derniers mois, j'ai appris à créer des applications iOS avec Objective-C, et ce n'est que maintenant que je commence enfin à prendre le coup. Je dois dire que c'est bien plus difficile que je ne l'imaginais.

Confus, frustré et découragé, j’ai en fait passé moins de temps à écrire du code qu’à chercher et corriger des bugs. Mais lorsque j’ai enfin pu jouer avec l’application mobile que j’avais construite de mes propres mains, j’ai soudain senti que tous ces efforts en valaient la peine !

ec3deb8ca0071e7a3e65e8d3837b26c6

Tout au long de mon parcours de création d’applications, j’ai beaucoup appris — pas seulement sur la façon de développer des applications iOS, mais aussi sur la planification globale, et même mes compétences en programmation se sont améliorées. Cependant, de nombreux problèmes auraient pu être évités si j’avais adopté une autre approche pour apprendre Objective-C.

En combinant toutes ces leçons, si je devais réapprendre à coder aujourd’hui, voici ce que je ferais :

Trouver un « binôme de code »

Tout d’abord, trouvez un « binôme de code » avec qui échanger des idées.

Un de mes amis, Josh, est un développeur Python qui connaît aussi Objective-C. Il appréciait bon nombre des questions pertinentes que je posais (« Comment utiliser les instructions if, déjà ? »), et lorsque j’étais complètement bloqué, il m’aidait à déboguer. C’était vraiment un cas où enseigner bénéficiait autant à l’enseignant qu’à l’apprenant.

Honnêtement, avoir un ami développeur aussi patient pour m’expliquer les principes de base de la programmation m’a été extrêmement bénéfique. Si j’avais eu un tel ami plus tôt, je pense que je n’aurais pas fait autant de détours avec Objective-C.

Utiliser toutes les ressources disponibles

Si vous n’avez pas un tel binôme de code patient à vos côtés, vous pouvez obtenir de l’aide grâce aux méthodes suivantes :

1. Stack Overflow

Pour des problèmes de syntaxe et de développement précis, Stack Overflow est la solution. Personnellement, je n’ai pas encore posé de questions en ligne, car lire simplement les questions et réponses des autres suffit.

2. S’abonner aux newsletters en ligne

Les ressources d’apprentissage en ligne sont complexes et peuvent souvent laisser les débutants perplexes. Certaines newsletters en ligne diffusent régulièrement du contenu récent de qualité afin que vous puissiez apprendre de manière sélective. Nous recommandons « Happy Coder » lancé par CodeCao ; vous pouvez cliquer directement ici pour vous abonner par e-mail.

3. Treehouse

Apprenez à coder grâce à des cours vidéo et à des forums communautaires intégrés.

4. askadev

Grâce à askadev, vous pouvez être mis en relation avec des développeurs expérimentés lorsque vous avez besoin d’aide. Je ne l’ai pas essayé moi-même et je ne sais pas s’il couvre tous les langages de programmation, mais une chose est bonne : c’est gratuit. Alors la prochaine fois que vous rencontrez un problème difficile, n’hésitez pas à essayer.

5. Codementor

Si cela ne vous dérange pas de dépenser un peu d’argent pour obtenir l’aide de développeurs expérimentés, vous pourriez essayer Codementor. Il vous mettra en relation avec les meilleures options, couvrant des langages incluant Android, iOS, HTML, CSS, PHP, Python, etc.

6. La méthode du canard en caoutchouc

Le point clé de cette méthode est d’énoncer votre problème à voix haute, en l’expliquant à un canard en caoutchouc ou à tout autre objet inanimé — même un grille-pain fait l’affaire.

Pendant que vous expliquez, vous aurez souvent soudainement une illumination et penserez à la réponse (ou remarquerez quelque chose qui ne va pas).

Apprenez les fondamentaux

Beaucoup de choses deviennent des obstacles à cause de nos propres malentendus ou de notre méconnaissance de la technologie que nous utilisons.

Par exemple, utiliser une API signifie que vous devez comprendre comment fonctionne l'API, comment utiliser les requêtes POST et GET, et comment analyser des données JSON. Vous devez même savoir comment recevoir des données JSON.

Pour créer une application iOS, apprendre Objective-C seul ne suffit pas—du moins, cela n'a pas suffi à créer l'application que j'avais en tête. J'ai déjà commis exactement cette erreur.

Pire encore, je me retrouvais souvent bloqué. Même avec les explications des forums, les tutoriels en ligne et les chapitres de livres, ils passaient tous à côté de certains fondamentaux—en supposant que je les connaissais alors que ce n'était pas le cas.

Si je devais réapprendre, je maîtriserais certainement les bases du HTML et du CSS. Si je devais refaire une application, je ne commencerais jamais à l'aveugle comme je l'ai fait ; au lieu de cela, je bâtirais d'abord des bases solides.

Le premier langage

Tout langage est un atout. Même si le HTML et le CSS que j'ai appris n'ont toujours pas été mis à profit, je ne pense toujours pas que leur apprentissage ait été une perte de temps.

Les débutants peuvent commencer par essayer de créer des sites web avec HTML et CSS. Ce sont en fait des langages de balisage, donc ils peuvent ne pas beaucoup aider à créer des applications mobiles ou web. Mais même s'ils ne sont pas directement utiles, nous acquérons tout de même beaucoup de connaissances et d'expérience pendant le processus d'apprentissage, ce qui facilite l'apprentissage du prochain langage de programmation.

Si vous commencez tout juste à apprendre à coder mais que vous ne savez pas par où commencer, vous pouvez simplement choisir des livres, des tutoriels ou des cours en ligne qui vous plaisent. Tant que vous vous sentez à l'aise avec eux, n'hésitez pas. Une fois que vous avez un objectif précis, vous pouvez immédiatement passer à l'apprentissage d'autres langages de programmation différents.

Trouvez un projet sur lequel vous voulez vraiment travailler

Je me considère comme une personne assez travailleuse. J'ai appris le HTML et le CSS à l'adolescence, puis j'ai appris quelques bases de Ruby il y a quelques années, et récemment, mon choix s'est porté sur Python.

Puis j'ai décidé d'apprendre Objective-C—non pas parce qu'il me plaisait davantage ou parce que j'ai vu d'autres personnes l'apprendre et que j'ai ressenti de l'envie, mais parce que je voulais créer une application iOS. Je voulais vraiment en créer une moi-même.

On peut dire que ma passion pour l’apprentissage de l’Objective-C était plus forte que pour tout autre langage auparavant.

Plus important encore, lorsque j’ai rencontré divers problèmes et que je me suis senti frustré, je n’ai jamais pensé à abandonner—car c’était un projet que je voulais vraiment réaliser. Même un petit pas en avant était pour moi une motivation pour continuer.

Si vous envisagez d’apprendre à coder et que vous n’avez pas d’autres contraintes, choisissez un langage de programmation que vous aimez vraiment et que le projet que vous souhaitez construire requiert.

Le processus d’apprentissage de chacun est différent, votre expérience peut donc différer de la mienne. Mais si vous débutez ou envisagez d’apprendre à coder, j’espère sincèrement que mes leçons pourront vous aider à apprendre plus vite.


Lien de traduction : http://www.codeceo.com/article/what-to-do-if-be-programmer.html
Original anglais :Ce que je ferais différemment si j’apprenais à coder aujourd’hui
Traducteur :CodeCao– Xiaofeng