Le point de départ pour apprendre Java - ce que vous devez savoir et les choses que j'aurais aimé savoir
Publié: 2020-04-14Il est plus facile de se lancer dans la programmation si cela fait partie de votre cursus collégial. Ensuite, vous n'avez pas à choisir la langue à apprendre, les arguments à ignorer et les concepts auxquels accorder plus d'attention.
Quand je suis allé à l'université, C était le premier langage de programmation à apprendre, puis les professeurs nous donnaient un cours sur C++ et plus tard, si vous le vouliez, vous pouviez choisir Java, Python et d'autres langages.
Cependant, lorsque je parle à des développeurs de logiciels débutants, je ne recommande pas de donner un coup de pied à votre formation en programmation avec C. Au lieu de cela, je suggère généralement d'apprendre Java - j'expliquerai pourquoi un peu plus tard.
Bien que, à mon avis, la communauté Java regorge de matériel d'apprentissage, les développeurs débutants me demandent souvent « Alors, par où commencer ? » ou "Dois-je lire la théorie ou commencer à écrire du code tout de suite?".
Apparemment, apprendre à coder par soi-même n'est pas facile. En tant que développeur chevronné, j'ai décidé d'aider des pairs novices et de les guider à travers les pièges de la courbe d'apprentissage de Java. Dans cet article, vous découvrirez quelles pratiques changent la donne dans l'apprentissage de Java, où de nombreux développeurs Java échouent et comment vous assurer d'appliquer les concepts que vous maîtrisez sur le lieu de travail.
Mais pourquoi Java ?
Si votre premier réflexe est de lancer un débat avec moi et de m'expliquer que Python est plus simple ou que le C est une manière plus traditionnelle d'apprendre le développement logiciel, laissez-moi vous assurer que je vois d'où vous pourriez venir.
Je vois Java pour ce qu'il est objectivement, je reconnais ses inconvénients (rapidité et efficacité de la mémoire, par exemple) - néanmoins, je pense qu'il n'y a pas de meilleur langage à apprendre en tant que développeur débutant.
Voici pourquoi j'aime tant Java comme point de départ dans la programmation :
- Les concepts de Java sont utilisés par plusieurs langages de programmation. La programmation orientée objet, les variables typées ou le flux de contrôle sont tous des concepts que vous pourrez utiliser ultérieurement lorsque vous travaillerez en C ou C++. Si un développeur Python ne sait coder qu'en Python, vous disposerez d'un pont entre Java et d'autres langages Web et mobiles (Kotlin, pour sa part, doit une grande partie de ses fonctionnalités à Java). En termes de polyvalence, choisir Java est définitivement une victoire sur tout autre langage.
- Le codage en Java est polyvalent. Pour votre premier langage de développement, vous ne voulez pas seulement une technologie lucrative qui vous apportera des compétences et un emploi. Au contraire, il est dans votre intérêt de vous assurer que vous êtes prêt à vous amuser - et Java est exactement ce que vous recherchez. Si vous débutez, le sentiment que le C est plus simple parce que vous devez taper moins peut vous hanter (c'est trompeur comme vous le comprendrez plus tard). Cependant, si je me souviens de mes jours d'apprentissage du langage de programmation, aucune autre expérience d'apprentissage ne l'emporte sur l'ingérence dans Java. Il y a tellement de place pour la créativité et des exemples d'applications à créer - RPG textuels, jeux gérés par console et bien d'autres. En plus de cela, vous pouvez trouver des projets pour tous les niveaux de difficulté - il n'est pas nécessaire d'apprendre des concepts théoriques pendant des mois avant de passer à l'apprentissage pratique.
- Langue largement utilisée. Parfois, c'est aussi simple que cela - vous voulez apprendre un langage qui peut vous permettre de tout faire, et il n'y a rien de mieux que Java. Le langage est idéal pour les applications Web, les logiciels, les projets Android et les outils internes. Après avoir appris les bases de Java, vous aurez l'impression de pouvoir faire plus ou moins n'importe quoi. Certes, il sera toujours nécessaire de se mêler de langages scriptés comme JavaScript - cependant, ce ne serait pas aussi effrayant que d'apprendre un langage de programmation à partir de zéro une fois que vous êtes au moins au niveau de compétence intermédiaire de Java.
Marché de l'emploi de programmation Java - Tout va bien?

Apprendre Java peut être amusant et tout, mais ne serai-je pas au chômage et affamé si c'est la seule langue que je connaisse ?
Parce que Java est si populaire parmi les développeurs débutants, vous pourriez avoir l'impression que tout le monde sait comment l'utiliser et que personne n'embauchera plus de programmeurs. Très probablement, vous ressentez les effets classiques de l'amorçage - pensant que parce que vous voyez beaucoup de choses, cela pourrait être douloureusement commun.
J'ai collecté des statistiques sur le marché du travail Java pour prouver qu'il y a beaucoup de travail pour un développeur raisonnablement qualifié :
- Java est le langage de programmation le mieux classé selon la dernière enquête de Stack Overflow ;
- Le salaire moyen d'un développeur Java aux États-Unis est de 79 137 $, selon Glassdoor ;
- Nombre d'ouvertures de développement Java actuellement disponibles sur Indeed - 27 049
Si vous tenez compte des tendances générales du monde de la technologie, telles que la demande croissante de talents technologiques et la prolifération croissante des appareils Android (Java est un langage de développement Android largement utilisé), il devient clair que vous ne manquez pas d'emplois. bientôt.
Ainsi, au lieu d'hésiter si vous devez ou non essayer Java, rassemblez-vous et commencez à apprendre le langage dès aujourd'hui.
Ce que j'aurais aimé savoir lors de mon parcours d'apprentissage de Java
À l'époque où j'apprenais Java, il n'y avait pas moitié moins d'outils et de ressources, à part quelques dizaines de tutoriels, de livres et de documentation officielle. Pourquoi je pense que les développeurs ont plus de facilité maintenant qu'il y a beaucoup de ressources, beaucoup de codeurs débutants sont confus et dépassés par la variété des outils.

Bien qu'il n'y ait pas de stratégie immuable pour acquérir des compétences en développement de logiciels, voici quelques choses que j'aurais aimé que quelqu'un me dise plus tôt.
1. Apprenez à résoudre des problèmes, pas à programmer

Je vois beaucoup de débutants parcourir tutoriels après tutoriels, ramassant des modèles et des concepts. Cependant, même si cela vous aidera à apprendre la syntaxe Java, vous serez encore loin de l'état d'esprit d'un programmeur.
Juste après avoir terminé les didacticiels Java et dû mettre mes compétences à profit, je suis devenu confus et mis au défi. Au lieu de disséquer les applications en pièces mobiles et de voir comment je pouvais les construire moi-même à partir de zéro, je continuais à voir chaque projet comme une haute montagne que je n'avais aucun moyen de gravir.
Heureusement, en cours de route, j'ai trouvé de nombreuses ressources qui m'ont aidé à gagner en confiance dans le développement Java réel :
- Pensez comme un programmeur - un livre qui vous aide à acquérir l'état d'esprit d'un développeur, quelle que soit la langue que vous apprenez
- Codegym - une plate-forme dédiée spécifiquement à l'apprentissage de Java qui met l'accent sur l'application pratique de concepts théoriques. Grâce à celui-ci, j'ai découvert plusieurs hacks utiles qui m'ont aidé à me lancer dans le développement de projets.
- Stack Overflow - Je sais que vous avez beaucoup entendu parler de se cacher ici - même si je ne recommande pas de coller des morceaux de code de SO, parcourir les forums vous rapproche certainement de l'état d'esprit d'un développeur.
2. J'ai sous-estimé la technologie d'assistance
D'une manière ou d'une autre, j'ignorais parfaitement à quel point les bibliothèques et les frameworks Java peuvent être utiles. Naturellement, en tant que développeur débutant, vous voulez tout faire par vous-même. Cependant, vous ne pouvez faire que cela en une journée, et la recherche de raccourcis est souvent cruciale.
Si je devais recommencer mon parcours d'apprentissage de Java, je serais beaucoup plus minutieux lors du choix d'un ensemble d'outils avec lequel jumeler le langage.
Voici les outils que je recommanderais aux développeurs de vérifier :
- JUnit - un outil de test pratique pour les programmeurs Java
- JRat - un profileur de performances Java qui permet aux développeurs de surveiller l'exécution de leurs produits ;
- Mockito - un framework open-source qui facilite la moquerie Java;
- Ehcache - un outil de mise en cache conçu spécifiquement pour la programmation Java.
Je vais énumérer ci-dessous les bibliothèques, frameworks et API les plus essentiels pour l'apprentissage de Java.
3. Je n'avais pas de plan d'apprentissage
Faisant beaucoup confiance aux tutoriels et aux ressources en ligne, j'ai commencé à apprendre Java complètement la tête vide. Je n'avais aucun calendrier pour mon voyage, aucune idée de la façon dont j'utiliserais mes compétences ou une routine d'étude quotidienne étoffée. Ma motivation était simple et stupide - Java semblait à la mode, ne sachant pas que c'était un raté, alors pourquoi ne pas l'apprendre ?
Si vous débutez dans le développement de logiciels, soyez plus précis sur ce que vous voulez faire en fin de compte. Ne laissez pas non plus l'objectif que vous avez en tête vous aveugler - apprendre un langage de programmation doit toujours commencer par les bases, même si vous voulez devenir un développeur full-stack - un touche-à-tout.
À l'heure actuelle, si je devais apprendre Java à partir de zéro, ce serait à peu près ma feuille de route :
API JDK :
- E/S Java
- Collection Java
- Concurrence Java
- Java 8
Cadres Java :
- Le printemps
- Botte de printemps
- Hiberner
- Micronaute
- Microprofil Eclipse
Bibliothèques de test :
- Concombre - facilite les tests axés sur l'entreprise
- Robot Framework - aide à optimiser les tests d'intégration
- JUnity pour les tests unitaires
- Mockito pour les tests de maquette.
Pour une maquette d'apprentissage du développement Java plus détaillée, consultez le graphique ci-dessous.

J'attribuerais un délai à chacun de ces blocs pour m'assurer de ne pas me relâcher et de progresser.
Conclusion
Quand je dis qu'apprendre Java est une balade amusante, je fais principalement référence à la nostalgie et aux souvenirs heureux que vous ressentirez après avoir maîtrisé. En ce qui concerne le processus, vous ferez l'expérience à la fois du haut d'obtenir la bonne réponse au problème et du bas de ne pas comprendre ce que votre ressource d'apprentissage attend de vous.
Comme pour tout apprentissage, maîtriser un langage de programmation, c'est de la sueur et des larmes de sang. Cependant, tant que vous persévérez et dépassez la lourdeur initiale de Java, le processus d'apprentissage deviendra progressivement plus agréable et moins épuisant.
Avez-vous des idées à ce sujet? Faites-le nous savoir ci-dessous dans les commentaires ou transférez la discussion sur notre Twitter ou Facebook.
Recommandations des éditeurs :
- Démarrez vos compétences en JavaScript avec ce cours pour débutant à 13 $
- 9 doivent apprendre les decks pour rester à jour avec Java
- 3 choses que vous devez savoir sur l'hébergement Java
- Pourquoi la programmation Java est-elle populaire pour les entreprises ?