Qu'est-ce qui vous effraie le plus à propos de l'IDE intégré de la plupart des Smalltalks modernes? [fermé]

StackOverflow https://stackoverflow.com/questions/179238

Autres conseils

Rien ne me fait peur en particulier, mais j’ai trouvé que travailler avec les API chez VW était un peu une corvée, même lorsque j’avais utilisé d’autres smalltalks. L’effet des navigateurs est que vous avez tendance à voir l’API un peu à la fois et, bien souvent, il n’est pas toujours évident de chercher une fonctionnalité particulière.

Smalltalk souffre également du changement de paradigme pour comprendre son fonctionnement. Lorsque je faisais mon baccalauréat à l’université (peu de temps après avoir rencontré Smalltalk), j’ai eu la chance d’apprécier un peu de Schadenfraude en regardant tous les autres élèves de la classe surmonter la bosse de paradigme initiale alors qu’ils apprenaient le système (Squeak) pour la première fois. temps.

Je pense que la combinaison du changement de paradigme et de la fonctionnalité étant quelque peu enfouie dans les bibliothèques de classes crée une courbe d'apprentissage abrupte. ST avait la réputation d’avoir une courbe d’apprentissage assez abrupte, ce qui est dû en grande partie aux grandes bibliothèques de classes et au fait que la plupart des fonctionnalités du langage sont enfouies quelque part dans les bibliothèques.

En outre (et malheureusement), Java est apparu au milieu des années 90 et a saisi toute l’esprit partagé. Les principaux Smalltalks sont morts complètement ou ont été vendus à des acteurs de niche. Il est assez paradoxal (heureusement) que Ruby ait servi à réveiller l’intérêt pour Smalltalk, mais la perception persistante de l’obsolescence «aussi» ne l’aide pas.

Voir ce message mien pour une pontification sur le fond (comme Je les vois) de participer activement à Smalltalk de nos jours.

Je serais très heureux de retourner dans Smalltalk si l'occasion se présentait.

Le seul Smalltalk dans lequel j'ai passé du temps est Squeak, il est donc possible que mes vues ne s'appliquent pas aux autres environnements Smalltalk.

Ce qui me préoccupe au sujet de l’approche basée sur l’image, c’est que, même si vous avez des choses formidables dans l’environnement Smalltalk, c’est un jardin clos qui rend difficile l’interopérabilité avec tout ce qui se trouve en dehors de cet environnement. Par exemple, si je veux utiliser des outils externes tels que Yacc et Lex? Et si je veux utiliser certains programmes C ou Python pour générer du code Smalltalk? Et si je veux mélanger Smalltalk avec un tas de code écrit dans d’autres langues, éditer le code dans toutes ces langues dans un éditeur et le conserver dans le même arbre de code source?

Je suis sûr qu'il est possible de résoudre tous ces problèmes en demandant à votre environnement Smalltalk d'appeler des fonctions système pour contrôler des outils externes. Mais est-il facile de laisser des outils externes contrôler votre environnement Smalltalk? En d'autres termes, si je veux que Smalltalk ne soit qu'un autre composant, plutôt que le maître de tout?

Le seul gros obstacle pour moi est que le code que j'écris sur une machine virtuelle Smalltalk est STILL, après toutes ces années, non compatible avec les autres machines virtuelles Smalltalk.

Je comprends pourquoi: le noyau de Smalltalk est un ensemble extrêmement réduit d’axiomes et de mots-clés. Cela signifie qu'après 30 minutes d'apprentissage de Smalltalk, vous apprenez déjà la bibliothèque d'API plutôt que le langage lui-même. J'aime cette approche de la conception linguistique.

Cependant, dans le monde Smalltalk, tout se résume à ceci: à moins que tous les fournisseurs de machines virtuelles ne parviennent à un accord sur une API standard commune, mon code Smalltalk écrit pour une machine virtuelle est presque certain de ne pas s'exécuter sur d'autres. Les ordinateurs virtuels lorsque je décide de basculer.

Cela a également pour corollaire de rendre obsolète une partie de ma connaissance de l'espace lorsque je change de machine virtuelle.

Notez que j'ai à peine essayé Smalltalk dans ma vie. Je suis loin d'être un expert. Cette compréhension découle du fait que nous avons parlé à James Robertson il y a environ un mois.

Un autre point que je voudrais dire est que Seaside fonctionne en fait sur les ordinateurs virtuels Smalltalk les plus populaires. Je me demande quelle quantité d’API standard (qu’aurait dû être) elles ont dû créer pour atteindre cet exploit.

Cela dit, je suis toujours à l'écoute pour en savoir plus sur l'état de Smalltalk. Je veux essayer le très puissant environnement de développement de Smalltalk (et ses autres bonus).

Je sais qu'il est tard, mais le plus gros ennui pour moi, c'est qu'il n'y a pas vraiment de bon éditeur dans aucun des smalltalks. C'est une chose que je ne peux pas comprendre. Travailler avec du texte est tellement essentiel et moins supporté ....

C’est toujours comme ça que de regarder une méthode puis vous avez besoin d’un chercheur de méthodes ou d’un autre navigateur juste pour vérifier une autre méthode. C'est ce que je n'aime vraiment pas ....

Alors que l'environnement Smalltalk restreint permettait de créer des options telles que compter sur un système de contrôle de code source basé sur une base de données alors que d'autres langues avaient encore du mal à disposer d'un éditeur approprié, cela rendait l'intégration possible. très difficile de nos jours.

Avec des outils tels qu'Eclipse ou Team Foundation Server, vous êtes habitué à ce que tous les outils s'intègrent les uns aux autres. Par exemple. si une exigence est créée, elle est automatiquement liée aux ensembles de modifications que le programmeur s'engage à implémenter cette exigence. Cette " limitation des limites " Entre des outils autrefois différents est presque impossible dans le monde Smalltalk, mais avec des projets plus importants, des équipes plus grandes, des niveaux d'abstraction plus élevés, etc., vous avez besoin d'outils qui sont plus qu'un éditeur de fantaisie et vous aident tout au long du cycle de vie du développement logiciel.

Absence de support utile pour la navigation avec le clavier ou la prise en charge du comportement de l'interface utilisateur de la plate-forme.

S'il est vrai que vous n'avez pas vraiment besoin d'un éditeur de texte incroyable pour Smalltalk (bien écrit), il est très utile de pouvoir se déplacer dans l'environnement tout en gardant les mains sur le clavier (et dans mon cas essentiel RSI). J'essayais juste de l'inspecteur de VisualWorks et les touches de direction ne fonctionnaient même pas correctement pour parcourir une liste. Quand j'ai frappé la barre d'espace, j'ai eu un retour en arrière. Soupir.

Pour le monde Windows, rien ne ressemble à Dolphin Smalltalk. L'IDE est fantastique. Un autre produit de qualité, si vous voulez essayer, est Visualworks, il fonctionne bien, dispose d’une machine virtuelle très rapide et la documentation est très bonne.

J'ai utilisé les deux par le passé, il n'y a rien à craindre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top