Langage de programmation
Nous parlons tellement de langues, mais en combien de CODONS-nous ?
Il est difficile de choisir un langage de programmation qui est en demande et continuera de l'être - cela aussi avec une échelle de rémunération élevée,
et ce n'est pas toujours aussi facile d'en choisir un, ne le sera jamais,
il y aura toujours des compromis dans le choix du meilleur langage de programmation (et dans la vie aussi),
car aucun langage de programmation n'est parfait !
considère ceci,
on est facile à apprendre mais lent ( Python ) on est très rapide mais difficile à apprendre ( C++ ), on est verbeux mais en demande ( Java ), on est dans le battage médiatique mais les cas d'utilisation limités ( Go ), on est utilisé partout mais marché du travail saturé ( JavaScript ) et ainsi de suite…
vous avez le sentiment, n'est-ce pas?
Je pourrais faire une analyse détaillée de la langue que vous devriez préférer, mais Internet en regorge, alors voici un aperçu court et clair.
Cet article est mon opinion personnelle. Chaque langage est bon, c'est juste la façon dont vous, le développeur, l'utilisez.
Vous ne finirez probablement pas cet article. En fait, je vous ai peut-être déjà perdu dans un autre onglet de votre navigateur. Ou un e-mail de votre patron. Ou un ping d'un collègue. Ou un certain nombre d'autres distractions numériques qui sont venues définir votre vie moderne.
[Les recommandations ci-dessous concernent le contexte des États-Unis et d'autres pays du 1er monde. Faites défiler vers le bas pour le contexte indien .]
TU DEVRAIS APPRENDRE
- Javascript — La communauté de développeurs la plus utilisée, la plus polyvalente, la plus simple et la plus importante. ( être conscient )
- Python - plus facile à apprendre, application large, l'adoption continue de croître.
- Kotlin/Swift — polyvalent, simplification du développement d'applications natives existantes.
- C# — Langage agnostique de plate-forme, simple et polyvalent, peut être utilisé pour développer tout type d'application, développement de jeux, VR, AR.
- Go — résout les problèmes d'évolutivité, un code simple et élégant, facile à apprendre, le langage du cloud, DevOps.
VOUS DEVRIEZ CONSIDÉRER
- C++ — pont b/w LLP et HLP, mémoire non sécurisée, développement de moteur de jeu, niveau du système d'exploitation, embarqué, fintech, trading.
- R — statistiques, ML, visualisation de données, lent et gourmand en données.
- Dart - Une base de code pour Android, iOS, application Web, programmes de bureau, programmes Linux, intégré. Battement.
- Rust — gestion de la mémoire, noyau Linux, salaire le plus élevé.
TU DEVRAIS ÉVITER
- Java — Big Data, déclin constant, communauté non évolutive, problèmes d'évolutivité mais toujours très demandé. Roi de l'entreprise.
- PHP — manque de bons outils de débogage, salaire relativement bas, toujours très populaire, concurrence féroce de python. [Les versions antérieures de PHP accordaient moins d'attention aux fonctionnalités de sécurité, actuellement, il est aussi robuste que n'importe quel autre langage]
- Ruby — de meilleurs outils sont disponibles maintenant.
POUR LE CONTEXTE INDIEN
- Java — Langage le plus demandé selon le marché du travail indien, valeur sûre.
- Javascript ou Python — Maîtrisez n'importe qui et vous êtes prêt à partir. Période .
- C++ — Utilisez-le pour la structure de données et les algorithmes et la programmation concurrentielle.
Recommandation : Java et Javascript .
Tous les langages de programmation sont construits dans un but spécifique, au fil du temps, ils dévient vers des langages à usage général (peuvent être utilisés pour presque tout coder, par exemple Javascript, Java et dans une certaine mesure Python).
Voici quelques catégorisations de langues, jetez un oeil
Basé sur différents paradigmes de programmation
Langage de programmation orienté objet
Java, C++, C#, Python, Javascript (pseudo POO)
Langages de programmation procédurale
BASIC, C, PASCAL, FORTRAN, Go
Langages de programmation fonctionnels
Haskell, SML, Scala, F#, ML, Schéma, R, JavaScript
Langages de programmation de scripts
- Langages de script côté serveur : Javascript, PHP, Python et Go.
- Langages de script côté client : Javascript, Web Assembly .
- Administration système : BASH, PERL, Python .
- Interface Linux : BASH
Langages de programmation logique
PROLOG, ASAP (programmation par répondeur), Datalog et Coq.
« Apprenez un langage de programmation orienté objet et un langage de programmation de script . »
Basé sur les différences d'exécution
Langages à typage dynamique
Python, JavaScript, Ruby, PHP, Erlang, Perl, Lua.
Langages statiquement typés
C, C++, Java, Go, Haskell, Kotlin, Rust, Scala, Swift.
À la fois statique et dynamique (saisie progressive)
Fléchette, Do#, Clojure
Compilateurs de langage open source
C(gcc), C++(g++), C#(.NET, auparavant fermé), Java(JVM), Python(PVM), Go, Kotlin(JVM), Julia, R, Scala, Dart, Swift, pratiquement tous langue célèbre.
Compilateurs de langage source fermé
Matlab, MSVC++, ABAP, SAS, Delphi, VBScript, Microfocus COBOL, LabVIEW, IDL, PL/SQL
« Un langage de programmation n'est pas open source ou fermé en tant que tel. Son compilateur et ses bibliothèques d'exécution peuvent être à code source fermé.
Basé sur l'application
Pour le développement d'applications mobiles
- Natif — Java ou Kotlin (Android Studio), Swift ou Objective C (Xcode, pour iOS et macOS)
- Cross-Platform - Dart (pour Flutter), Javascript (pour React Native et Ionic), C# (Xamarin).
Pour le développement Web
- Frontend - Javascript (React, Angular, Vue)
- Backend — Javascript (nodejs), Python (flask, django), Go (gin, gorilla), Ruby (Ruby on rails), Java (Spring Boot)
- DevOps — Go, Java, Python
Pour le développement de jeux
C++, C#, Java, Javascript, LUA
Pour les développeurs de métaverse AR/VR
C++, C#, Java, Javascript, Python, Solidité, Rouille
Pour la programmation système
Allez, C, C++, Rust, Erlang
Pour AI/ML
Python, Javascript
Pour la science des données et l'analyse
Python, R, Julia
Pour les mégadonnées
Java, Scala
Pour la cybersécurité
Python, Bash, PHP
Autres
Industrie automobile — C/C++
Santé — Python
Marketing — SQL
Science — Système embarqué MATLAB — Programmation Linux C/C++ (noyau) — C, Rust
Combos possibles à apprendre :-
- Javascript et Java
- Python et C++
- Allez et C#
ou toute autre combinaison de LHS et RHS.
J'ai choisi Go, Javascript et C++ pour moi-même.
S'il se démarque, pourquoi pas Rust ?
— La rouille est géniale, appréciée de beaucoup, moderne, mais spécifique à une niche. Ce n'est pas un langage à usage général comme Python et Javascript, vous pouvez toujours obtenir un bon travail, mais je ne recommanderai pas à Rust d'être la langue maternelle de quelqu'un ou une langue qu'il apprend dans l'espoir d'obtenir un bon travail rapidement. Rust est un langage système où la gestion de la mémoire est critique.
Un peu d'histoire sur les langages de programmation populaires, pas nécessaire mais bon à savoir.
pendant ce temps, lorsque vous étiez occupé à vivre la vie, ces géants de la technologie ont créé des langages de programmation sympas !
Les géants de la technologie développent des langages principalement pour résoudre leurs propres problèmes (et non à des fins caritatives), certains copient même un autre langage déjà populaire sur le marché (Microsoft a copié Java pour créer C#, Bosque est également très similaire au Go de Google).
Vous avez peut-être entendu tout le monde dire que vous ne maîtrisez qu'une seule langue, c'est vrai, mais généralement, seuls quelques-uns suivent ce conseil, le reste d'entre nous passe d'une technologie buzz à une autre.
La maîtrise d'un langage signifie savoir comment les API sont construites ou tout autre cas d'utilisation pour lequel le langage est construit spécifiquement, comment envoyer un type de requête différent (GET, POST), les fonctionnalités liées à la concurrence et au parallélisme, comment la mémoire est gérée, comment optimiser assembly intermédiaire ou byte code pour les performances et des choses comme ça, les classes, les objets, etc. Ces choses ne diffèrent guère entre les langages de programmation.
Ex : Go et Java sont très similaires à cet égard.