Quel langage ? Quelle Technologie ?

Avec la multiplication des technologies et des langages de programmation, les développeurs ont de plus en plus de mal à faire la part des choses. Il est souvent très difficile de faire un choix sur la technologie à utiliser ou le nouveau langage de programmation sur lequel se former. Qui ne s’est jamais posé ces questions : Je me lance sur quelle techno ensuite ? Ce langage vaut t-il la peine qu’on s’y mette ?

Personnellement, voulant toujours être au top de la technologie, je me pose souvent ce genre de questions, et j’ai de plus en plus de mal à y répondre. Bien sur le choix souvent repose sur la nature des projets qu’on veux réaliser, les contraintes … mais qui ne s’est jamais dit, moi je veux tout maitriser !!! Bien sur, c’est tout simplement impossible, d’où cet article dans lequel je vais essayer de vous présenter les technologies que je connais (celles qui en valent la peine) et celles que je prévois d’apprendre (c’est juste mes choix personnels et nullement les choix à faire absolument).

Le couple HTML/CSS

Je suis un fervent supporteur du Cloud Computing (je ne suis pas le seul), et je suis convaincu que le web représente le centre de toutes les technologies du futur. Et qui dit web, dit forcément HTML/CSS. Les navigateurs suivent plus ou moins bien cette tendance. Internet Explorer 6 est en declin (plus qu’un tout petit pourcentage) et les standards sont assez bien suivis par le reste des navigateurs. Le passage vers HTML5 et CSS3 est sur la bonne voie.

Le langage PHP

A mon avis, c’est un langage à maitriser absolument pour tout développeur web, pour différentes raisons : productivité, communauté, documentation, serveurs web, …. Malgré ses inconvénients liés à sa lourdeur lors des calculs complexes, il a encore de très beaux jours devant lui.

Framework PHP : Symfony

Le couplage de PHP à un framework est une nécessité pour tout projet de taille moyenne/grande. Et sur ce point la, les possibilités ne manquent pas : faire son propre framework, utiliser Zend Framework, Symfony, CodeIgniter … Mon choix se porte vers Symfony (et notamment la version 2) pour les raisons suivantes : flexibilité, documentation, communauté, à la pointe (design patterns, technos, mise à jour) …

Javascript et son framework

Après la maitrise d’un langage serveur, il est tout aussi important d’utiliser un langage client (notamment pour les RIA), et de ce coté la, on ne peux pas passer à coté de Javascript. Je vous disais que l’utilisation de frameworks est nécessaire pour les langages serveurs, c’est encore plus vrai pour javascript (langage client). Jj’utilise jQuery actuellement comme Framework Javascript, mais je ne suis pas convaincu à 100%. En réalité je n’ai pas encore trouvé le framework Javascript qui me convient le plus (je compte sur vous pour des suggestions ;) )

Systèmes d’exploitation type UNIX

Mon avis personnel sur ce point est catégorique : vous êtes développeur web, oubliez windows (pour l’instant) !!! Il est absolument nécessaire de maitriser les systèmes d’exploitation type UNIX (GNU/Linux, FreeBSD, Mac OS …) et ceci notamment pour leur utilisation en tant que serveurs web.

Développement d’applications Mobiles

Ce n’est plus un marché à négliger, et je pense que l’iPhone et Android sont les deux poids lourds du futur des applications mobiles. Le développement pour iPhone implique donc la maitrise d’Objective-C, Cocoa Touch et XCode, et le développement pour Android implique quand à lui, JAVA et le SDK d’Android.

Amazon Web Services

Ce sont les différents services amazon pour le développement en Cloud computing. Actuellement ce sont les techologies les plus abouties dans ce domaine la. Les services les plus intéressants sont : Amazon S3 pour le stockage et, Amazon EC2 pour la puissance de calcul.

Autres

En plus de toutes ces technologies, d’autres non moins intéréssantes, mais que je trouve moins prioritaires pour l’instant viennent s’ajouter à ma liste d’attente des technologies à surveiller de prés : Python, Django, Le langage Go, Google App Engine, GWT, Microsoft Windows Azure.

Voila pour mes choix personnels, maintenant je compte sur vous pour nous faire part de vos choix et suggestions.

Similar Posts:

