5 ms·
> Compare programming in the 1970s and 1980s to now. We're way more sophisticated now than we were then. I think this is revisionist history at best. Your com
by xscott 5y ago
> Compare programming in the 1970s and 1980s to now. We're way more sophisticated now than we were then.
I think this is revisionist history at best. Your comments about baud rates and CPUs getting faster is true of course, but look at something like programming languages: I'd put ML from 1973 (later Standard ML, 1983) against Go or Rust, and I'd put something like Icon from 1977 against JavaScript or Python. If anything, I think we've regressed because ML and Icon could actually run on 70s era hardware, but Rust can barely compile its own compiler on 2020s era hardware, and Python wastes CPU and memory as though it was a design goal.
Seriously, look at Standard ML, Icon, or even Scheme and SmallTalk from the 70s, and ask how Python and Go improved on those.
-----
https://en.wikipedia.org/wiki/ML_(programming_language) https://en.wikipedia.org/wiki/ML_(programming_language)
https://en.wikipedia.org/wiki/Standard_ML https://en.wikipedia.org/wiki/Standard_ML
https://en.wikipedia.org/wiki/Icon_(programming_language) https://en.wikipedia.org/wiki/Icon_(programming_language)
- kristianp 5y agoWow, I didn't realise ML was developed so early. Is there a history of the early work in the 70s? What machines did it run on?
- xscott 5y agoOther than the standard search engines or Wikipedia, I don't know where to find a good history of language or hardware. I'm only aware of these examples because they were part of my "comparative programming languages" course in the early 90s. I suspect this thread will fade without much more notice, but I'm half expecting someone to come along and set me straight that all this stuff was really invented in the 50s or 60s :-) (SNOBOL, Algol, Simula, or PL/I ???)
- bena 5y agoI didn't mention languages specifically because they're really only a small part of programming knowledge. A Turing-complete language is just that, Turing-complete. Sorting used to be hard. It used to be novel. It used to be something you could study. Now it's something you're expected to just know. B-Trees, A* pathfinding, mapreduce, etc. were all, at one time, cutting edge computer science. Now they're the basis of it. Knowledge breeds knowledge. And every piece of knowledge has the potential to open entirely new pathways of knowledge. Apple Pay depends on NFC depends on RFID depends on radio technology, etc.
- xscott 5y ago> A Turing-complete language is just that, Turing-complete. It sounds like you're dismissing Turing complete languages as basically the same. I think that's kind of like saying all hardware and networking is just made out of electric circuits. It's true, but it's not illuminating. > Sorting used to be hard. It used to be novel. It used to be something you could study Quicksort was created in 1959 [0], Heapsort in 1964 [1]. Mergesort is from 1945 [2]! They were something undergrads were just "expected to know" shortly after that. There have been incremental improvements since then, but these things haven't been novel in a very long time. I'm sure you won't change your mind, but this doesn't really support your argument above, "Compare programming in the 1970s and 1980s to now. We're way more sophisticated now than we were then." > B-Trees, A* pathfinding, mapreduce, Again, 60s and 70s ideas applied on modern hardware. I'll spare you the Wikipedia links for these. [0] https://en.wikipedia.org/wiki/Quicksort https://en.wikipedia.org/wiki/Quicksort [1] https://en.wikipedia.org/wiki/Heapsort https://en.wikipedia.org/wiki/Heapsort [2] https://en.wikipedia.org/wiki/Merge_sort https://en.wikipedia.org/wiki/Merge_sort
- bena 5y agoIt does support my argument. Unless you want to quibble about exact times and how 1959 isn't "the 70s". Before 1959, Quicksort was novel. After that, it was something you were expected to know. Knowledge builds on knowledge. I don't have to invent heapsort. I can just study the implementation. It's now part of the common knowledge we're supposed to have. And if you think programming is just as sophisticated today as it was in the 70s and 80s, then I don't think there's anything anyone can say to you to convince you otherwise. And that's kind of the defining feature of being Turing-complete. No language is more or less adept at solving problems as any other as long as they can replicate a Turing machine.
- xscott 5y ago> Knowledge builds on knowledge. I always thought so too, but this discussion makes me think otherwise.
- sfblah 5y agoCan you say more about Rust being barely able to compile its own compiler? Do you have a reference for that? (I've never used Rust)