5 ms·
I tries to answer the question "Why do we design new programming languages?" but it forgets the simplest of answers: Because we can. Because a compiler is noth
by keyle 1y ago
I tries to answer the question "Why do we design new programming languages?" but it forgets the simplest of answers:
Because we can. Because a compiler is nothing more than a fancy text translator.
- WalterBright 1y agoBecause what we know about programming has progressed, and new languages appear to take advantage of that.
- pjmlp 1y agoMany new languages are still recycling ideas from the 1970's research labs. Outside affine types, all the praise for Rust's type system traces back to Standard ML from 1976. The heretic of doing systems programming in GC enabled programming languages (GC in the CS sense, including RC), goes back to research at Xerox PARC, DEC and ETHZ, late 1970's, early 1980's. Other things that we know, like dependent types, effects, formal proofs, capabilities, linear and affine type systems, are equally a few decades old from 1980's, early 1990's. Unfortunely while we have progressed, it seems easier to sell stuff like ChatGPT than better ways to approach software development.
- eptcyka 1y agoAside from bringing in the groundbreaking feature, Rust doesn't bring in any groundbreaking changes. It could be argued that bringing in lesser known features to more people is a good thing in it's own right.
- 1718627440 1y agoIt seams like most things boil down to ideas from the 70's. The internet, distributed computing, AI, etc...
- pjmlp 1y agoIndeed, everything old is new again.
- Rochus 1y ago> most things boil down to ideas from the 70's Rather from the sixties. E.g. OOP including dynamic dispatch, late binding, GC etc. appeared 1967 with Simula.
- pjmlp 1y agoGC was a bit earlier. :)
- Rochus 1y agoEarlier than the sixties? All elements of OOP were known before 1967, but their combination, which we still use today under the title OOP, appeared in Simula 67 for the first time. I think the first appearance of a GC in literature was in 1960.
- AnimalMuppet 1y agoDid Lisp have GC from the beginning? If so, that would be 1958.
- Rochus 1y agoI think, the first mark‑and‑sweep collector was published in McCarthy's 1960 Communications of the ACM paper "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I". It's resonable to assume, that they already had it when Steve Russell implemented the first Lisp evaluator, but we don't know exactly when it was added.
- kragen 1y agoNo, that paper doesn't describe the garbage collector. I do think it is true that before it was published Slug Russell had implemented the GC, but I think it's correct that we don't have listings from that early. Edit: yes, yes it does describe the garbage collector.
- keyle 1y agoHey Walter, while we have you. Have you ever had the itch to make a newer D that takes all the fancy constructs while retaining the good parts?
- WalterBright 1y agoWe're doing just that by introducing an "Editions" feature that will streamline the feature set.
- pjmlp 1y agoReally fancy one, when it gets to what translation actually means in implementation effort.
- agumonkey 1y agolinguistic constructs will direct your brain when solving problems and may help you discover solutions spaces you wouldn't with another set of idioms not to promote FP but imperative stateful vs closures/function oriented is quite a strong example of that a different paradigm can really be a massive intellectual tool
- TomasBM 1y agoI'm not a 'native' programmer, but even I can agree with that. As it became easier to abstract away from pure assembly, people did just that. Some ideas stuck, some converged, and the ones with the most tenacious, adaptable and attractive communities remained. Before I learned to code, no programming language was even remotely readable to me. But the more I learned, the more I could shed the notion that this was purely my fault, and accept that sometimes things are a certain way because someone found it interesting or useful. Applies to natural languages and mathematics, too.
- ModernMech 1y agoBecause we can, because it's fun, and because some of us are compulsively obsessed.