Human ressource machine : rien de mieux pour apprendre la programmation !

Ce jeu est superbe, et il permet d’apprendre la programmation en s’amusant.

A faire.

Langages de programmation informatique

ofrmwr4zn4vjabzbakgn

Alors moi je suis le type avec le couteau …. Sur le site :

http://lifehacker.com/the-case-for-learning-c-as-your-first-programming-langu-1682070792

Quelle lecture surprenante! Je vais me permettre donc donner mon avis sur la question. Après plus de 20 ans de développement j’ai forcément un avis.

Pour le choix du langage de programmation c’est très simple :

  • Débutant (or développement de site Web) : Python.
  • Pour le découpage de fichier : Perl.
  • Expert & développement de serveurs ayant un grand nombre de clients : C (moi)
  • Expert & développement de serveurs ayant un faible nombre de clients : Java.
  • Expert & développement de clients portables : Java.
  • Débutant & développement d’un site Web : PHP.
  • Expert & développement d’un site Web un peu interactif : PHP & Javascript.
  • Expert & développement de logiciel sous Windows  : C++ ou .NET (C#).
  • Expert & développement de logiciel sous Linux : C++.
  • Expert & développement de logiciel sous Mac : Objective-C.
  • Expert & développement de logiciel sous Mac / Linux / Windows : Java.
  • Expert & développement de logiciel embarqué : C & Assembleur.
  • Pascal (j’ai commencé par celui-ci), Fortran (et ensuite j’ai appris celui-ci), Ada , Cobol, Lisp : langages morts … mais bon on continue bien d’apprendre le Latin.
  • Ruby : pour programmer comme un porc, je suis sûr qu’il doit y avoir beaucoup de faille de sécurité dans ce langage. Au début du PHP on pouvait aussi faire comme un porc mais maintenant ils ont mis de l’ordre, ce qui est une bonne chose.
  • Hex : Je ne connais pas ce langage, surement pour dire que c’était des jeux d’instructions.
  • Si on doit faire des interactions avec une base de donnée : SQL .
  • Pour le traitement de logs : Perl ou Python ou Awk (en ligne de commande) et ou bash.

Mais bon ce qu’il faut comprendre c’est que Perl, Python, Ruby, Awk, PHP sont des langages de script (avec un bémol sur Perl , PHP et Python qui peuvent être compilés contrairement à Ruby … sic). Et on ne peut pas vraiment se considérer développeur quand il n’y a pas de compilation. Bien souvent les bugs dans les langages de script sont l’oubli d’une virgule, ou une variable ayant le mauvais nom … donc on passe un temps fou sur ces bugs alors que ce n’est pas vraiment de la création d’algorithme . Avec un langage compiler le compilateur sort directement ces bugs et on ne passe que du temps sur l’algorithme  … et on se rend compte qu’il faut faire propre, on se rend compte aussi que certaines façons de programmer vont faire que le logiciel va être plus puissant. Donc il faudra quand même passer par un langage compiler pour devenir meilleur en langage script.

Un bon enseignement serait : C (car c’est la référence), puis Python, puis Java (pour apprendre de développement orienté objet).

Pour moi cela a été dans l’ordre: Basic, Pascal, Fortran, C, C++, Java, Perl , PHPPython, …

Pour finir ce n’est pas forcément le langage le plus évolué qui a pris le dessus, de tous les langages, c’est le Ada qui me semble être le plus évolué. Et pourtant quand on regarde les langages les plus demandés, cela doit être ceci à mon avis : Java (en premier),  Javascript & PHP (en second), C# , C++, Python (en augmentation), CObjective-C (en forte augmentation), Perl.

En conclusion : Ruby il faut oublier.

Pour plus d’information : http://fr.wikipedia.org/wiki/Histoire_des_langages_de_programmation .

Note : 

  • Pour moi un serveur n’a pas d’interface, un client n’a pas d’interface et un logiciel a une interface graphique. Je ne suis pas sûr d’avoir la bonne sémantique.