Pretty excellent summary, this is roughly the taxonomy I have in my head. I would maybe add SQL as an ur-language as well. It's not quite general purpose like most of these, but it should have a place in this list, I think. It has some kinship with Prolog and the declarative style, but it's really it's own thing. You could also maybe argue for something like LabView. Many programmers look down on purely graphical pro…
The seven programming ur-languages (2021)
11–20 of 326 posts
Re: The seven programming ur-languages (2021)
#12Re: The seven programming ur-languages (2021)
#13Earlier quoted context omitted.
I've always considered Fortran to be the "first", but with some quick research, it looks like Algol was the first C-like lang to add an if/then statement. My guess is that the author was trying to approximate modern imperative programming. [1] https://craftofcoding.wordpress.com/2021/01/11/why-algol-bes...
Fortran was the first compiled language, that is, the first language at a level higher than assembler. But Algol was a block-structured language in a way that Fortran wasn't, and virtually all languages of that "group" are block-structured today ("goto considered harmful" and all that). So Algol is more appropriate as the "prototype" of what exists today.
Re: The seven programming ur-languages (2021)
#14Re: The seven programming ur-languages (2021)
#15An article like this is hard to write. This is a good one. I have a few quibbles, but they are just quibbles. IMHO* a distinguishing feature of Algol like languages (aka "procedural" languages) is the distinction between expressions and statements. Though personally I've never seen the appeal, that distinction seems to be popular for some reason. * this isn't even a quibble -- the article is fine without it. Just som…
But if you change your definitions such that expressions always evaluate to a single value and do not have any side effects while statements produce some kind of side effect (and may or may not yield a value), the distinction becomes important.
Especially if you believe side-effects need special handling (i.e. you are a functional programmer).
Re: The seven programming ur-languages (2021)
#16Well, a bit arbitrary, especially the choice of Self as the "ur-language" of object oriented programming.
Re: The seven programming ur-languages (2021)
#17Listing Self rather than Smalltalk as the basis of OO languages is also a bit odd. Calling it a "purer form" I guess is a justification, but the other view is once you losen the definition as above, self is just the root of one small (albeit influential, via Javascript, branch of OO languages that almost all owe more to Smalltalk than Self. If another language than Smalltalk should be at the root, it should be Simula, for inspiring message passing, not Self.
Re: The seven programming ur-languages (2021)
#18I second this. I would consider myself an intermediate level programmer and learning Scheme (via the excellent book "Structure and Interpretation of Computer Programs") took my programming to a new level and made me think of programming from a completely different angle.
Re: The seven programming ur-languages (2021)
#19Well, a bit arbitrary, especially the choice of Self as the "ur-language" of object oriented programming.
Re: The seven programming ur-languages (2021)
#20- value semantics with both implicitly-copyable and move-only values
- unboxed generics with type classes/traits/protocols and associated types
- as little syntax and sugar as possible for everything else