JeuWeb - Crée ton jeu par navigateur
Si vous devez apprendre juste un langage de programmation - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Général (https://jeuweb.org/forumdisplay.php?fid=36)
+--- Forum : Blabla (https://jeuweb.org/forumdisplay.php?fid=42)
+--- Sujet : Si vous devez apprendre juste un langage de programmation (/showthread.php?tid=5095)

Pages : 1 2 3


Si vous devez apprendre juste un langage de programmation - srm - 19-08-2010

Bonjour,

J'ai découvert via Twitter un message intéressant de son analyse personnel afin de choisir le langage qui lui convient le mieux. Le résultat de son analyse est Scala.

Il commence par lister les 13 prérequis selon ses critères à lui (je suis en gros d'accord personnellement avec tout ces critères) et prend comme base ces langages : Common Lisp, Scheme, Fortran, Smalltalk, C, C++, Objective C, Ada, Java, Javascript, C#, D, Prolog, Perl, PHP, Python, Ruby, Groovy, Clojure, Lua, Forth, Factor, Erlang, OCaml, F#, Clean, Haskell, Scala

Et il élimine tout ceux qui ne remplissent pas ses critères en expliquant pourquoi.

http://blog.srinivasan.biz/software/if-you-have-to-learn-just-one-programming-language

Je le trouve intéressant et peut-être que d'entre vous vont décider de faire l'équivalent si ils ont des critères différent de la personne qui l'a fait Smile


RE: Si vous devez apprendre juste un langage de programmation - Sephi-Chan - 19-08-2010

J'ai lu un peu et j'ai trouvé ça amusant et plutôt pertinent. D'ailleurs, ça m'a étonné de voir l'auteur virer Ruby et Python si tard, même si c'était selon le point auquel je m'attendais : la performance. Finalement je me retrouve bien dans ces langages, puisque les performances ne sont pas un problème pour moi et ce que je fais.

Et si je devais prendre les perfs en compte, je prendrais Java et je testerais peut-être Scala, bien que sa syntaxe et son approche fonctionnelle me rebute pas mal.


Sephi-Chan


RE: Si vous devez apprendre juste un langage de programmation - Gwym - 19-08-2010

Cela me paraît un peu étrange soit de mettre javascript dans l'analyse, soit de l'éliminer, sauf à spécifier "Si vous devez apprendre juste un langage de programmation côté serveur" ?!

Je ne connais pas du tout scala. Si je veux faire du développement côté client, je fais comment en ayant appris uniquement le scala ? :heuu:

Il existe un équivalent de GWT en scala ? ou c'est compatible ? ou une autre solution ?


RE: Si vous devez apprendre juste un langage de programmation - Foxglove - 19-08-2010

Je suis pas vraiment d'accord avec le titre de son étude. Selon moi, si on devait apprendre un seul langage de programmation, ça serait le C. Si on devait utiliser un seul langage de programmation, là ça se discuterait comme il le discute.

A mon avis, les critères suivants ne concernent pas l'apprentissage d'un langage, mais plutôt son utilisation professionnelle :
- #1 : productivité
- #2 : vitesse
- #4 : support du script
- #5 : gestion des architectures multi-coeur
- #6 : support du multitâche
- #7 : mature et actif
- #11 : possibilité ou non de faire de l'open-source
- #12 : existence d'un framework de test
- #13 : utilisation de bibliothèques externes

Les critères suivants concernent un peu l'apprentissage d'un langage :
- #3 : concision
- #10 : lisibilité et maintenabilité (surtout la lisibilité)

Les critères suivants concernent complètement l'apprentissage d'un langage :
- #8 : documentation
- #9 : pas associé à une plateforme
- #14 (nouveau critère) : facilité d'apprentissage
- #15 (nouveau critère) : complétude du langage (possibilité de tout faire)

Ca ne me choque pas qu'on apprenne un langage démodé, lent, etc., du moment que le langage nous permet d'apprendre à programmer. L'important est de bien maîtriser les concepts avec ce langage, puis de s'en détacher pour passer à un autre langage (ce qui est en général assez facile tant qu'on reste dans la même génération de langages).

PS : Au final, je pense qu'il faut connaître un langage par type (un langage d'assemblage, un langage impératif, un langage fonctionnel, un langage objet, un langage déclaratif, un langage de script, etc.).


RE: Si vous devez apprendre juste un langage de programmation - Sephi-Chan - 19-08-2010

(19-08-2010, 07:18 PM)Gwym a écrit : Cela me paraît un peu étrange soit de mettre javascript dans l'analyse, soit de l'éliminer, sauf à spécifier "Si vous devez apprendre juste un langage de programmation côté serveur" ?!

Javascript est aussi utilisable pour du server side.
Pour moi, la concision et la lisibilité ne sont pas des affaires d'apprentissage, bien au contraire.



Sephi-Chan


RE: Si vous devez apprendre juste un langage de programmation - Gwym - 19-08-2010

(19-08-2010, 08:33 PM)Sephi-Chan a écrit : Javascript est aussi utilisable pour du server side.
Oui, je le sais et c'est bien ce que je dis, l'article aurait dû s'intiltuler "Si vous deviez apprendre un seul langage de programmation applicatif ou côté serveur", car les trois quarts des langages cités ne sont utilisables *que* côté serveur, il me semble, y compris scala (hors solutions spécifiques et autres transformateurs de codes) bien que je ne préfère pas trop m'avancer pas trop sur ce point.

Et donc, je disais qu'en apprenant QUE le scala on perd tout un pan de l'utilisation web (le côté client).
De ce fait, si on ne devait apprendre qu'un langage, ce serait le java (ou le javascript), sinon il en faut au minimum deux Big Grin


RE: Si vous devez apprendre juste un langage de programmation - srm - 19-08-2010

Oui enfin on peut très peu bien faire une application web sans une once de Javascript c'est pas indispensable.


RE: Si vous devez apprendre juste un langage de programmation - Sephi-Chan - 19-08-2010

Mouais… Mauvaise foi spotted ! Une (vraie) application de qualité sans Javascript, je demande à voir. M'enfin de toute façon, il est inutile de polémiquer là dessus : ce n'est pas un cas cohérent.

Mais je vois mal l'intérêt de faire une application Web en Scala. Je le vois plus adapté aux traitement de fond. Ce ne sont pas les site en eux même qui ne scale pas, ce sont les traitements qu'il y a derrière.


Sephi-Chan


RE: Si vous devez apprendre juste un langage de programmation - srm - 19-08-2010

Ca te semble indispensable pour réaliser quelle tâche sur le site web ?
D'accord avec toi concernant les traitement de fond, pourtant il y a plein de très gros site fait en Java et qui peuvent donc très bien se faire en Scala avec le framework Lift Smile


RE: Si vous devez apprendre juste un langage de programmation - niahoo - 19-08-2010

Tout simplement pour avoir une interface digne de ce nom sur un serveur à forte charge. pour apporter de l'ergonomie.


Bon allez, je vais l'installer ton scala, on verra bien. T'as un bon tuto d'install/premiers pas ?