python

5 langages de programmation à apprendre en premier lieu ou La base de la demande pour un programmeur moderne.

Aujourd'hui, tous ceux qui aspirent à se lancer dans l'informatique se demandent : quel langage de programmation apprendre ? Tout le monde cherche une réponse universelle qui prédétermine une carrière vertigineuse. Oui, avant l'invention de l'Internet et l'avènement des plateformes mobiles, on pouvait apprendre une langue, y écrire un programme et être un développeur recherché. Aujourd'hui, la réalité est que même les juniors ont une liste d'exigences énorme, parmi lesquelles figure la connaissance de plusieurs langues.

Jugez-en par vous-même : en matière de développement web, il est bon de connaître PHP, JavaScript, Python, Ruby, mais aussi HTML et CSS ; dans la sphère mobile - Swift, Objective-C, Java, C#. La liste des langues pour la création d'applications de bureau ne peut même pas commencer - en fait, toutes seront utiles. C'est pourquoi nous avons pris la responsabilité de nommer 5 langages de programmation que vous devez apprendre au moins de première main pour être appelé un programmeur aujourd'hui.

Python


Python est probablement le langage de programmation le plus simple de notre liste. Il comporte un minimum de caractères spéciaux, une frappe dynamique et une syntaxe des plus compréhensibles. Et si vous n'avez pas bien compris la dernière phrase - c'est une raison pour commencer à apprendre avec Python.

Malgré la simplicité visuelle, ce langage - l'un des plus puissants. Vous pouvez l'utiliser pour travailler avec du texte et construire des réseaux de neurones avec la même facilité. Jetez un coup d'œil :

def fib_recursion(i) :
si i > 1 :
return fib_recursion(i-1) + fib_recursion(i-2)
retour i

pour i dans la gamme(10) :
print i, fib_recursion(i)
Dans ce code, nous avons créé notre propre fonction pour calculer la séquence de Fibonacci et l'afficher ensuite à l'écran. Il n'a fallu que 6 lignes pour décrire une action mathématique assez compliquée.

Il convient de mentionner qu'il existe actuellement deux versions : Python 2 et Python 3. Vous devriez prendre le dernier comme base, car le support de Python 2, et donc - et le développement actif sur celui-ci, s'arrêtera très bientôt.

Au fait, pour ceux qui ont décidé d'apprendre Python, nous avons préparé une liste de conseils utiles et pratiques.

JavaScript


La prochaine doit avoir parmi les langues est le JavaScript. La syntaxe est beaucoup plus complexe : des symboles de fonction et des constructions entre crochets apparaissent, les noms de fonction n'ont pas toujours de sens, et même le code le plus simple a une forme structurée. Examinons le code réécrit avec la fonction de Fibonacci

fonction fib_recursion(n) {
retour n < 1 ? 0
: n <= 2 ? 1
: fib_recursion(n - 1) + fib_recursion(n - 2) ;
}

console.log(fib_recursion(10)) ;


La taille du code n'a pas changé mais la lisibilité a diminué. Après avoir appris le python, vous n'aurez aucun problème pour comprendre comment fonctionne la structure de retour et apprécierez la commodité de cette façon particulière d'écrire.

De plus, l'écosystème JavaScript est plus riche que Python. Il offre une abondance d'environnements de développement, d'éditeurs de code, de cadres de travail et de bibliothèques. C'est un pas de plus vers la compréhension du fonctionnement de la programmation "adulte".

En général, JavaScript est légèrement inférieur à Python en termes de gamme de tâches qu'il résout, mais ses capacités sont "plus profondes". La connaissance de ce langage est utile pour développer des programmes sur n'importe quelle plateforme.

C#


Si vous êtes indécis quant à la langue, cela signifie que vous n'avez pas encore décidé de ce qui vous intéresse : applications web, mobiles ou de bureau. Votre solution est le C#, l'outil universel pour toutes les directions de développement. Pour créer des applications de bureau, vous avez besoin de Visual Studio (la version communautaire est gratuite). Pour le monde mobile, installez Xamarian et pour le web, ASP.NET fera l'affaire.

