146 votes

Pourquoi isn ' t Smalltalk populaire ?

J’ai été regarder Smalltalk (VisualWorks) pour les deux derniers mois - et plus j’apprends, plus je suis impressionné. Cependant, je pense que je dois être raté quelque chose comme Smalltalk ne semble pas être populaire de nos jours - et c’était peut-être jamais.

Ce que les gens qui ont chuté de Smalltalk en faveur de Java, C++, Ruby, etc. sais que je n’ai pas ou autrement dit « pourquoi pas Smalltalk plus populaires ? »

112voto

jarober Points 824

Il y a un certain nombre de raisons que Smalltalk n'ai pas "s'enflammer", la plupart d'entre eux historiques:

  • lors de la Causerie a été introduit, il était trop en avance sur son temps en termes de ce genre de matériel il est vraiment nécessaire

  • En 1995, lors de Java a été publié à grand renfort de publicité, l'un des principaux Smalltalk vendeurs (ParcPlace) était occupé de fusion avec l'autre (Digitalk), et que la fusion est terminée par plus d'un combat au couteau

  • En 2000, lors de Cincom acquis VisualWorks (ObjectStudio était déjà un produit Cincom), Smalltalk avait disparu de la "hip langue" de la scène

  • Depuis, Smalltalk est un petit joueur sur le langage de l'espace, mais c'est le retour à la croissance du marché. Il y a tant d'offres commerciales (Cincom d'être le plus grand joueur de là), et open source (Bruit et Pharo, qui sont pour la plupart sous la licence MIT, et GNU Smalltalk, qui est GPL).

Pas tous les Smalltalk implémentations nécessitent une image; tandis que ceux d'entre nous qui sont vendus sur une image de l'environnement de l'amour, vous pouvez utiliser GNU Smalltalk avec votre éditeur de texte favori, assez facilement.

En fin de compte, Smalltalk a atteint un sommet au début, et d'avoir ensuite des dommages causés par la stupidité du début des fournisseurs dans l'espace. À ce point dans le temps, dans le passé, et je dirais que l'avenir s'annonce assez lumineux.

84voto

Il fallait être là en 1995. À l'époque, il y avait un peu de commercial Smalltalks mais le plus gros était VisualWorks de ParcPlace Systèmes. Les spécialistes du marketing à ParcPlace étaient idiots - le choix d'optimiser max dollers par siège plutôt qu'un maximum de sièges. N'importe quel magasin qui souhaitent adopter Smalltalk a dû payer une couple de milliers de dollars par développeur pour une licence. Tout développeur désireux d'apprendre le langage Smalltalk soit dû se faire embaucher pour faire Smalltalk ou l'évier importante somme d'argent dans l'achat de sa propre licence. Donc, c'était juste de la plaine dur pour avoir une chance de l'apprendre.

Aussi sur l'époque, IBM a été la recherche d'un successeur à COBOL pour un de leurs clients d'affaires. Ils ont choisi de Smalltalk (smart) et développé VisualAge et fait en sorte que le même programme peut s'exécuter sans modification sur tout, des mainframes à AS400s pour Pc. Smalltalk est conviviale syntaxe minimale et est facile à apprendre, il m'a donc semblé naturel de remplacement pour COBOL. L'avenir semblait très prometteur pour le langage Smalltalk. Les entreprises qui utilisaient étaient hors-la production de tout le monde par beaucoup.

Puis le Soleil s'est présenté avec Java. Ils ont donné gratuitement au lieu de chargement. IBM a pris un coup d'oeil et compris deux choses. D'abord ils ne voulaient pas entrer dans une guerre de vente avec le Soleil qui était clairement de la planification à dépenser une fortune sur la Java de la marque. Au lieu de cela, ils ont décidé d'essayer de battre Soleil à leur propre jeu - avoir le meilleur Java sur le marché. Pourquoi pas, ils ont déjà un grand VM qui courait sur toute leur pile - ils ont juste adapté pour gérer le bytecode Java jeu. En fait, IBM Java outils ont été effectivement écrit en Smalltalk pour plusieurs années. Ainsi, si l'on veut blâmer personne pour la montée de Java sur Smalltalk - il est assez facile de placer le blâme directement dans les pieds de IBM et de leur refus de soutenir la concurrence.

