Le débat sur «quelle langue apprendre» est un aliment de base pour les ingénieurs, mais [5 langages de programmation que chaque développeur principal devrait apprendre](https: :) posté sur HackerNoon. //hackernoon.com/5-programming-languages-every-master-developer-should-learn-a3929a8c6f69) était assez intéressant, donc je l'ai traduit.
(Ajouté le 04/11/2018) Les articles suivants ont été ajoutés en tant que «opinions d'un autre point de vue» concernant cet article. Veuillez vous y référer également si vous le souhaitez.
Les interviewers sont très intéressés par les ingénieurs qui connaissent plusieurs langages tels que C ++ et Java.
Personnellement, j'aime les ingénieurs qui ont beaucoup d'expérience en C ++ ou Java et qui peuvent utiliser les deux langages de script tels que Groovy, Perl et Python. (Dans de nombreux cas, les scripts plus petits sont plus faciles à écrire et meilleurs pour les tâches ad hoc, et mon entreprise utilise Java pour lire les fichiers CSV et capturer les messages du port TCP / UDP. Je ne veux écrire aucun code)
Pourquoi ai-je choisi ces cinq langues? La raison est simple et pratique, et j'ai choisi ces langages en fonction de «l'utilisation», du «paradigme» et de la «popularité».
Par exemple, si vous souhaitez devenir développeur d'applications, vous ne pouvez pas ignorer Java et JavaScript dans le sens où il est utilisé partout sur le Web.
Je pense que C est «un langage que chaque développeur devrait apprendre tôt dans sa carrière». Avec C, vous pouvez obtenir des informations sur la programmation au niveau du système et apprendre les concepts importants derrière les JVM et les CLR.
Python est mon premier choix pour les applications de "langage de script". Je pense que Perl ou Groovy est bien, mais Python est vraiment génial quand il s'agit de «richesse des ressources en ligne». Il existe de nombreux modules Python et vous pouvez les intégrer à votre travail en quelques minutes.
De même, l'apprentissage de «langages orientés objet» et de «langages fonctionnels» comme Haskell et Scala vous aidera à élargir votre sens de la programmation et votre réflexion.
Il existe de nombreuses autres raisons pour lesquelles vous devriez apprendre ces cinq langues dans cet article.
Voilà pour l'histoire difficile, commençons avec cinq langages que chaque programmeur devrait essayer.
Un mélange de différents langages, y compris des langages orientés objet, des langages fonctionnels, des langages de script, des langages de bas niveau et des langages utilisés dans le développement côté serveur.
1.Java
Java a été le langage le plus populaire au cours des 20 dernières années et a été un leader dans le développement d'applications côté serveur. Du développement de jeux mobiles et d'applications Android au développement d'applications Web d'entreprise, nous détenons une part de marché énorme.
Java a commencé avec l'idée simple de «WORA» ou «d'écrire une fois exécuté n'importe où», mais maintenant il fonctionne partout.
Si vous souhaitez développer des applications côté serveur robustes et évolutives, vous devez apprendre Java. Vous pouvez écrire en Java, quelle que soit la complexité de votre système, et bénéficier du support d'une variété d'outils, de technologies et de communautés.
** Pourquoi avez-vous besoin d'apprendre Java? Avec Java, vous pouvez vous concentrer sur la conception et le codage de votre application sans avoir à vous soucier des détails au niveau du système et de la gestion de la mémoire. La JVM s'occupera de toutes les choses gênantes. ** **
Si vous décidez d'apprendre Java, je vous recommande la [Complete Java Master class] d'Udemy (https://www.udemy.com/java-the-complete-java-developer-course/). Tous les concepts de base sont couverts dans un bon équilibre.
Si vous voulez un cours gratuit, Cours Java gratuits pour les débutants Vous devriez vérifier.
Java est également utilisé par les grandes entreprises telles que les banques et les compagnies d'assurance, et vous pouvez également créer des applications Android pour atteindre le grand public.
2.Python
Python est la langue la plus enseignée dans les écoles et universités du monde entier. Aux États-Unis, Python a éloigné Java de sa position de première langue à enseigner dans les cours universitaires. Que pouvez-vous obtenir en apprenant Python? Nous avons beaucoup.
Python peut être utilisé comme langage de script ou comme langage orienté objet pour développer de grands projets.
Des sites Web bien connus tels que Reddit sont créés à l'aide de frameworks Web tels que Python et Django, et ces dernières années, de nombreuses grandes organisations sont passées aux cadres Web basés sur Python.
En outre, Python est de plus en plus populaire avec les nouvelles générations de technologies telles que l'apprentissage automatique, l'IA et la science des données, car TensorFlow, Scikit-Learn et de nombreuses autres bibliothèques d'apprentissage automatique existent en Python. Ce n'est pas étonnant.
Complete Guide to TensorFlow for Deep Learning with Python
J'utilise personnellement Python comme langage de script. Par exemple, lors de la création d'un écouteur de messages UDP, il faut 20 minutes à Java pour écrire en 5 minutes pour Python. Vous pouvez rapidement vous débarrasser des tâches ad hoc sans les tracas de la compilation et de l'empaquetage.
Si vous souhaitez apprendre Python, Complete Python Bootcamp est le premier cours recommandé pour apprendre.
Si vous êtes intéressé par des cours gratuits, consultez cours Python gratuits pour les débutants regarde s'il te plait.
Si vous vous demandez si vous devez commencer à apprendre de Java ou Python, voici une comparaison de Java et Python Infographic Consultez -language-to-learn-first.html).
3.JavaScript
Dans ces cinq listes, il peut être possible de remplacer Java par C ++ ou Python par Ruby, mais dans le monde Web actuel, JavaScript ne peut être remplacé par aucun autre langage. Au cours des cinq dernières années, JavaScript a dominé le monde même.
JavaScript n'est plus seulement un langage de script côté client. Avec l'avènement de Node.js, Angular, React, etc., JavaScript peut désormais être utilisé pour le développement côté serveur et le développement d'interface utilisateur.
Une partie de JavaScript a rencontré un énorme succès avec jQuery, qui a fondamentalement changé la façon dont JavaScript est utilisé côté client.
En tant que programmeur Java, j'ai de nombreuses expériences en utilisant jQuery et JavaScript en parallèle lors du développement d'applications basées sur JSP et servlet.
La connaissance de ce langage permet de prendre très facilement de telles décisions sur les fonctionnalités à utiliser côté serveur et celles à utiliser côté client. (Par exemple, déplacer un grand nombre de traitements de validation effectués du côté serveur vers le côté client)
Si vous voulez apprendre le JavaScript, le [cours complet sur le JavaScript] d'Udemy (https://www.udemy.com/the-complete-javascript-course/) est le meilleur cours en ligne.
Si vous êtes intéressé par des cours gratuits, consultez cours JavaScript gratuits pour les développeurs Web S'il vous plaît essayez.
4.C Programming
Vous ne pouvez pas être un vrai programmeur sans connaître le C ou le C ++. C'est peut-être trop strict, mais je peux vous assurer de ma longue expérience.
Les ingénieurs qui maîtrisent le C / C ++ sont souvent tout simplement meilleurs que les ingénieurs qui ne les connaissent pas, et ce n'est pas un hasard. C / C ++ est un langage que vous devez connaître. En étudiant C quand j'étais étudiant, j'ai pu apprendre des concepts clés de la programmation tels que les structures, les tableaux, les pointeurs et la gestion de la mémoire.
C est toujours le langage de programmation au niveau système le plus utilisé et a constamment concurrencé Java dans le domaine de la «popularité du langage» au cours des deux dernières années.
Si vous voulez apprendre ce merveilleux langage, Programmation C pour débutants est recommandé comme première étape.
C est l'une des plus anciennes langues dominantes et a survécu pendant plus de 40 ans.
Au fait, si vous voulez apprendre C ++ au lieu de C, ce n'est pas mal non plus. C et C ++ sont très similaires et peuvent tous deux être utilisés pour la programmation de bas niveau.
Le C ++ est un langage très important, en particulier pour les développeurs de jeux, en raison de ses performances élevées.
Si vous souhaitez créer des jeux et en savoir plus sur le C ++, le The Unreal Engine Developer Course --Learn C ++ & Make Games est l'un des meilleurs cours. C'est un excellent cours et vous n'aurez plus de ressources d'apprentissage pour apprendre à développer un jeu.
Si vous êtes intéressé par des cours gratuits, consultez Cours C ++ GRATUITS pour débutants regarde s'il te plait.
5.Scala
Scala est un langage créé en accumulant les meilleures pratiques au cours des 20 dernières années. Scala est également un langage fonctionnel, offrant un paradigme différent de celui orienté objet. Cela vous aidera à améliorer votre façon de penser et de ressentir la programmation.
Il existe de nombreux autres langages fonctionnels tels que Haskell, mais je suis aussi ingénieur Java, j'ai donc choisi Scala car il était plus facile d'apprendre Scala que Haskell.
Bien sûr, il existe de nombreuses façons de défier Haskell, mais pour de nombreux ingénieurs Java, l'apprentissage de Scala est plus pratique et pragmatique.
L'apprentissage de Haskell peut être plus significatif pour les ingénieurs C ++, mais franchement, les langages fonctionnels doivent être choisis en tenant compte de la «demande commerciale».
En tant qu'ingénieur professionnel, je considère que l'investissement personnel est utile dans ma carrière. Si vous voulez apprendre Scala, Beginning Scala Programming est une bonne première étape.
Peu importe le nombre de langues que vous apprenez, si vous voulez devenir ingénieur professionnel, vous pouvez trouver le codage et la conception comme décrit dans Clean Code. Vous devez suivre le principe. Les compétences décrites dans ce livre seront d'une grande aide pour votre carrière d'ingénieur.
C'est l'ensemble de mes "cinq langues que chaque développeur devrait apprendre".
À mon avis, apprendre plusieurs langues avec différents paradigmes est le meilleur moyen d'améliorer vos compétences en programmation afin que vous puissiez effectuer vos tâches quotidiennes plus efficacement. Je pense que ce sera.
** Idéalement, le jeu d'outils du programmeur devrait inclure des "langages de niveau système tels que C / C ++", "langages orientés objet tels que Java / Python / C ++", "langages fonctionnels tels que Scala / Haskell" et "Perl / Python /". Je pense qu'il devrait inclure "un langage de script puissant tel que Ruby" et "JavaScript, qui est un langage qui ne fonctionne pas comme un substitut". ** **
Les articles suivants sont également recommandés pour les développeurs curieux. 10 Tools Every Programmer should know 10 Articles Every Programmer Must Read 6 Books to Learn and Master Programming 10 Tips to become a better Software developer 10 Object Oriented design Principle Every Programmer should know 10 More Books Every programmer should read 10 Things Java Developer should Learn in 2018
Merci d'avoir lu jusqu'au bout. Si vous aimez cet article, partagez-le avec vos amis et collègues. N'oubliez pas de suivre mon compte Twitter et mon compte moyen!
Si vous avez des questions, des commentaires ou d'autres "langues que les ingénieurs devraient apprendre" que vous pensez, veuillez les partager avec nous.
PS Si vous souhaitez connaître d'autres ressources gratuites, [cours gratuits sur la structure des données et les algorithmes](http://javarevisited.blogspot.com/2018/01/top-5-free-data-structure-and-algorithm-courses- java - c-programmers.html) est recommandé comme première étape de votre parcours de programmation.
Je pense que l'auteur est un ingénieur Java, donc je pense que c'est une vue orientée Java, mais du point de vue du "développement de la capacité en tant qu'ingénieur", je n'ai presque aucune objection à ces cinq listes. ..
Cependant, à mon avis, une autre combinaison est préférable pour «grandir à une vitesse explosive en tant qu'ingénieur» dans l'industrie japonaise du Web. Veuillez vous référer à l'article suivant à ce sujet.
Youtube a une chaîne appelée Miscellaneous Engineer TV pour les ingénieurs Web et ceux qui s'intéressent aux ingénieurs Web. Je vais. Si vous êtes intéressé, je serais très heureux si vous pouviez vous abonner à la chaîne.
En 2019, nous avons également lancé un salon en ligne appelé "Miscellaneous Food Engineer Salon".
Twitter publie également diverses informations centrées sur la "Stratégie de carrière des ingénieurs Web", alors suivez-nous si vous le souhaitez. @poly_soft