Regardons notre code en C# :

static void Main(string[] args)
{
nombre int = 10 ;
fib_recursion(numéro) ;
}

static void fib_recursion(int n, int a = 0, int b = 1)
{
si (n == 0) renvoie ;
Console.WriteLine(a) ;
fib_recursion(--n, b, b+a) ;
}
Une fois de plus, le code est un peu plus compliqué - cela est dû à l'utilisation du mot-clé statique. À ce stade, vous vous familiariserez avec l'utilisation intelligente de la mémoire, la visibilité des données et serez totalement immergé dans la POO. Si vous n'avez pas eu le temps de vous familiariser avec JavaScript.

Vous pouvez en apprendre davantage sur le langage C# dans notre article d'introduction. 

Swift


Nous en arrivons ici à la partie la plus intéressante : les langues, dont la parfaite maîtrise vous aidera à entrer dans la sphère du développement mobile. Swift n'est pas tout à fait universel : il n'a pas encore complètement déplacé l'Objective-C des applications Apple, mais ses perspectives sont prometteuses.

La quatrième version de Swift est sortie en 2017 : elle contient de nombreuses améliorations pour le travail avec les cordes, les collections ; la fiabilité a été accrue et bien plus encore. Ce n'est plus un langage "brut", mais un classique représentatif du classement TIOBE de haut niveau avec développement systématique. Avec Swift, vous pouvez créer des applications pour tous les produits Apple : macOS, watchOS, iOS, et tout nouveau système s'il sort.

Examinons le code de la séquence de Fibonacci :

func fib_recursion(num1 : Int, num2 : Int, steps : Int) {

si étapes > 0 {
let newNum = num1 + num2
fib_recursion(num2, num2 : newNum, steps : steps-1)
}
else {
print("result = \(num2)")
}
}
fib_recursion(0, num2 : 1, étapes : 10)


Java


Depuis plus de deux décennies, cette langue figure sur la liste des langues les plus demandées, et cela signifie déjà quelque chose. Aujourd'hui, il est surtout associé au développement d'applications Android - mais ce n'est qu'une petite partie de ses capacités. Avec Java, vous pouvez créer des widgets graphiques pour le web ou écrire des applications de bureau - le principe de l'indépendance des plates-formes et des appareils est bien vivant en Java.

De plus, Java est un excellent langage pour acquérir une bonne maîtrise de la programmation : il met en œuvre tous les principes de la POO, gère la mémoire et les périphériques et permet de s'entraîner à la programmation fonctionnelle.

Et voici à quoi ressemble le code Java de notre séquence dans un cas impératif simple :

classe publique MainClass {

public static long fib_recursion(long number) {
si ((nombre == 0) || (nombre == 1))
numéro de retour ;
sinon
return fib_recursion(number - 1) + fib_recursion(number - 2) ;
}

public static void main(String[] args) {
pour (int compteur = 0 ; compteur <= 10 ; compteur++)
System.out.printf("Fibonacci of %d is : %d\n", counter, fib_recursion(counter)) ;
}
}
Le volume peut sembler excessif, mais en réalité il ne s'agit que de constructions de base pour garantir que le code est compréhensible et fiable.

Pour ceux qui veulent se lancer rapidement dans l'utilisation de Java, notre tuteur Sergey Iryupin a préparé une série d'articles d'introduction que nous publions progressivement sur le blog :

Un démarrage rapide avec Java : de l'introduction à votre premier jeu
Java Fast Start : s'entraîner au tic-tac-toe


Conclusion


À cette liste, on peut ajouter quelques langages utiles comme PHP, C++ ou Ruby. Ou peut-être quelques fonctionnels pour le développement général : Lisp, Haskell, Clojure. Mais vous êtes sûr d'en arriver là. Mais il faut d'abord choisir une spécialisation, s'inscrire aux cours de GeekBrains et maîtriser les cinq langues décrites comme indispensables.