Live data from Hacker News

Why study programming languages (2022)

people.csail.mit.edu

11–20 of 118 posts

Re: Why study programming languages (2022)

#11
post #9
post #2

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.

Really fancy one, when it gets to what translation actually means in implementation effort.

[dead]

Re: Why study programming languages (2022)

#12
post #2

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.

Because what we know about programming has progressed, and new languages appear to take advantage of that.

Many 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.

Re: Why study programming languages (2022)

#13
>Common answers to this question will include words like abstraction, performance, convenience, usability etc. The problem with these answers is that apart from the measurable, they are all subjective, aesthetic choices.

That just is not true at all. These are all legitimate engineering tradeoffs, which any serious project has to balance. Calling this "aesthetics" is completely dishonest. These aren't arbitrary categories, these are meaningful distinctions engineers use when evaluating tools to write software. I think the students better understand what programming languages are than the teacher.

If you accept that a programming language is a tool and not just an academic game of terms, then all these questions have clear answers.

Re: Why study programming languages (2022)

#14
post #9
post #2

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.

Really fancy one, when it gets to what translation actually means in implementation effort.

Hehe, it was tongue-in-cheek. It takes a buttload of efforts to make a good one.

Re: Why study programming languages (2022)

#16
post #2

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.

Because what we know about programming has progressed, and new languages appear to take advantage of that.

Hey 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?

Re: Why study programming languages (2022)

#17

I think that one of the things that they neglect to mention, on why we invent new languages, and it's probably the most important thing - people want new ways to express concepts. It's super important because those concepts get measured, and absorbed into existing languages (as best they can), but that wouldn't have happened without the new languages New concepts like Rust's "ownership model", Smalltalk's "Object Ori…

While those languages made the concepts mainstream, they weren't the ones coming up with them.

Rust's "ownership model", is a simplification of Cyclone, AT&T's research on a better C, based on mix of affine and linear type systems.

https://en.wikipedia.org/wiki/Cyclone_(programming_language)

Haskell's "Lazy evaluation" was present in Miranda, before all related researchers came up with Haskell as common playground.

https://en.wikipedia.org/wiki/Miranda_(programming_language)

"History of Haskell"

https://www.microsoft.com/en-us/research/wp-content/uploads/...

Java's "Green threads" go back to systems like Concurrent Pascal.

https://dl.acm.org/doi/10.1145/775332.775335

Re: Why study programming languages (2022)

#18
For me, I find reviewing and analyzing programming languages to be a fun activity. Writing esolangs is also fun, you can write it without needing to care about things like backward compatibility or practicality.

This reminds me of recreational math & gamedev, you simply do whatever you feel is fun and design it exactly as you'd like it to be.

Re: Why study programming languages (2022)

#20
Old languages died or are barely in use anymore.

I think it is more interesting to see which languages are still used today and how popular these are. Because this is also tied to the human user/developer.

For instance, I used BASIC when I was young - not as a professional but as a hobbyist. I liked it too. I wouldn't use BASIC today because it would be entirely useless and inefficient.

Post reply on HN