Pourquoi vous devez apprendre plus de langages de programmation

image

Par un traducteur: aujourd'hui, nous publions pour vous un article du développeur Akshat Giri , qui partage ses réflexions sur les raisons pour lesquelles il vaut la peine d'apprendre de plus en plus de langages de programmation.

Je travaille comme programmeur depuis quatre ans. Commencé avec C #, développant des jeux, puis passé à Python et à l'apprentissage automatique. Ensuite, j'ai appris JavaScript et TypeScript pour le frontend. L'étape suivante a été le développement d'applications mobiles, j'ai donc choisi Ionic, React et React Native. Je me suis intéressé au backend et j'ai commencé à travailler avec Go. Un peu plus tard, Dart, Java et PHP ont été ajoutés à la liste de mes langages et frameworks - les trois étaient nécessaires lors de mon travail sur Facebook.

Je ne veux pas dire que je suis un expert dans toutes les langues mentionnées. J'ai juste de l'expérience avec eux, plus qu'avec d'autres langages et frameworks. Pourquoi le choix leur est-il tombé? Eh bien, il me semblait qu'ils offrent plus que les autres, c'est pourquoi c'est le cas.

Skillbox recommande: Cours pratique de deux ans "Je suis un développeur Web PRO . "

Nous vous rappelons: pour tous les lecteurs de «Habr» - une remise de 10 000 roubles lors de l'inscription à un cours Skillbox en utilisant le code promo «Habr».



Mais pourquoi je vous conseille d'apprendre plus de langues? Le fait est que vous ne pouvez même pas imaginer ce que cela prendra dans quelques années. Et le choix du langage ou du cadre approprié peut vous faire gagner beaucoup de temps lors de la résolution d'un problème spécifique.

Solution au premier problème


Je vais donner un exemple simple. Il y a quelques mois, j'ai opté pour un casque Bluetooth. Arrêté aux AirPods. J'en ai essayé beaucoup d'autres, mais ceux-ci me semblaient aussi pratiques que possible. Le problème était que je les utilisais simultanément avec un ordinateur portable Windows et un téléphone Android. Et si les deux gadgets étaient à proximité, alors les écouteurs sont connectés au téléphone, mais pas à l'ordinateur portable. Par conséquent, j'ai dû les déconnecter manuellement et me reconnecter. Tous les jours.

C'est assez fatigant et j'ai décidé de créer un bouton qui résoudrait le problème de la connexion d'un casque à un ordinateur portable lorsque cela est nécessaire.

Au départ, j'ai décidé d'utiliser Python pour résoudre ce problème. Je pensais que je pourrais facilement trouver une bibliothèque qui vous permet de contrôler les appareils Bluetooth. Cela s'est avéré faux, aucune bonne bibliothèque n'a été trouvée.

La prochaine étape est Node.js. J'ai pu trouver une bibliothèque JavaScript qui permettait de contrôler les fonctions Bluetooth sur mon ordinateur. Après avoir exécuté ce script sur Node.js, j'ai réalisé ce qui était nécessaire.
// App.js const device = new bluetooth.DeviceINQ(); const airpodsAddress = "18:81:0E:B2:6B:A6" const airpodsName = "Akshat's Airpods"; device.findSerialPortChannel(airpodsAddress, function (channel) { // make bluetooth connect to remote device bluetooth.connect(airpodsAddress, channel, function (err, connection) { if (err) return console.error(err); console.log('YAY! Airpods Connected'); // Don't need a communication stream between the two // so let's just exit the stream. setTimeout(() => process.exit(0), 5000); }); }); 

OK, mais maintenant j'avais besoin d'un bouton sur l'écran pour lancer le script. Au final, j'ai décidé de le placer sur la barre des tâches de Windows pour qu'il soit toujours disponible. J'ai fait un autre script qui m'a semblé aider à terminer cette tâche. Mais non, j'ai dû me tourner vers Golang. Il a permis de créer un fichier exécutable, qui, à son tour, a exécuté le script précédemment créé sur Node.js.
 / main.go package main import ( "fmt" "os/exec" ) func main() { output, err := exec.Command("npm", "start").CombinedOutput() if err != nil { fmt.Println(err.Error()) } fmt.Println(string(output)) 

Tout a fonctionné. J'ai créé un raccourci pour le bureau et l'ai déplacé vers la barre des tâches. Tout va bien, tout fonctionne.



Je pensais qu'en C # je pouvais aussi résoudre ce problème. Mais je ne voulais vraiment pas installer Visual Studio et IDE.

Mon exemple montre comment différentes langues aident à trouver une solution hybride à un problème spécifique avec un minimum de temps. Il y a des tonnes d'autres exemples, mais le point, je pense, est clair.

Alors pourquoi apprendre d'autres langues?


Pour être honnête, c'est intéressant. De plus, il élargit votre horizon, vous fait sortir de la zone de confort (cela ne crée pas de problèmes, mais donne une impulsion, le désir d'apprendre quelque chose de nouveau).
Une autre raison est d'aller au-delà des capacités d'un langage ou d'un framework. Les langages orientés objet sont très bien, mais vous devez également apprendre la programmation fonctionnelle ou procédurale.

Le premier langage de programmation que vous apprenez sera le plus difficile. Le second, très probablement, semblera encore plus difficile. Mais plus loin, l'étude de nouveaux produits ressemblera à une promenade dans le parc. Une syntaxe légèrement différente, quelques nouveautés, et c'est tout. De plus, vous pouvez étudier des bibliothèques spécialisées et des frameworks de langues déjà maîtrisées.

Il me semble qu'une autre raison qui peut conduire à l'apprentissage d'autres langues est le WASM. Web Assembly vous permettra d'exécuter la langue dont vous avez besoin dans un navigateur.

Si vous êtes un programmeur JavaScript ou Python, cela vaut la peine de maîtriser les langages de bas niveau. Vous pouvez commencer avec C ++ ou C, mais je conseillerais Golang. Il vous permet d'obtenir toutes les fonctionnalités haute vitesse de C ++ sans les problèmes caractéristiques de la famille C.

Si vous travaillez avec des langages de bas niveau, essayez JavaScript ou Python. Les deux sont très populaires et communs. Les deux peuvent être utilisés conjointement avec des langages de bas niveau. Vous pouvez écrire des modules C ++ pour Node.js et Python.

Partagez votre propre expérience dans les commentaires: quelles langues connaissez-vous, qu'avez-vous l'intention d'apprendre et pourquoi?
Skillbox recommande:

Source: https://habr.com/ru/post/fr435414/


All Articles