15 thoughts on “Quel langage ? Quelle Technologie ?

  1. Salut riad,

    je suis pas content, ou sont les techno Microsoft dans tout ça?
    je pense que ASP.NET n’est pas quelques chose à negliger dans le developpement web coté serveur, de plus, coté client, il offre de plus en plus, des interface riches trés interessante que ça soit avec silverlight ou bien avec ASP.NET Ajax la librairie javascript standard.

    Sinon +1 pour django, j’ai eu le plaisir de le tripoter un peu y’a quelques temps, et meme si j’etais pas convaincu à 100%, je sentais qu’il y’avait quelque chose d’interessant derriere.

    Quant à Microsoft Azure, le defaut c’est que c’est payant.

    je suis tout à fait d’accord avec toi, les solutions nomades seront certainement l’avenir du développement tout court.

    enfin, globalement, je trouve ton article trés bon, ça donne une vue d’ensemble sur ce qu’est le developpement web aujourd’hui.
    Keep rocking !

  2. Bon article !

    Mais il me semble que Mac OS n’est pas utilisé dans les serveurs web, à moins que je me trompe. Mieux vaut s’orienter vers une architecture Lamp ce qui est sûr.

  3. @Hakim-3i @zidlah @6smail @Farid merci à vous.

     

    @6smail Je m’attendais à un commentaire « Pro Microsoft », je vais dire mon humble avis personnel sur la question. même si ces technologies sont prometteuses, je ne pense pas qu’elles ont et vont avoir le succès nécessaire pour les mettre dans les technologies prioritaires « pour l’instant » (si ce n’est peut être grâce à l’avènement de Windows Azure), et en plus windows serveur penne à s’imposer. Regardons l’évolution des choses, peut être que je reconsidérerai après, mais pour l’instant je suis septique.

     

    @Farid C’est vrai que MAC OS n’est pas largement utilisé coté serveurs, il a quand même une petite part du marché pro avec mac os x server, je l’ai mis parceque c’est un système UNIX, tout simplement. quand aux archis Lamp, il y a rien à dire c’est la valeur sûre, mais attention quand même au mouvement noSQL et à la conf d’apache qui devient lourde un peu (d’autres serveurs web montent)

  4. Je crois que l’apprentissage d’un langage fonctionnel et aussi un must-have dans nos jour, ce modèle de programmation s’impose très rapidement sur ce que existe déjà; Linq pour .NET, lamda expressoins, les types et fonctions anonymes, currying etc..

    je crois que @6smail à bien noter les choses concernant les technologies MS, reste juste à mentionner ASP.NET MVC qui est un ptit peu le Syphony pour .NET

    donc je conseil tout développeur cherchant à apprendre un nouvel langage et perfectionner ces méthodes de résolution de problème d’apprendre un langage fonctionnel tel que OCaml, F#, (ou même JavaScript PURE :o ) etc…

  5. Pour ce qui est des plateformes, effectivement les systèmes BSD et Linux sont plus solides et robustes que la solution de Microsoft.

    En ce qui concerne les technologies à apprendre, comme tu le dis dans l’article, cela dépend de ce que tu veux faire : programmation web, programmation système, …etc.

    Il y a des langages qui ont encore de beaux jours devant eux comme le C qui est encore indémodable.

    Sinon, perso, j’ai beaucoup d’affection pour le langage Python.

  6. merci pour l’article, mais je suis pas trop d’accord qu’on tu dis qu’il faut apprendre JavaScript, je n’ai jamais aimé ce langage, et je trouve qu’on peut le remplacer dans certains cas avec du Css, mais pas toujours.
    j’ajouterai C et C++ en se qui concerne les technologies hors du domaine web.

  7. @Amine : Comme tu es dans l’erreur !

    Javascript est irremplaçable pour un tas de raisons.

    Tous les sites que tu visite ne peuvent se passer de Javascript, le premier qui me vient à l’esprit, Facebook :)

  8. Hello,

    Personnellement, mon framework JS de prédilection est MooTools et j’encourage tout le monde à l’utiliser plutôt que JQuery.

    ++

  9. @amine tout comme a dit Farid, Javascript est irremplaçable.

    Pour ce qui est de c++ est de la programmation Desktop, je n’ai mis aucun langage de programmation Desktop, non pas parce que l’article concerne seulement le développement web mais parce que je suis convaincu que la quasi totalité des applications seront essentiellement faites avec des technologies web.

    Mais le langage C++ (surtout C) reste très important concernant la programmation système et systèmes embarqués.

  10. @youknowriad :
    Je pense qu’il ne faut pas oublier que certains langages haut niveau tel que PHP et Python exploite du code C.

    De même, les applications nécessitants une exécution rapide ou à fort faux de calculs (logiciels de retouche photo, jeux…) utilisent le C/C++ pour obtenir les meilleures performances possibles.

    PHP et JavaScript devront faire face à une concurrence de plus en plus rude, rien ne dit qu’ils vont garder leur place d’ici une 10ène d’années.

    Pour le cloud, je suis moins optimiste que toi, je ne pense pas que cela soit pour un avenir proche car il y a toujours des questions à résoudre :
    - Couts.
    - Sécurité.
    - Débit des connexions actuelles.

    C’est peut être une solution viable pour les sociétés dont les besoins peuvent varier rapidement mais pour les particuliers, PME et PMI… je pense qu’on en est encore loin.

    Le tout basé web aussi n’est pas pour tout de suite, les clients légers sont de plus en plus utilisés par les entreprises certes mais peut on parler d’application basée web ? Là encore, je ne pense pas que ça soit un domaine privilégié à PHP/JavaScript mais plutôt à Java, C# et même C/C++.

    L’essentiel à mon avis et de bien maitriser les différents concepts de la programmation, après l’utilisation d’un langage n’est qu’une question de temps d’adaptation à la syntaxe, à son API…etc.

  11. Salam tous le monde
    Bravo riad un trés trés bon article
    @Nassim je suis totalement d’accord avec vous je crois que Java avec les 3 technologie qui offre (JSE, JEE, JME) peux nous garantir des solutions fiables et efficace avec la meme syntaxe mais il faut du temps pour les apprendres tous sans oublier les Standards XHTML CSS et XML.
    A mon avis on peux choisir les ingrédients suivants:
    XHTML/CSS/XML
    JEE, Java ME avec les API optionnels
    AJAX.
    Merci encore une fois pour l’article
    salam

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>