3 ms·
> 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 gen
by 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.
- sebastianconcpt 5y agoAllow me to say that Smalltalk syntax can be really really similar to plain english sentences if you intentionally refactor it to optimize an elegant API. But (hairy topic) not every smalltalker will have talent for writing or taste or care at all about that, or at least enough to develop in that direction (which accidentally produces software friendlier to maintain and extend). It doesn't have to try to be natural language, AI/ML is close to achieve mimicing it properly [1], it just needs to feel comfortable enough for the programmer to tell computers how to behave in a way that has less cognitive load. The other questions you raise I think are very real and way more related to how power works among homo sapiens sapiens than computing languages. The software becomes an optimization of the power relationships created among individuals, groups and institutions/legalized-mafia-groups. [1] https://en.wikipedia.org/wiki/GPT-3 https://en.wikipedia.org/wiki/GPT-3
- kkfx 5y agoHum, I can't really visualize how expert systems can "free us" from the need of programming and in general how a UI can "free us" from the need of "small talks between human and computer"... Oh sure, it's appealing speaking to my desktop something like "hey desktop, display a 3D animation of the world by population density, annual climate, natural resources, kind of society etc to help me see a good place to emigrate to according to my preferred criteria you already know", but we are decades behind such UIs and their real effectiveness is still much unknown even in philosophical terms because such UIs will definitive be non deterministic so it's a bit hard trust them in many cases, possibility of mere verification is next to impossible etc. It's not needed in many domains of course, for instance if I want a raw classification of scanned documents and most of them are well classified humans gets benefit from the raw ML classification, but not equally nice for a car's ADAS system that crush me against a wall because of an interpretation error. In Smalltalk terms: yes some listings can look like plain English but many others are not and that's not a real issue per se, the real issue is that original Smalltalk was imagined for a human-computer UI, moderns one are kind of lost programming environment, for instance how can I compose a documents with relevant graphs from data sources in various ways etc in Pharo? Because that should be the target of a human-computer UI... For such purpose Smalltalk is far from being easy to read and use...