4 ms·
Smalltalk is more akin to Latin, which is a fine choice for learning the foundation of European languages. Its simple syntax, within a logical and consistent l
by fractallyte 9y ago
Smalltalk is more akin to Latin, which is a fine choice for learning the foundation of European languages.
Its simple syntax, within a logical and consistent language, makes it (in my opinion) the best way to pick up OO concepts. Being highly 'visual' is definitely an advantage that very few other languages can offer.
- banachtarski 9y agoYou're pushing my analogy too far. I don't think anyone could look at most modern syntaxes and draw an immediate connection to what smalltalk means, regardless of how simple it is. But the real point I was trying to drive home was that syntax is unimportant in the grand scheme of things, and if you feel the compulsion to split hairs over syntax, I would argue that similarity to other commonly used languages is more important.
- eesmith 9y agoIn a human language analogy, I think Algol is Latin while Smalltalk is Greek.
- jhbadger 9y agoBut as an amateur classicist, although both Latin and (ancient) Greek were once common teaching languages (and having a reading knowledge of them was often s requirement to go to university as late as the 19th century), they have quite fiddly grammars with lots of declensions which most modern Western languages have streamlined away. Neither Smalltalk nor Algol have very complicated grammars.
- eesmith 9y agoI believe your argument is that there isn't a comparison between computer languages and European languages. I agree. But if we stretch the analogy to try and make it work, then certainly Algol was the de facto language used to publish algorithms, and it is the syntactic basis of many widely-used modern languages. As for the "fiddly grammars", etc., Algol 68 did not have a simple grammar. Quoting Wikipedia's "Algol 68" page: > ALGOL 68 has been criticized, most prominently by some members of its design committee such as C. A. R. Hoare and Edsger Dijkstra, for abandoning the simplicity of ALGOL 60, becoming a vehicle for complex or overly general ideas, and doing little to make the compiler writer's task easier, in contrast to deliberately simple contemporaries (and competitors) such as C, S-algol and Pascal. and > ALGOL 68 allows for every natural language to define its own set of keywords Algol-68. As a result, programmers are able to write programs using keywords from their native language. Quoting Wikipedia's "For loop" page: > Algol68 has what was considered the universal loop allowing such constructs as FOR i FROM 1 BY 2 TO 3 WHILE i≠4 DO ... and (quoting now http://courses.cs.vt.edu/~cs3304/Spring04/notes/Chapter-7/tsld024.htm http://courses.cs.vt.edu/~cs3304/Spring04/notes/Chapter-7/ts... ): for index := 1 step 2 until 50, 60, 70, 80, index + 1 until 100 do
- kbp 9y agoAlgol 68 is not the language most people mean when they say Algol, and was not a de facto standard language for publishing algorithms.
- eesmith 9y agoWow, thank you! I didn't realize it was Algol 60, not Algol 68 which was the standard publication language.
- jhbadger 9y agoStill, the grammar of Algol 68 is less complicated than most modern programming languages and can be described in a couple of pages. It had to fit on machines with trivial amounts of memory by today's standards, after all. And it's said of Smalltalk that its grammar could fit on a postcard (somewhat of an exaggeration, but not by much).
- eesmith 9y agoSure. But in the context of "X is to programming languages like Latin is to European languages", X=Algol is certainly a better fit then X=Smalltalk. I completely agree that the premise of the analogy is a stretch, and can accept that people want to reject the premise (it's not quite as bad as "What kind of vegetable are you?"), but I don't see why fractallyte's claim for Smalltalk is stronger.
- flavio81 9y ago>Algol 68 did not have a simple grammar. Algol-60 did, and that's the basis for comparison when somebody qualifies a language as "Algol-like". Some languages that have extremely close syntax to Algol are Pascal and Go. Algol-68 is a later language, really a very advanced language, even more advanced that some "modern" languages. The criticism of its complexity should be considered within the context (year 1968).