J'aime Smalltalk. J'adore le codage dans le débogueur, être en mesure de processus d'archivage et de restauration exactement plus tard si elles rencontrent des exceptions, l'incroyable fiabilité. L'économie d'expression et à la magnifique bibliothèque de classe. Il y a une nouvelle résurgence de Smalltalk développement grâce à Grincer. Novlangue, Pharo (qui a une très belle INTERFACE utilisateur peaux), la nouvelle cog de la VM, bord de Mer et de pierres précieuses, ce sont tous les projets de travail à combler les lacunes historiques de Smalltalk, y compris les pauvres OS de l'intégration (Novlangue a une nappe d'objets natifs de l'intégration et de Pharo/Bruit ont un nouveau code externe d'une capacité d'intégration appelé les Étrangers), et le déploiement/évolutivité.

De toute façon, je n'ai pas l'esprit que Smalltalk n'est pas populaire. Ce qui en fait une arme secrète pour moi et je suis très encouragé de voir tous les nouveaux projets de développement. Smalltalk est en croissance et d'avancer encore et c'est bien parce que beaucoup de la meilleure des idées dans le logiciel (XP, tests unitaires, refactoring éditeurs, codage assistants), tous ont été élaborés en Smalltalk abord, puis filtré pour le reste du monde (généralement dans des formes diluées).

Une autre limitation à l'époque pour Smalltalk a été l'application de l'emballage et de l'absence de dynamique de support de chargement. Grand Smalltalk demandes avaient pour reconstruire le fichier d'image et de redéployer pour un changement. Java fourni la liaison dynamique lors de l'exécution, qui a fourni de nombreux avantages pour des applications packagées. Par les temps Smalltalk ajouté le chargement dynamique, Java avaient gagné de la notoriété acquise au sein d'IBM afin qu'ils cessé d'investir dans Smalltalk.

36voto

Jon Skeet Points 692016

Sans doute la controverse réponse, et certainement un personnel, mais... je n'aime pas les fanatiques.

La plupart des Smalltalkers que j'ai pu croiser sur le net à essayer de dire comment Smalltalk est, fondamentalement, la meilleure chose depuis le pain tranché, et quelle horreur toute autre langue est. Je suis pas dire que tous les Smalltalkers agir de cette façon - mais il a été une très nette tendance dans ceux que j'ai rencontrés. Ils en ont très clairement été à la recherche vers le bas sur quelqu'un qui n'utilise pas le langage Smalltalk.

Ce n'est tout simplement pas une bonne façon de convaincre les gens d'utiliser une langue. Cela me met hors parce que je profiter de l'apprentissage avec une communauté, et je n'ai pas vraiment envie de faire partie d'une communauté qui regarde vers le bas sur moi - même si c'est juste une minorité de prendre cette attitude.

Je ne sais pas assez sur Smalltalk pour commenter techniquement à tous - et j'aimerais vraiment apprendre "un jour"... mais c'est en bas de la liste des langues pour moi d'apprendre que d'autres où j'ai eu une expérience positive avec la communauté. (F# presque eu le même problème pour moi, grâce à quelqu'un de prendre cette attitude dans le C# de groupes de discussion, mais, heureusement, plus engageant personnalités ont prévalu.) Le fait que les gens ne l'aiment tellement suggère il y a des bonnes choses à son sujet en tant que technologie, mais de façon réaliste, je suis un être humain plutôt que sur un ordinateur. Le mérite technique n'est qu'une partie de l'image.

Peut-être que je suis tout seul sur ce projet, mais en général: si vous voulez montrer à quelqu'un comment génial votre truc favori est, et peut-être les convaincre qu' ils devraient l'utiliser aussi, en commençant par censurer leur outil actuel est une mauvaise idée. Système d'exploitation zélotes (de toutes sortes) devraient prendre note.

21voto

technomancy Points 2784

Deux choses se démarquent dans mon esprit:

  • Il a été conçu avant Unix gagné. À l'époque, s'isoler de l'OS hôte semblait être une bonne idée, étant donné que pour avoir un niveau décent de l'intégration avec tous les systèmes d'exploitation en cours d'utilisation serait extrêmement difficile, et en plus de cela rendrait les choses qui devraient être simples ridiculement compliqué--témoin de la flexion en plus vers l'arrière que Common Lisp a à faire pour soutenir des choses comme le VAX système de fichiers. Maintenant, il a l'air gêné.
  • Le manque d'implémentations Libres. À l'époque, il n'avait pas été démontré qu'une langue a besoin d'un solide axée sur la collectivité de la mise en œuvre de ramasser de la notoriété acquise; les gens pensent encore que la vente de logiciel est un bon moyen de faire de l'argent.

On dirait vraiment des erreurs évidentes, avec le recul, mais je suppose que vous avez juste à être là.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X