Interview d'auteurs: Erlang, Services Web, J2EE, ASP.net

Posté par  (site web personnel) . Modéré par Jaimé Ragnagna.
Étiquettes :
0
13
oct.
2003
Communauté
Vous êtes développeur, architecte et souhaitez mieux comprendre les services Web et les architectures multicouches J2EE, .NET ? Vous vous intéressez aux applications distribuées, capables de monter en charge et tolérantes aux pannes ?

Vous avez de la chance ! Cinq auteurs au coeur du sujet se réunissent à Paris le samedi 25 octobre 2003 à partir de 16h pour rencontrer et discuter avec leurs lecteurs, à la librairie du Monde en Tique, 6 rue Maître Albert (Paris Ve, métro Maubert-Mutualité/St-Michel).

Venez nombreux poser vos questions !

J'espère pour ma part pouvoir discuter avec vous du langages Erlang et de ses nombreuses applications. Si vous ne connaissez pas le langage Erlang, c'est aussi un moyen convivial d'en avoir un bon aperçu.

Une manifestation de ce type s'est déjà tenue en septembre, également au Monde en Tique. Je pense que c'est un événement intéressant, en particulier parce qu'il réunit plusieurs auteurs, en présentant autour des mêmes thèmes des auteurs et des technologies très différentes.



Le lieu est sympathique et la manifestation conviviale. J'espère donc que c'est un bon prétexte pour se rencontrer prochainement.

