Changer de langage de programmation ne fait pas peur.

Changer de langage de programmation ne fait pas peur.

Jongler entre les langages de programmation

Je ne peux pas, je ne comprends pas, j'ai peur que je n'arrive pas!! On te demande de sortir de ta zone de confort ? C'est trop confortable de demander ça, mais pas de le faire.

Pour maîtriser des autres langages de programmation, il y a des règles et des astuces, on va les voir ensemble ne t'inquiet pas.

php Java JS dart SQL .. et beaucoup beaucoup beaucoup.

  1. Les points communs entre les langages de programmation.
  2. Les différences entre les langages de programmation.
  3. Que dois-je faire pour apprendre un autre langage ?
  4. Des ressources à volontés.

Lets the game begin !! Dans tous les langages de programmation, il y a des points en communs :

  • Utilisation des variable *: Chaque langage de programmation utilise des variables pour gérer les données ;

    //php
    $maVariable="YES";
    //JS
    var maVariable="GOOD";
    //JAVA
    String maVariable="GREAT";
    

    Donc tous les langages utilisent les variables, toi, tu sais gérer les variables avec php ? Bah, ce sont les mêmes, juste la syntaxe change. C'est comme si tu dis salut en français et Hi en anglais, ça reste toujours la même chose. Pour apprendre un nouveau langage des programmations, au moins, tu sais qu'elle utilise quelques choses que tu connais déjà va juste regarder sa syntaxe.

  • Les structures conditionnelles *: Même la vie fonctionne avec un "si" et "sinon", chaque langage utilise if et else et elseif ou elif Chaque langage utilise les switch et case.

Les boucles:

Pour parcourir une liste ou un fichier ou n'importe quelle data source qui contient plus qu'un seul élément on utilise les boucles; for, foreach, while, do while...

//php
for($i=0;$i<10;$i++){
echo "hello";
}
//JS
for(let i=0;i<10;i++){
console.log('hello');
}
//JAVA
for (int i = 0; i < 10; i++) {
  System.out.println('hello');
}

T'as vu?? C'est la même chose ne panique pas les trois bouts de code affiche hello, mais chaque langage utilise sa propre fonction echo console.log System.out.println .

//php
while($value==true){
//fait qlqs choses
}
//JS
while(value==true){
//fait qlqs choses
}

La même chose pour les do while, encore une fois, tu connais déjà comment faire les boucles avec un langage ? Alors même l'autre langage gère les boucles :)

Les fonctions: Go people GO !! Alors tu aimes les fonctions pour réduire le code, mieux le structurer et pour la réutilisabilité. :)

//php
function maFonction($param1,$param2){
//traitement
}
//JS
function maFonction(param1,param2){
//traitement
}
//JAVA
void maFonction(param1,param2){
//Traitement
}

Tu l'as remarqué ici que pour JAVA par exemple il n'utilise pas le mot-clé function, mais le type de retour qui est dans l'exemple void qui veut dire vide, je ne retourne rien. Dans tous les langages, les functions ou on peut les nommer method peuvent prendre des paramètres ils font un traitement et ils retournent ou pas des réponse.

Les différences entre les langages de programmation

Évidement, il n'y aura pas du challenge si ça va être si simple donc oui il y a des choses différentes entre les langages et s'est surtout autour de son mécanisme et pas les fonctionnalités. Il y a des langages qui sont dits interprétés des autres compilés et certain ont les deux possibilités.

  • Langage interprété * Selon un article de 10 janvier 2020 dans FREECODECAMP :
    Dans un langage compilé, la machine cible traduit directement le programme. Dans un langage interprété, le code source n'est pas directement traduit par la machine cible. Au lieu de cela, un programme différent, alias l'interpréteur, lit et exécute le code.
    
    La suite de l'article et grâce à l'exemple du Hummos explique avec détails la différence entre les deux. Donc oui, si tu viens du monde JS qui est interprété et tu veux basculer vers le monde du JAVA qui est compilé tu dois faire quelques recherches avant de te lancer pour bien commencer ton aventure.

Typed or not typed Il y a des langages de programmation qui vont te dire hey toi tu ne me donnes pas des variables sans savoir leur type, tu dois me dire si c'est un string ou entier ou boolean... Des autres vont te dire vas y ne t'inquiète pas, je m'en charge. Alors les langages qui demandent le type s'appellent Typed programming language et les autres s'appelle Dynamic type programming language. Regarde l'exemple :

// je suis JAVA
int age=30;
String name="BOB";

//Je suis PHP
$age=30;
$name='BOB';
//

Généralement, les langages compilés sont typés avec quelque exception comme (JULIA, LISP...) dans cette situation le compilateur, il a besoin de savoir le type de la variable avant de transformer le code. Pour les langages non typés (et là, on peut trouver des langages compilés ou interprétés.) dite aussi dynamic typed l'interpréteur découvre le type de la variable au moment de l'affectation autrement si tu donnes $age=30 au moment de l'affectation l'interpréteur regarde le type de 30, il trouve que c'est un entier alors il va te dire $age est de type entier, il l'a déjà dit qu'il s'en occupe .

Domaines d'utilisatations Dans le monde de code, il y a des langages pour le frontend, des autres pour le backend, des langage pour le web et des autre pour le mobile, celles pour l'IA ou pour le cloud... Quand tu veux apprendre un nouveau langage de programmation, regarde qu'est ce que tu veux faire ou qu'est ce que ce langage fait, je t'explique : Je veux faire du frontend donc je vais apprendre Python!!! C'est faux même si python grâce à certaines bibliothèques ou framework peut faire du front, mais ce n'est pas fait pour ça. Je veux faire du mobile alors j'apprends le PHP!! Hors sujet, le PHP est pour le backend dans le monde web, tu veux de mobile php peut gérer ton api peut être, mais pas ton application mobile va voir flutter, reactNative, swift... Je veux faire du web donc j'apprends C++!! Tu es sérieux là!!! Tu veux du web, tu peux voir JS, PHP...

Par contre un jour, je me suis dit, je vais apprendre un langage sans avoir une idée dans la tête sur qu'est ce que ce langage fait, par exemple, je vais apprendre `Ruby, génial maintenant Ruby est bien rajouté dans ton CV, mais tu dois pratiquer avec des projets pour la maîtriser, ne t'arrêtes pas à l'étape d'apprentissage, car ça ne va pas faire la différence dans votre CV, mais il faut la maîtriser pour deux raisons : le premier, tu as déjà fait le mi-chemin en apprenant Ruby ça va être nulle de laisser tomber à ce niveau et secondo si tu veux monétiser cette connaissance, tu dois la maîtriser avec de la pratique.

Open source or not

Les langages opensource, c'est celle ou leur code est mis à disposition des développeur et t'as le droit de modifier le code source pour un besoin privé ou commercial. JAVA par exemple est opensource, mais pas C# par contre tu peux trouver des projets réaliser avec csharp qui sont open source et tu peux modifier leur code, mais pas le code source de csharp lui-même.

Conclusion

Les langages que ne vous connaissez pas ne sont pas totalement étranges, vous connaissez forcément quelques aspects ou quelques bases dans n'import quel autre langage alors n'hésitez pas et foncez. Juste avant chaque nouvelle aventure, on fait le plein de connaissance et on se prépare donc quelques recherche ne feront que du bien et il y a un nombre infini des articles qui vous offriront des roadmap pour apprendre n'import quelle technologie.

Toi aussi, raconte-moi dans les commentaires ton grand changement de langage de programmation.