4 ms·
SmallTalk as a language is IMVHO terrible BUT it's strength came from it's concept, an user-programmable environment, that's matter so much. SmallTalk was the
by kkfx 5y ago
SmallTalk as a language is IMVHO terrible BUT it's strength came from it's concept, an user-programmable environment, that's matter so much.
SmallTalk was the language of first commercial desktop environments, modern desktops with keyboard, mouse, a similar form factor than today desktop, networking etc and those historical systems are still far more advanced than today's ones.
Personally I prefer Lisp as a base language, but in any case the concept is far more important than the rest. A thing humanity lost years ago and that need to recover ASAP.
- sebastianconcpt 5y agoI find preferences-wars a source of evil. Lisp is fine, not the subject here, tho. Back to the subject, Smalltalk's syntax allows the most elegant expression of computer code similar to natural written language I've seen. And that at the lowest cognitive load to learn and read that the computer world provided so far. I'm with you about raising the importance on concepts and that humanity needs to rescue its capacity for making that relevant again. I'm afraid Post-modernism is liquifying intelligence and is making everything regarding to intelligence to be harder to flourish. PS: We use a lot of camel case but please remember it's Smalltalk (instead of SmallTalk).
- dgb23 5y agoIt has nothing to do with philosophical concepts and everything with business culture. There are tools that facilitate expression, innovation and individual contribution. And there are tools that make it easier to scale and for programmers to be interchangeable. These two are very hard to unify. There’s cross pollination but that’s about it. Whether you’re in a top down hierarchical business model or in one that’s more open and people centric has a significant impact on which type of tools you’re using. Smalltalk, Lisp and their descendants belong to the former category. They are immersive, expressive and incredibly dynamic and their communities are often pioneers. But this type of freedom comes at a cost that some do not want to pay.
- sebastianconcpt 5y agoI agree with everything you said except your first sentence :D
- kkfx 5y ago> But this type of freedom comes at a cost that some do not want to pay. Who are those some? Managers or techie? Because yes, business choose to do it's best avoiding Smalltalk, Lisp etc for business reasons, but those reasons are not "their cost" but the fact that with them anything is open, integrated, there are not countless of individual "product" to be sold, well welded so to guarantee that no one can temper them etc. It's a bit like modern "open source enterprise" monsters, they are not monsters because doing so make easy changes people involved in a project, find people skilled in that field etc but because being monsters it's cheap to pay enterprise support instead of deal with issues internally, re-write from scratch instead of forking etc. While these days Smalltalk and Lisp are just programming environments on a host OS in the past they were the OS and so the OS is a unique environment not a container cargo ship with containers on top, anything rigidly separated, that's the business reasons behind industry choice IMO...
- kkfx 5y ago> We use a lot of camel case but please remember it's Smalltalk (instead of SmallTalk). Thanks, correction registered :-) I agree about preferences-war, I generally tell my preference not to start flame but to give something for a positive discussion, witch means "how many in a community prefer $this more than $that and why" but less about the "similarity" with a natural language: in nature we use words as tags, so "objects" are natural, message passing is "natural" in the sense of collaboration between humans, but not really in the OOP sense. Also Smalltalk syntax to me does not look much similar to natural language. The most similar language I found so far is Python, imperative programming is not so effective but is easier than functional for newcomers and it's syntax is very easy to read, IMVHO that's the reason of it's popularity especially compared with very similar (in targets) languages like Perl or Ruby. Lisp is easy once you have learned a bit, and probably that's one part of why is not much popular, the rest, in common with Smalltalk is that both are designed for user programming, while "modern industry" want to lock users depriving them of any possible freedom and free usage of a desktop. In the past that was the IBM doctrine, thereafter the GAFAM doctrine: they all born out of Xerox tech, small part of it, wrapped in ways that put a product, a service at the center instead of the human. It's not only about liquefying intelligence but a mean to make hard doing certain things. A stupid example: we have Wikidata, SPARQL is not that a great and digestible language but it's there, why the hell it's not normal just for a middle-school simple research query Wikidata form "a buffer" (in the Emacs sense of that) and see results in various forms we can manipulate to plot graphs etc at a level easy enough for a middle-school small student research? That's because IMVHO making easy doing so means users have power in their own hand, they can move not only in pre-defined and controllable paths but independently. Why aggregators vs personal aggregators with RSS+Xerox style scoring? Again because aggregators might satisfy users demand BUT matching them to their hoster desire, for instance silencing or discrediting some news and enlarging others (try to see the recent polemics about Meta vs TikTok PR campaign) while a personal one can't be tweaked from remote so users might find their own path with their own ideas and tools. Why "internet banking website" instead of a common standard API (like EU OpenBank, but open for all) with a desktop client? With it, users can have their transactions digitally-signed on their own desktop, having multiple banks and banking services in the same place, with the same UI etc without we have surveillance on crappy banking websites, crappy authentication, nothing in our hands etc. All those things have a common ground: modern/classic software development is compartmentalized with any human layer religiously separated from the others, ancient programming languages are designed for a coherent unique environment without barriers.
- rileyphone 5y agoFor reference: http://augmentingcognition.com/assets/Kay1977.pdf http://augmentingcognition.com/assets/Kay1977.pdf. Modern Smalltalk is quite different from Smalltalk-76, to the chagrin of Kay. I agree on the Lisp part, textual syntax is nice for human understanding but will one day be no longer necessary. If only they had made a cheap Lisp machine!
- kkfx 5y ago> textual syntax is nice for human understanding but will one day be no longer necessary Can you elaborate your vision? What future you imaging in human-computer UI terms? Visual programming so far have well proved to be a failure, modern visual programming is even worse than past tentative (see how crappy are visual environment from RPA to NodeRed&c)... Vocal interfaces are also crappy... Even if we look at sci-fi movies the computer interfaces they show are ridiculously inefficient... Just see Star Trek as an example: vocal commands in emergency situations that demands multiple seconds while a direct hit on keys demands just few ms, the Borg with neural connections and visual+touch UIs in their ships etc. Oh that's sci-fi of course but that means that even artists have so far failed to imaging different means. > If only they had made a cheap Lisp machine! At that time was not possible in scale and industrial terms, similar to the far older Xerox workstations, it's possible now, but too many do not even know that original desktop model and MANY (very skilled PhDs included) have even issues imagining it... Just myself using Emacs/EXWM in a presentation I generally create an extraordinary WOW effect on techies who fail to understand what they see live on the screen/projector, how is that possible, and there is nothing extraordinary, just EXWM/org-mode normal usage. That's the real issue, in common with Smalltalk: people who can understand do not know, people who can push classic model again do not want it at all, it hurt they skyrocketing high businesses (and curiously old business were in relative terms more profitable for anyone, only they do not assure by any means the possibility do dominate the market since being knowledge-based anyone who happen to have developed something good can succeed), the large mass of the rest of humanity do not even know what happen yesterday so...
- rileyphone 5y agoMuch of the power of Lisp lies in its homoiconicity, but it also means the syntax is "just a bunch of parens" - a ball of mud is hard to parse. Structured editing negates this by changing the view layer from text to something richer and more specified to the form, but still in the same basic shape as the code, which is harder to do with C-like languages. Most of what's needed is a fully integrated development environment such that the language and editor are created in unison, like many Lisp efforts of old.
- 324235235235235 5y ago> SmallTalk as a language is IMVHO terrible Eh, it's rare that you find a language simple enough that its syntax fits on an index card, yet conceptually rich enough that you can build complex systems with it. This is a feat in and of itself that warrants admiration and examination. r5rs was almost this, but it lacked any real facility for creating ADTs, like a class system, instead just giving you the rudiments (closures, functions), and expecting you to do the rest. Racket fixes this, but it's also much more complicated than both r5rs and Smalltalk.