Aller plus loin

  • # Re: Interview d'auteurs: Erlang, Services Web, J2EE, ASP.net

    Posté par  . Évalué à 2.

    Erlang semble très complet mais est t'il vraiment stable?
    Est ce qu'il gère le temps réel dur ou seulement le temps réel lache?
    (Désolé je suis fort éloigné de Paris)
    • [^] # Re: Interview d'auteurs: Erlang, Services Web, J2EE, ASP.net

      Posté par  (site web personnel) . Évalué à 3.

      Erlang est développé depuis plus d'une dizaine d'années et l'environnement est très très stable. Il ne faut pas oublier qu'il est utilisé dans des systèmes ayant des taux de disponibilité faramineux (Plus de 6 ou 7 neufs, > 99;99999 %).

      Erlang repose sur une machine virtuelle gérant le temps réel lache. Elle gère pour cela ses processus en interne, sans s'appuyer sur la gestion de processus du système d'exploitation.

      Mickaël

  • # Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

    Posté par  (site web personnel) . Évalué à -5.

    Et op ! Encore un langage d'universitaire qui ne sert à rien.

    Et oh ! Faudrait penser à descendre de votre nuage messieur les chercheurs.

    Pour une fois, je vais pousser un coup de gueule contre les langages d'universitaire qui ne servent à rien. Ce n'est pas un troll car, si seulement on apprenait des choses utiles durant son cursus, on pourrait peut être moins dégouter nombre d'étudiants.

    Quand on regarde l'intérêt d'Erlang, ca semble vraiment être un truc pour se triturer la cervelle, et rien d'autre.
    Quand je voie maitenant passer des CV d'étudiant qui ont fait du CamL, du B, du Pascal, .... mais qui ne savent pas faire de Java, de C++/STL, de XML ; et bien je trouve ça navrant.

    Et qu'on ne me fasse pas croire qu'on ne peut pas faire des sujets de cours "de haut niveau" (j'entend par là, dans des domaines comme l'IA, les multi-agents, ...) dans des langages vraiment utilisés dans l'industrie.
    • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

      Posté par  . Évalué à 2.

      A une lointaine époque le C était considéré comme "un langage d'universitaire qui ne sert à rien".
      D'autre part c'est Ericsson qui en est à l'origine.
      Et puis regarde ses caractéristiques, c'est vraiment impressionnant http://www.erlang-fr.org/tutorials/whitepaper.html(...)
      • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

        Posté par  . Évalué à -1.

        > A une lointaine époque le C était considéré comme "un langage d'universitaire qui ne sert à rien".

        Ca m'etonnerait: il y a ete developpe chez ATT pour faire Unix, alors qualifier le C de language universitaire ou qui ne sert a rien, cela me parait aussi stupide que le post du dessus qui qualifie d'universitaire un language développé et utilisé par un industriel.

        Non, c'est le Pascal qui a été traité (avec raison) de langage d'universitaire, mal fichu et d'ailleurs le Pascal est mort depuis..
    • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

      Posté par  (site web personnel) . Évalué à 3.

      Regarde ca: http://www.erlang-fr.org/tutorials/whitepaper.html(...)
      Tu vas sans doute pouvoir nous expliquer comment on fait la meme choses avec C++ et/ou java.

      Ca non plus n'a pas l'air mal: http://eddie.sourceforge.net/txt/WP_1.0.html(...)
    • [^] # Erlang est un environnement INDUSTRIEL !

      Posté par  (site web personnel) . Évalué à 4.

      Beau coup de gueule, mais Erlang n'EST absolument pas un langage d'universitaires mais un langage industriel !

      C'est un langage d'industriel produit par et pour l'industrie pour répondre à des besoins qui n'était comblés par aucun autre outil.

      C'est justement pour cela que j'ai aimé et adopté le langage Erlang. Tout dans l'environnement est pensé pour le développeur et la productivité (Par exemple, le debogueur est utile, et c'est un exploit pour un langage orienté concurrence. De même, l'environnement est fournit avec des tonnes d'outil pour faciliter l'administration des applications en production et le déploiement). C'est vrai que les langages d'universitaires ne sont pas toujours utilisables en production. Ce n'est pas du le cas d'Erlang.

      Je rappelle qu'Erlang est utilisé dans des outils industriels comme:

      - Le routeur ATM AXD 301 d'Ericsson, qui est un développement exemplaire illustrant les capacités de montée en charge du langage, de robustesse et de haute disponibilité. C'est un produit phare d'Ericsson !

      - Des appliances de Nortel (Pour plus d'information voir: http://www.erlang-projects.org/Public/success_stories/commercial_us(...))

      - Utilisé dans le milieu bancaire pour ses capacités de distribution et de tolérance aux pannes pour gérer des systèmes de transactions financières.

      - et dans encore beaucoup d'autres domaines.

      Tu devrais vraiment jeter un oeil dessus, pour dissiper le malentendu. Toutes les personnes que je connais qui s'y sont intéressé ont radicalement changé ensuite leur façon de concevoir le développement.

      Mickaël

      • [^] # Re: Erlang est un environnement INDUSTRIEL !

        Posté par  (site web personnel) . Évalué à 0.

        OK, OK.

        Erlang a bien concu par un industriel. Et il semble répondre à un besoin très spécifique. Donc, bien sûr, je retire en partie ce que j'ai dis à propos d'Erlang, car je ne le connais pas assez pour juger.

        Mais mon propos venait surtout de mon agacement de voir toujours de nouvelles syntaxes, pour faire, au final, quasiment la même chose. Et tu confirmes justement mon propos en disant que vous avez du mal à trouver des gens qui connaissent ce langage.



        J'ai regarder les whitepaper, et je ne vois pas ce que Java ne serait pas capable de faire. Peux-tu m'éclaircir sur ce point ?
        • [^] # Re: Erlang est un environnement INDUSTRIEL !

          Posté par  (site web personnel) . Évalué à 4.

          Tu peux quasiment tout faire dans tous les langages, donc demander ce que Java n'est pas capable de faire n'a que peu de sens. A la limite, on peut s'interroger sur l'implémentation de la machine virtuelle. Le langage n'est en revanche qu'une syntaxe.

          Maitenant, suivant ce que tu souhaites développer, c'est plus où moins difficile à faire avec certains outils et plus facile avec d'autres. C'est pour l'environnement Erlang (baptisé OTP) qu'Erlang va au-delà de la simple syntaxe.

          Développer une application robuste, distribuée, tolérante aux pannes en Erlang est facilité par le fait que c'est un langage conçu pour la concurrence ( quand je dis concurrence, je pense à plusieurs dizaines, voire centaines de milliers de processus simultanés sur une machine de base d'aujourd'hui. La limite est purement matérielle) et une approche fonctionnelle qui limite les effets de bords et donc facilite la conception d'applications concurrentes.

          Pour te donner un exemple, le design le plus logique d'un serveur web consiste à suivre le modèle suivant: Lorsqu'un client web se connecte, je crée un nouveau processus pour traiter les échanges avec ce client. Les requêtes peuvent ainsi être satisfaites simultanément et la conception est correcte quel que soit le nombre de clients qui se connectent.

          Maintenant, si tu utilises un langage qui limite l'utilisation des processus (parce qu'ils sont trop gros ou trop couteux à lancer), ce design n'est plus valable. Tu va devoir limiter le nombre de processus simultanément lancés. Et donc modifier ton design parce que l'environnement d'exécution ne supporte pas ta conception.

          Joe Armstrong, le créateur du langage Erlang, a coutume de faire l'anologie suivante: Utiliser un langage qui limite la concurrence de l'application (par le biais de la limite du nombre de processus), c'est comme utiliser un langage objet qui limiterait le nombre d'objets qu'il est possible d'instancier. Erlang utilise la notion de processus d'une manière que l'on peut comparer à l'utilisation des objets dans d'autres langages).

          Tu peux d'ailleurs jeter un oeil sur le serveur Web dynamique Yaws, développé en Erlang: Il est superperformant (tu obtiens facilement 800/1000 pages secondes pour du code dynamique) et occupe au max 10 à 20 mégas de RAM (Personnellement, je ne l'ai jamais vu dépasser 20 mégas).

          Donc, avec la machine Java actuelle, ce que tu ne peux pas faire: Atteindre un haut niveau de concurrence. Erlang est fait pour cela. C'est un langage orienté concurrence et c'est pour cela qu'il est très adapté au développement d'applications serveurs.

          En plus, tu disposes d'un grand nombre de facilités pour mettre à jour le code d'une application à chaud, sans interrompre les connexions en cours de traitement, pour distribué une application sur un ensemble de noeud pour des objectifs de montée en charge ou de tolérance aux pannes, etc. Tu peux éventuellement, peut-être recoder cela en Java, mais ne sous-estime pas la tâche. C'est non trivial. Erlang fait cela depuis 10 ans et c'est très bien testé et robuste. Bref, j'entrevois un grand avenir pour Erlang pour le développement d'applications côté serveur.

          Mickaël

          • [^] # Re: Erlang est un environnement INDUSTRIEL !

            Posté par  (site web personnel) . Évalué à 2.

            Tu peux quasiment tout faire dans tous les langages, [ ... ] Le langage n'est en revanche qu'une syntaxe.

            mouais, faudrait un peut arrêter avec ça. C'est vaguement vrai si on se limite au C/C++/Java/C#/VB/Delphi : en gros les même paradigmes remâchés avec une syntaxe (un peu) différente. Mais dès qu'on utilise des langages plus intéressants, genre Haskell (langage fonctionel pur à évaluation paresseuse) c'est plus qu'une question de syntaxe.
    • [^] # Re: Erlang ...

      Posté par  (site web personnel) . Évalué à 1.

      Etienne,

      J'espère que tu passeras le samedi 25 octobre. Je pourrais profiter de l'occasion pour t'expliquer tout l'intérêt de ce langage et combien il est industriel.

      A bientôt, j'espère !

      Mickaël

    • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

      Posté par  (site web personnel) . Évalué à 2.

      Qualifier de « langage universitaire » un langage développé uniquement par l'industrie est assez ironique, et montre ton ignorance sur le sujet. Actuellement, les acteurs des télécommunications se plaignent plutôt d'un manque d'étudiants ayant appris et utilisé Erlang.

      Ce que je trouve navrant pour ma part, ce sont certains industriels (heureusement pas tous) qui, face à l'innovation, rejettent les langages qu'ils ne connaissent pas eux-mêmes, sous prétexte qu'on trouve plus de programmeurs (même médiocres) dans les langages « classiques » plutôt que de programmeurs de talent dans des langages plus adaptés.
    • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

      Posté par  . Évalué à 3.

      Les langages utilisés dans l'industrie sont ils vraiment les plus adaptés?
      Personnellement dans la majorité des cas j'en doute.
      D'autre part des langages comme caml, que tu cite ont vraiment de grande qualité.
      (langage à la syntaxe régulière, typage statique => detéction des erreur très tôt)

      Si tout le monde t'écoutait, on serait obligé de tout coder en C++, qui est à mon avis un des pire langage, et surtout un des moins productif.

      Evidamment qu'on peut faire de l'IA avec du C++ ou du Java, c'est juste qu'on préfère des langages un peu plus expressifs (c'est subjectif, mais souvent partagé), comme smalltalk, python, ocaml, ou même lisp pour certains.
      De plus en ce qui concerne l'IA et le multi-agent, l'introspection est souvent intéressante, et en C++ c'est pas terrible, en Java ça existe mais c'est assez moyen (objets/valeurs).
      • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

        Posté par  (site web personnel) . Évalué à 0.

        En fait, ce qui m'énerve le plus, c'est vouloir réinventer la roue.

        Certes, tel ou tel langage a plus de qualité qu'un autre. Mais franchement, n'est-ce pas dans la majorité des cas une discussion de style "comptoir de bar" (on va refaire le monde).

        Le plus important dans l'histoire, c'est de poser des concepts, de modéliser d'une façon astucieuse et efficace. Je pense que c'est surtout là où est la valeur ajouté d'une recherche, ou d'une analyse.

        Tous les mois, on voit de nouveaux langages naître. Et, ca, ca s'appelle souvent du gachie. Les gens qui les créent sont souvent talentueux, mais ils feraient mieux de monter en abstraction pour faire des API et des projets valorisant.

        Je ne suis pas partisant de tel ou tel langage (euh ... enfin, j'aime pas C++) : je dis juste que le contenu d'un projet est plus important que le langage utilisé. En gros, si il y a un langage que je devais conseiller et qui apporte de la valeur, ce serait UML (accompagné de ses profiles pour les besoins spécifiques).

        Pour autant, je ne dis pas que certains langages sont plus adaptés que d'autres pour des besoins spécifiques.
    • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

      Posté par  . Évalué à 3.

      T'inquiète, t'es pas tout seul, les mecs qui pensent comme toi ça fait un bail qu'ils ont imposés des cours de VB dans les cursus..
      • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

        Posté par  (site web personnel) . Évalué à -2.

        Je parle de langage de programmation, pas de poubelle orientée bitos !

        Parles-en aux étudiants. Demande-leur combien de matières enseignées leur servent vraiment ?
        • [^] # Re: Erlang ...

          Posté par  (site web personnel) . Évalué à 2.

          > Parles-en aux étudiants. Demande-leur combien de matières enseignées leur servent vraiment ?

          C'est tout le problème de la culture. Pour être un bon développeur (ou administrateur, ou ...) il faut une bonne culture informatique. Et cette culture ne s'acquiert pas en apprenant la syntaxe d'un langage mais plutôt en comprenant l'histoire de l'informatique et ses évolutions.

          Sur le sujet des langages dominants, Paul Graham a déjà presque tout dit. Je vous invite à lire deux articles, si vous comprenez l'anglais:

          - Beating the average: http://www.paulgraham.com/avg.html(...)

          - The hundred year language: http://www.paulgraham.com/hundred.html(...)

          Bonne lecture !

          Mickaël

        • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

          Posté par  (site web personnel) . Évalué à -1.

          héhé en effet, je suis étudiant en dernier année d'école d'ingénieur, et je ne compte plus le nombre d'heures que j'ai pu aller perdre en amphi pour des cours completement inutiles alors que je veux faire de l'info.
          On a commencé notre formation avec de l'haskell, un langage interpreté trop typé. Une perte de temps effarante... la plus part d'entre nous ne comprenait pas l'interet de ce cours. On a eu ensuite un cours de systèmes d'exploitation, que dis-je : un cours de C+ (non non j'ecris bien, entre le C et le C++, n'importe quoi... avec un bouquin j'ai plus appris en moins de tps. On a egalement eu un cours de structure de données, c'était bien jolie mais on avait pas d'exemples pratiques, on ne savait pas a quoi ca servait... bref les objectifs des cours n'ont pas été atteints :(

          Il a fallut attendre 3 années pour avoir des cours potables et interessants.
          • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

            Posté par  (site web personnel) . Évalué à 2.

            Le probleme vient de l'objectif des universites : former des chercheurs pas des techniciens. Je ne suis pas un fan des "ecoles d'inge francaise", mais je dois reconnaitre qu'elles ont au moins les pieds sur terre car elle essayent de vendre leurs produits (etudiants) au entreprise et que pour ca elles doivent faire attention aux besoins de leur marche.

            Ceci dit les matieres qui ont le plus compte dans mon cursus universitaire ont ete : cours de communication, math et compta/Legal.
            Ce sont les cours aux quels l'etudiant ne veux pas aller car ce n'est pas ca "qu'il veux faire". Mais dans la vie ce n'est pas toujours ce que l'on veut apprendre qui est utile.
            J'ai attendu 26/27 ans pour passer mon permit B car cele ne me disait rien de le passer. Cependant, l'avoir quand tu travailles pour une boite est assez important.

            Pour les matieres :
            - Com pour generer les clients/manager/director et comprendre l'entreprise
            - Math (meme si je ne suis pas un fan) Comprendre les machines de turing est une bonne idee, ainsi que les matrices, graphs et autre (et mon dieux !! j'en ai fait pete des cours de math !!).
            - Compta/Legal car je quitte mon boulot pour monter ma boite et que je regrette ne pas avoir plus ecoute.

            Pour le reste une fois qu'on a lu les livres de tanenbaum, le reste n'est plus qu'une question de pratique et de temps. Comprendre les bases permet de ne pas perdre son temps a suivre la derniere mode en language de programmation (Java et C# etant les dernieres a mon gout).

            Erlang n'est definitivement pas une mode est c'est pour ca que c'est un language interressant. Il occupe un niche mais il a clairement son utilite. Je prendrai peut-etre le temps de l'apprendre correctement quand/si j'en aurai/ai besoin (j'aime bien juste jetter un oeil a tout les languages pour voir ce qu'ils font bien et moins bien) .

            Pour le moment, j'aime beacoup python avec le framework twistedmatrix mais je ne cherche a convaincre personne car je ne suis pas un fan des guerres de religion.
            je sais pourquoi je l'utilise comme language et pour quoi je ne l'utiliserai pas. Et c'est ca le plus important.

            La question que vous devriez vous poser est : pourquoi X est-il le language que j'utilise. Apprendre un nouveau language est facile, une question d'heures. Aprrendre les librairies, une question de jours. Apprendre a bien s'en servir et devir productif, une question de mois.

            Etes vous sur que vous n'etes pas en train de perdre votre temps :-) (Just being the devil's advocate).

            Bonne chance pour votre "evenement".
          • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

            Posté par  (site web personnel) . Évalué à 1.

            héhé en effet, je suis étudiant en dernier année d'école d'ingénieur, et je ne compte plus le nombre d'heures que j'ai pu aller perdre en amphi pour des cours completement inutiles alors que je veux faire de l'info.

            Oui et rappelle-toi au collège/lycée, toutes ces heures perdues avec des cours de biologie, d'histoire, de français ...
        • [^] # Re: Erlang ... Et pourquoi pas CamL pendant qu'on y est ??

          Posté par  . Évalué à 4.

          Hum ... autant le demander à ceux qui travaillent, ils seront surement plus aptes à te répondre sur l'application in situ de leur connaissances.

          Pour ma part, voici la réponse d'un étudiant qui n'en est qu'à la recherche de boulot.

          Du deug à la maîtrise, j'ai eu droit à des cours relativement théoriques :
          - algorithmie
          - théorie des langages
          - calculabilité / complexité
          - base de données
          - analyse de données
          - génie logiciel
          - IA
          - architecture des ordinateurs, prog objet

          et les TPs qui vont avec. À cela s'ajoutent des cours plus concrets comme le réseau, la synthèse et l'analyse d'image, le parallélisme ou les systèmes temps réel.

          Ayant orienté depuis longtemps mes études vers la synthèse d'image, beaucoup de ces matières m'ont donc peu ou pas intéressées. Elles font toutefois partie de ma culture informatique. Ne cherchant pas principalement un travail dans leur domaines, elles ne me serviront sans doute jamais. Pourtant je les ai étudiées et les fais miennes lors des TPs et des exams.

          Quel beau gachis !

          J'ai donc utilisé comme langage :
          - pascal/c/c++/java
          - asm zx80 et i386
          - lisp/prolog/scheme
          - script shell, perl
          - langages mathématiques pour :
          - la définition de grammaires
          - les automates finis et à pile
          - les machine RAM (Random Access Machine)
          - les machines de Turing

          Que de langages ! Encore du gachis ?

          Pourquoi un tel acharnement à en enseigner une multitude alors que la plupart sont qualifiables d'"universitaire" ?

          Peut-être qu'apprendre maints langages n'a pas pour but de savoir s'en servir mais de savoir réfléchir avec la logique qui leur est liée.

          Ca m'amène à pleins de question :

          Qu'est ce qui est le plus productif : foncer tête baissée avec le langage à la mode ou bien : prendre un peu de recul sur la tâche à accomplir, choisir la méthode la plus adaptée et le langage approprié puis se mettre enfin au boulot ?

          Personnellement, ceux qui foncent tête baissée me font sourire à défaut de rire.

          Pourquoi utiliser perl pour du traitement de textes bruts ?
          Pourquoi utiliser python, lua ou scheme comme langage de script ?
          Pourquoi utiliser erlang pour développer des serveurs robustes ?
          Pourquoi utiliser lisp ou python pour de l'IA ?
          Pourquoi utiliser ASP ou PHP pour des scripts côté serveur ?
          Pourquoi utiliser le C et le C++ quand on a besoin de rapidité ?
          ...
          Pourquoi utiliser X pour faire telle ou telle chose ?

          Sans doute parce que l'informatique est un outil qui sait se décliner selon les besoins. Son utilisateur/décideur/etc. n'a plus qu'à faire le bon choix.

          Faire et savoir faire sont deux choses distinctes que, visiblement, pas mal de gens confondent.

          Bref, tout ça pour dire que je remercie la fac et ses enseignants de m'avoir fait utiliser tous ces langages même s'ils ont l'allure de "poubelles orientées bitos".

          Bon, j'arrête d'enfoncer le clou avec une scie, je risquerais d'y passer la journée.

          EOF
  • # Et le XML?

    Posté par  . Évalué à 1.

    Je voudrais savoir si Erlang support bien le XML et si il y a un moyen d'invoqué un compilateur XSLT depuis ce derneir.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.