IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Smalltalk Discussion :

Smalltalk est-il un échec commercial ? [Débat]


Sujet :

Smalltalk

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut Smalltalk est-il un échec commercial ?
    Bonjour tout le monde,

    je recherche pas mal de littérature sur l'histoire du langage Smalltalk mais sans grande réussite car peu de sites traitent du sujet.
    Je m'adresse donc à la mémoire des anciens consultant ce forum.

    Comment se fait-il que le langage Smalltalk ait connu un échec commercial malgré toutes les innovations dont il bénéficiait ?
    Malgré de nombreux concepts très novateurs, ce langage n'a pas connu le succès qu'il méritait, quelles peuvent en être les raisons ???

    Merci à tout ceux qui vont m'éclairer...

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Il n'a pas eu droit à toute la publicité qu'il méritait et au moment où il commençait à décoller un peu il s'est pris Java et la machine de guerre médiatique Sun sur le coin de la figure... En tout cas tous ceux qui rêvaient d'un avenir radieux pour Smalltalk sont plutôt amers vis-à-vis de Sun et de Java.

    Maintenant ça c'est le mythe, c'est ce qu'on m'a raconté, mais je n'y étais pas vraiment donc c'est à prendre avec des pincettes, c'est peut-être parfaitement exact, ou plus probablement il y a une part de vérité et un tas d'autres raisons plus ou moins importantes (par exemple il est certain que la syntaxe de Smalltalk bien qu'ultra simple et bien plus sexy à mon avis a eu du mal à conquérir les hordes adeptes du C alors que Java a une syntaxe beaucoup plus proche de l'ancêtre...).

    --
    Jedaï

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    En tout cas en regardant les dates de premières apparition 1972 pour Smalltalk et 1990 pour Java je me dis qu'il doit y avoir d'autres raisons car 18 ans ça laisse le temps de décoller quand-même non?

    Personne n'a été rebuté à ses débuts par ce langage par quelques raisons que ce soient ?

  4. #4
    Membre éclairé

    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 837
    Points
    837
    Par défaut
    Smalltalk etait surement trop lent pour la plupart des applications, et il ne s'est pas trouve une niche (contrairement a Java).

    Squeak est la destination principale des Smalltalkeurs aujourd'hui je crois, et il est utilise pour des fins pedagogiques.

    Aussi Objective-C, le langage de programmation de MacOS X, est fortement base sur C et Smalltalk.

  5. #5
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Un peu en retard, peut-être que plus personne ne lira cette discussion, mais je souhaite répondre tout de même =p

    Smalltalk n'est pas un échec commercial.
    Smalltalk a commencé à être développé par Xerox en 1972, et a été concrétisé commercialement dans les années 80 (aussi parle-t-on de Smalltalk-80 parfois).

    On utilise Smalltalk dans des applications spécialisées : les systèmes embarqués, nanotechnologies (en recherche, notamment aux USA il me semble), à l'Université de Bretagne Occidentale à Brest également, en recherche et en enseignement, etc... mais aussi dans de grandes entreprises, ds banques, l'armement aussi je crois, etc...

    Java a tiré de Smalltalk, au passage, énormément de concepts (machine virtuelle, garbage collector, etc, etc...) et son succès dépend beaucoup de la pub faite par Sun, mais aussi de sa syntaxe proche du C : on est pas dépaysé quand on passe du C au Java (du moins en parlant de la syntaxe).

    C'est pas forcément un plus, parce que la syntaxe de Smalltalk, langage objet pur je le rappelle, est en effet efficace, sexy et facile à apprendre.

    Egalement, à l'époque ou Java est sorti, les machines "grand public" commencaient à devenir assez puissantes pour tenir des machines virtuelles, et les développeurs ont pu passer de leur langage favori (autrement dit, le C ou le C++ pour la pluspart :p) au Java. Smalltalk était déjà un langage "assimilé" à certains types de traitements. En particulier, pas le jeu vidéo (machine virtuelle oblige...), pas le calcul à grande vitesse chez les particuliers...

    En ce qui concerne les Smalltalkers, Squeak n'est pas forcément la référence, bien que ca soit un outil excellent.
    Il y a Dolphin Smalltalk, Visual Smalltalk, Visual Works (Cincom Smalltak), ...

    J'utilise personnellement Visual Works dans sa version non commerciale (gratuite), disponible sur le site de cincom http://www.cincomsmalltalk.com/userb...incom/blogView
    et le fait que la version commerciale soit payante prouve que ca a du succès quand même.
    Pour info, voici une liste non exhaustive de grandes societés francaises utilisant Smalltalk :

    Mutuelles du Mans Assurances (MMA)
    TNI-Software
    Sodifrance
    Laboratoire Pasteur-CERBA
    BNP
    Etc...

    Et il me semble que les studios Disney ont lancé le développement de Squeak et qu'ils l'ont utilisé pour créer un de leur moteurs de rendus 3D (mais je dis peut-être une connerie là faudra vérifier...)

    Bref et pour de plus amples informations, il y a l'esug, www.esug.org, le site de la communauté européene pour Smalltalk.

    Mon avis à moi : personnellement je fais du Smalltalk plutot que du C ou du C++, quand je n'ai pas à choisir un langage ou que j'ai le choix (c'est à dire sans que ca change trop de choses :p).
    [|]

  6. #6
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    La légende de Java qui a vampirisé Smalltalk

    Comme le dit maske la réalité est toute autre:
    • IBM a largement investi sur Smalltalk et a même racheté OTI (Object Technology International)
    • IBM l'a fait parce qu'il avait des clients, surtout des banques


    Après Java a été un révélateur des difficultés que rencontrait Smalltalk:
    • le typage dynamique, les blocks-contexts, la méta-circularité, et toutes les choses qui font que Smalltalk est un langage de "gourou", trop simple (en théorie) pour être facilement accessible au débutant
    • le sytème de persistance par image-système est un véritable cauchemar de maintenance
    • l'absence patente de documentation est due à l'idéologie learning by doing des concepteurs
    • l'absence de portabilité (par les environnements propriétaires) l'a emporté sur la beauté intrinsèque du langage
    • la JVM est plus rapide que les Smalltalk commerciaux
    • SUN développait en interne Self, un compilateur JIT pour un langage dérivé de SmallTalk, le projet a été annulé pour ne pas concurrencer Java
    • Apple a connu des problèmes de trésorerie et son carismatique pdg a décidé d'innover avec le iMac, dans le même temps il a aussi licencié l'équipe Smalltalk (partie chez Disney parce que Smalltalk c'est tellement simple que c'est pour les enfants )
    • IBM a abusé de sa position dominante dans le secteur (par exemple en poussant les utilisateurs vers OS/2, puis en abandonnant OS/2 )
    • en conséquence, et pour sécuriser leur investissement, les grands comptes ont peu à peu migré vers Java
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  7. #7
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Jedai Voir le message
    par exemple il est certain que la syntaxe de Smalltalk bien qu'ultra simple et bien plus sexy à mon avis a eu du mal à conquérir les hordes adeptes du C alors que Java a une syntaxe beaucoup plus proche de l'ancêtre...
    clairement Java est un sous-ensemble de Smalltalk avec une syntaxe à la C++


    Citation Envoyé par maske Voir le message
    Java a tiré de Smalltalk, au passage, énormément de concepts (machine virtuelle, garbage collector, etc, etc...)
    et où les a prises Smalltalk ?



    selon moi, clairement Java et le marketing Sun ont eu des effets néfastes sur plusieurs bons langages... aussi bien Smalltalk que Eiffel
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #8
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    À mon avis, et là j'élargi le débat, il y a deux sortes de technologies:
    • les technologies "mercantiles" qui ont l'avantage d'élargir le marché IT (comme c'était le cas de FORTRAN, du C ou de Java)
    • les technologies de "consolidation" qui ont l'avantage de rationaliser les pratiques (c'était le cas de Smalltalk et Eiffel pour la POO)


    La réponse à la question devient alors toute simple, pourquoi les technologies de "consolidation" n'emportent pas le marché, simplement parce qu'une nouvelle technologie "mercantile" arrive avant que la transition vers une technologie de "consolidation" n'ait le temps de devenir un investissement rentable.

    Ce n'est donc pas le maketing de SUN qui écrase le marketing IBM, c'est plutôt le marché de la POO qui devient un marché de l'internet/intranet, et au moment de la transition Java n'est pas meilleur que Eiffel (bien au contraire) mais il a un marché d'avance et une syntaxe opportuniste qui aide la transition de l'ancienne techno "mercantile" vers la nouvelle.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  9. #9
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Quand même, j'ai un peu l'impression qu'on considère Smalltalk comme fini :p

    Smalltalk n'est pas mort et enterré au profit Java :p Loin, très loin de là :p

    Cela dit pour répondre à
    et où les a prises Smalltalk ?
    ,
    c'est largement différent dans le sens ou les types qui l'ont fait (Xerox) ont mis au point la plupart de ses concepts (faut pas oublier que ces gens là ont fait des choses extrêmement novatrices, me semble que ce sont eux qui ont inventé les environnements fenêtrés, la souris, ... et n'oublions pas que dans "Xerox" il y a "roxx" xD) alors que Java pioche directement dans Smalltalk (Sunit ==> Junit, délicieux hasard ? :p)

    Faut noter aussi que son impopularité viens également, en plus des effets dus au marketing, de sa propre réputation (en gros, sa mauvais réputation s'auto-nourrit). Notamment à cause de la syntaxe qui fait peur (à tort), à des codeurs qui font deux ans d'études par exemple et qui n'ont appris que des langages de type C, C++ (et Java qui suit niveau syntaxe), ça paraît difficile de changer, avec le fait qu'il faut fouiller la doc pour trouver une info en Smalltalk.

    Le fait également que ça soit un langage objet pur, sans typage, qui n'a pas pour principal interêt comme certains le croient de ne pas s'embêter avec les déclarations, mais justement qu'il s'agit du concept de l'objet, qui reçoit un message et donc n'a pas à se préoccuper de son type, puisqu'il implémente (ou non) une réponse à ce message.
    Certains on du mal à saisir ces concepts en Smalltalk ce qui fait qu'il est facilement abandonné par les gens qui veulent apprendre un langage.

    Ne pas oublier que si l'ont est forcé de reconnaître sa puissance au vu de certaines preuves, ça n'est pas pour autant qu'il sera utilisé en masse demain par le monde de l'entreprise, en effet, puisqu'on a plein de codeurs Java, C++, etc... qui sortent des écoles, pourquoi s'embêter ?

    Je pense quand même que Smalltalk s'est fait sa place dans son coin, et beaucoup d'entreprises l'utilisent de manière rentable.
    Et cela dit, je ne crois pas que Java soit l'unique responsable de "pourquoi pas Smalltalk". En fait la plupart des langages faciles d'accès (ou c'est ce qu'on croit :p) bouffent sur son terrain (C, C++, ...)
    [|]

  10. #10
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    A part en rachetant OTI pour obtenir les droit sur VisualAge, IBM a t il vraiment soutenu le Smalltalk ??

    Car apparemment IBM a quand même vite basculé sur le Java ! Notamment en adaptant cet éditeur VisualAge (qui entre parenthèse a l' air génial vu les commentaires sur le net) au langage Java. En tappant VisualAge sur google y a quasi que des liens pour VisualAge for Java...

    Et je ne trouve pas vraiment de preuve de soutient d'IBM pour le Smalltalk !

  11. #11
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    plop =p

    C'est carrément un document publicitaire, c'est certain, mais

    http://www.cincom.com/pdf/CS040819-1F-A4.pdf

    On notera que Cincom pour Cincom Smalltalk uniquement a des gros clients

    Parmi nos clients Cincom Smalltalk, nous comptons, en dehors
    de JPMorgan : AMD, Penn State University et OOCL. En France,
    nous pouvons également citer : Mutuelle du Mans Assurances
    (MMA), REUNICA et laboratoire Pasteur-CERBA.
    Evidemment ça n'est pas à un usage "courant" au sens "que tout le monde connait" comme le jeu vidéo, etc... Mais voilà, Smalltalk a du succès.
    [|]

  12. #12
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Car apparemment IBM a quand même vite basculé sur le Java !
    Et je ne trouve pas vraiment de preuve de soutient d'IBM pour le Smalltalk !
    Le soutien d'un jour n'est pas le soutien de toujours.
    Tu vois des témoignagnes de soutien d'IBM à OS/2 ?
    Tu vois des témoignagnes de soutien d'Apple et Motorola au PowerPC ?
    Les enterprises en général ne soutiennent pas les technologies parce que leurs revenus dépendent des services, pas des technologies.

    @maske

    Au risque de passer pour un rabat-joie, selon moi, un signe qu'il y a peu ou pas de marché de l'emploi dans une techno c'est quand cette techno n'a que des gros clients. Les très gros clients (genre Intel, Microsoft, NASA, Défense Américaine, Airbus) ont la particularité de se payer le luxe d'héberger une part non négligeable des technos de niche.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  13. #13
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par maske Voir le message
    (aussi parle-t-on de Smalltalk-80 parfois)
    D'ailleurs je crois que la norme date de 1980. Du moins j'ai le livre correspondant.

  14. #14
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Petit up.

    C'est le moment de la recherche de stage, fin des études dans quelques mois, et voilà :

    Il y a des entreprises qui 1- Recrutent des ingénieurs qui font du Smalltalk 2- Qui proposent même des stages en Smalltalk.

    Par exemple, rien que dans mon coin, Thalès, Geensys, et deux autres enterprises dont j'ai zappé le nom !

    Rien que le fait de mettre "Smalltalk" dans son cv nous fait reçevoir des appels de boites de Paris (mais pas que) pour des propositions de CDI en tant qu'ingénieur Smalltalk.

    un signe qu'il y a peu ou pas de marché de l'emploi dans une techno
    Ben finalement c'est pas si mort hein ? =p

    Non seulement il y a de la demande, mais en plus c'est utilisé.
    Note : j'ai vu autant de propositions pour Squeak que pour Visual Works de Cincom.

    D'ailleurs je crois que la norme date de 1980. Du moins j'ai le livre correspondant.
    Oui, d'où le 80 de ST-80
    [|]

  15. #15
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Tant mieux pour toi, parce que bosser, pour des raisons alimentaires, avec une techno qu'on aime pas, c'est pas la joie
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  16. #16
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Hmmm ben j'aime bien le Smalltalk perso =p

    C'est même mon langage preferé.

    Après, faut voir les gouts de chacun, mais c'est vrai que si tu hais le ST, c'est certain que ça doit pas faire plaisir...

    Tu bosses en Smalltalk ?
    [|]

  17. #17
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Non.
    (voudrais bien plus d'emplois Objective-Caml/Haskell/F# )
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  18. #18
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 90
    Points
    90
    Par défaut
    Bonjour à tous,

    je déterre le topic, mais bon, j'aimerais témoigner quand même

    J'utilise Smalltalk dans ma TPE et pour l'instant, on en est satisfait. Il me semble que la VM de Squeak est plus lente que celle de VW d'après ce que j'ai pu lire à droite à gauche mais je n'ai plus les benchmarks en tête ni leur référence... De notre côté, lorsque l'on a besoin de calcul pur pour du scientifique, on utilise DLLCC qui permet de connecter C avec Smalltalk ou on passe par le biais d'un exe Fortran. J'ai l'impression que quand le Smalltalk est bien écrit, c'est quand même pas mal du tout.

    Démarrant de 0, j'avais essayé C++ et java et bon, personnellement, Smalltalk m'a paru tellement plus intuitif pour coder des choses complexes et gérer les GUI que je suis resté dessus. Je ne sais pas ce qu'il en est pour les programmeurs hardcore

    La communauté francophone et internationale est active et pour l'instant, je n'ai pas rencontré de problème de support (i.e. jamais eu de problème non résolu). J'ai l'impression que le dynamisme est positif, squeak est un produit vivant et Cincom a apparemment prévu un gros update au niveau graphique (mais pas seulement) pour la version 7.7 de Visual Works. Donc peut-être Smalltalk reviendra sur le devant de la scène bientôt. A noter que ce n'est pas forcément souhaité par tous les membres de la communauté Smalltalk, d'après ce que je lis parfois

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Salut à tous,

    J'ai choisi de déterrer à nouveau ce topique pour faire ma première contribution.
    Je vais essayer de faire court (mais ça j'arrive jamais), quitte à y revenir ultérieurement.

    Tout d'abord, pour répondre directement au titre du topique, Smalltalk a toujours été un marché de niche. On ne peut donc pas vraiment parler d'échec commercial. J'ai un vague souvenir qu'au plus fort de l'utilisation du langage (vers 1995), il représentait à peu près 10% des langages utilisés. Je n'ai pas de chiffre aujourd'hui mais il est à peu près certain que la niche s'est rétrécie, en particulier au profit de Java.

    Maintenant, on peut essayer de refaire l'histoire et d'expliquer un certain nombre de choses.

    La toute première chose qu'il faut comprendre c'est que Smalltalk vient d'un autre age.
    ( je vous parle d'un temps que les moins de 20 ans ne peuvent pas connaître :-) )

    Si on remonte très très loin, la première version date de 1972 dans les labos Xerox.
    Les chiffres que j'ai c'est que les premières idées remonteraient même à 1969.
    Pendant une décennie le projet est resté dans les labos et a préparé la révolution informatique.
    C'est dans ces mêmes labos, par les mêmes équipes, qu'ont été inventé (ou en tout cas intégré) ce qui aujourd'hui nous parait si naturel :
    - travailler uniquement en mode graphique (et non plus en mode caractère)
    - dans un environnement multi-fenêtrés
    - manipulé par une souris (à 3 boutons)
    - permettant d'interagir à l'aide de PopupMenu
    ...

    J'avais dit que je ferais bref donc en résumé : Smalltalk a quasiment tout inventé
    (bon d'accord, en fait c'est pas tout a fait vrai)

    Maintenant avançons dans l'histoire.
    Pendant très longtemps, Smalltalk était trop avancé pour son temps.
    Par exemple, quand on avait des PC avec 256Ko de ram, il fallait une station graphique avec plusieurs Mo de ram pour le faire tourner.

    Il faut généralement une vingtaine d'années pour qu'une technologie arrive dans le grand publique.
    Au début des années 1990, Smalltalk commençait enfin à se tailler une bonne part de marché et vers 1995 les gens d'OTI expliquaient que dans moins de 10 ans on aurait du Smalltalk dans nos montres.

    Il faut se rappeler qu'à cette époque, c'était la grande révolution de la POO (Programmation Orienté Objet).
    C'était l'époque où pour vendre un produit il était de bon ton qu'il y ait le mot Object dedans.
    Mais pour vendre Smalltalk, il fallait déjà commencer par expliquer ce qu'était réellement la programmation par objet.
    Beaucoup de L4G se disaient "Orienté Objet" simplement parce qu'ils avaient un système de construction d'interfaces graphiques avec des widgets et la possibilités de réagir aux événements (les américains appelaient cela "Object on the Glass", c'est à dire des objets collés sur l'écran mais rien derrière).

    Lorsqu'IBM a racheté OTI puis a lancé sa gamme de produit VisualAge, beaucoup ont vu là le décollage pour de bon du langage dans l’industrie.
    Il faut dire que les sociétés qui distribuaient Smalltalk à cette époque restaient de tailles modestes comparativement à un acteur comme IBM.
    Tout allait bien mais deux choses importantes sont venues bouleverser tout ça : Internet et Java.

    Et c'est là que tout le monde oublie une chose extrêmement importante : avant Internet et Java, pour tester un langage et un environnement de développement, il fallait se faire envoyer quelques disquettes (plus tard un cdrom) avec une version d'évaluation valable quelques semaines, après quoi il fallait passer à la caisse pour acheter des licences, généralement coûteuses, par poste de développeur.

    Ce qu'a réellement révolutionné Internet et Java, c'est le modèle économique des éditeurs de logiciels.

    D'un seul coup, n'importe qui ayant un accès internet pouvait télécharger le kit de développement, tester le langage et développer ses applis avec sans rien devoir à qui que ce soit.
    Le problème c'est que les distributeurs de Smalltalk n'ont pas forcément vu le coup venir.

    Au début, c'était pas grand-chose Java, un truc assez insignifiant, misant surtout sur le coté Applet, rien à voir avec le système mature qu'était devenu Smalltalk.
    En tout cas, pas de quoi décider d'arrêter de faire payer ses utilisateurs et fournir l'environnement gratuitement.

    Mais quand la vague Internet a gonflée et que Java a su s'adapter rapidement pour basculer du petit langage pour Applet au langage efficace pour faire des serveurs web, il était trop tard.

    IBM a alors donné un coup de grâce en lâchant VisualAge au profit d'une réécriture d'un environnement nouveau, en Java : eclipse.

    Une raison technique profonde a été l'inadéquation des concepts d'un environnement de développement Smalltalk pour s'adapter au nouveau monde du développement des applis web.
    Un environnement Smalltalk est conçu pour éliminer la notion de fichier. Le développeur écrit des méthodes dans des classes et non des fichiers sources. La grande force d'un outil comme VisualAge/Java a été de faire un environnement de développement Java à la Smalltalk (et en Smalltalk) pour reproduire cette philosophie.
    Brusquement, développer des applications ne consistait plus seulement à développer du code (des méthodes dans des classes) mais surtout à écrire des fichiers de toutes sortes (HTML, JSP, JavaScript, properties, ...). Le code java devenait secondaire, d’où la nécessité d’un environnement plus adapté à la manipulation de fichiers de toutes sortes.

    Les autres éditeurs ont finalement réagis en mettant à disposition leur implémentation gratuitement en version Non Commerciale mais l'utilisation industrielle de Smalltalk reste généralement payante.
    Smalltalk est retourné à son marché de niche. Les versions commerciales (VisualWorks, VASmalltalk...) continuent de maintenir leurs versions et de gagner de l'argent avec (bien sûr tout cela à la mesure des possibilités d'investissement) et de nouvelles implémentations, open-sources, ont gagné en maturité et prennent de plus en plus d'importance (Squeak, Pharo, ...)

    Nombreux sont ceux qui constatent la complexité croissante de Java, son manque de « dynamicité », la lourdeur des environnements et se tournent vers des langages plus dynamiques et plus agiles. Smalltalk, malgrés son grand age, fait toujours partis de ceux là et continue d'apporter un bonheur immense à ceux qui le pratiquent.

  20. #20
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Merci pour ce témoignage intéressant.

    Pour résumer encore plus il y aurait trois périodes dans l'histoire de Smalltalk :
    • la période pré-C++ où la POO était encore une idée de laboratoire, et pendant laquelle Smalltalk était un langage de légende, pour son interface et son modèle objet, mais inacessible pour des questions de coût du matériel
    • la période C++, où la POO a explosé mais pas au profit de Smalltalk, à cause de ses performances et de son modèle objet (qui cherche à intégrer l'existant plutôt que s'intégrer dans l'existant comme C/C++)
    • la période Java, où le WWW a boosté le besoin de machine virtuelle, toujours pas au profit de Smalltalk. à ce moment Smalltalk avait fait d'énormes progrès en matière de performance et le matériel était devenu suffisamment bon marché. mais le support du moteur c'était les standards du WWW, sur la base anachronique d'une multitude de petits fichiers de configuration, alors que Smalltalk apporte son propre modèle de persistance


    La morale de cette histoire c'est que les projets innovants, qui cherchent à résoudre tous les problèmes existants en intégrant tout pour maximiser la cohérence et le bénéfice d'un petit nombre d'idées fortes, ces projets sont des vitrines technologiques qui créent leur marché de niche plutôt que d'accompagner la croissance générale.
    La même histoire se répète, par exemple le modèle économique de Bertrand Meyer ne reposait pas sur le développement de son compilateur Eiffel mais sur l'émergence et l'explosion d'un marché des composants logiciels qui devait le rendre "more than wealthy". La révolution n'a pas eu lieu parce qu'Eiffel imposait son modèle mémoire sans être porté (comme Java) par un nouveau marché qui remettait tout-à-plat.

    Nombreux sont ceux qui constatent la complexité croissante de Java, son manque de « dynamicité », la lourdeur des environnements et se tournent vers des langages plus dynamiques et plus agiles.
    L'histoire de C/C++ montre que la complexité d'un langage est en quelque sorte la mesure du succès, qu'il n'y en a jamais trop, qu'on peut en rajouter encore pour satisfaire aux dernières tendances, même lorsqu'on croyait qu'on était déjà allé beaucoup trop loin. Et que ça n'entame pas la popularité d'un langage sur son domaine de prédilection, ça l'empêche juste de conquérir de nouveaux horizons. Alors, comme Java est plus sur la défensive que sur l'offensive, une bonne stratégie (à défaut d'une bonne conception) c'est de croître en complexité pour contrer les langages dynamiques, même au détriment de la lisibilité.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

Discussions similaires

  1. Mobile : HTML5 est-il un échec pour le développement cross-platform ?
    Par Hinault Romaric dans le forum Actualités
    Réponses: 27
    Dernier message: 03/02/2014, 10h50
  2. Réponses: 230
    Dernier message: 10/11/2012, 20h57
  3. Le protocole libre OAuth 2.0 est-il un échec ?
    Par tarikbenmerar dans le forum Actualités
    Réponses: 6
    Dernier message: 03/09/2012, 16h39
  4. Est le format 3ds payant dans un jeu commercial?
    Par Happy dans le forum OpenGL
    Réponses: 6
    Dernier message: 05/11/2006, 18h05
  5. Réponses: 2
    Dernier message: 06/04/2006, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo