Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Débat : Smalltalk est-il un échec commercial ?

Le , par matthedemon, Nouveau membre du Club
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...


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de SpiceGuid SpiceGuid - Membre émérite https://www.developpez.com
le 15/08/2008 à 15:33
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.
Avatar de Alp Alp - Expert éminent sénior https://www.developpez.com
le 02/10/2008 à 19:10
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.
Avatar de maske maske - Membre éprouvé https://www.developpez.com
le 20/11/2008 à 15:13
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
Avatar de SpiceGuid SpiceGuid - Membre émérite https://www.developpez.com
le 20/11/2008 à 15:26
Tant mieux pour toi, parce que bosser, pour des raisons alimentaires, avec une techno qu'on aime pas, c'est pas la joie
Avatar de maske maske - Membre éprouvé https://www.developpez.com
le 20/11/2008 à 17:19
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 ?
Avatar de SpiceGuid SpiceGuid - Membre émérite https://www.developpez.com
le 20/11/2008 à 17:27
Non.
(voudrais bien plus d'emplois Objective-Caml/Haskell/F# )
Avatar de Wu_Wei Wu_Wei - Membre régulier https://www.developpez.com
le 07/03/2009 à 20:29
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
Avatar de SWizard SWizard - Membre à l'essai https://www.developpez.com
le 23/06/2009 à 1:53
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.
Avatar de SpiceGuid SpiceGuid - Membre émérite https://www.developpez.com
le 23/06/2009 à 16:57
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é.
Avatar de SergeStinckwich SergeStinckwich - Membre à l'essai https://www.developpez.com
le 24/06/2009 à 3:53
Citation Envoyé par SpiceGuid  Voir le message
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.

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é.


Je trouve l'analyse assez bonne. Il s'avère qu'il n'est souvent pas souvent facile de proposer des révolutions y compris en informatique. Les développeurs ont des habitudes (syntaxe c-like, manipulation de fichiers) que tu ne peux pas changer aussi facilement.

Je pense aussi que Smalltalk peut encore rester très longtemps sur un marché de niche sur certains secteurs comme la finance, la modélisation/simulation, les applications web, etc ... Ceux qui auront l'audace de l'utiliser disposeront sûrement d'un avantage industriel en terme de flexibilité par rapport à d'autres outils.
Avatar de nicorama nicorama - En attente de confirmation mail https://www.developpez.com
le 25/06/2009 à 8:21
Le marketing de Java Moi j'y comprend rien depuis 10 ans - super techno, super api, super documentation - super gratuité, mais j'ai jamais compris l'ordre de leur site web ni aucun des mails qu'ils m'envoient.
Offres d'emploi IT
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Ingénieur H/F
Safran - Ile de France - Moissy-Cramayel (77550)
Ingénieur conception en électronique de puissance H/F
Safran - Ile de France - Moissy-Cramayel (77550)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil