frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Why Study Programming Languages

https://people.csail.mit.edu/rachit/post/why-study-programming-languages/
36•bhasi•2h ago

Comments

keyle•1h 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•1h ago
Because what we know about programming has progressed, and new languages appear to take advantage of that.
pjmlp•41m ago
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.

keyle•36m ago
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?
pjmlp•50m ago
Really fancy one, when it gets to what translation actually means in implementation effort.
keyle•37m ago
Hehe, it was tongue-in-cheek. It takes a buttload of efforts to make a good one.
awesome_dude•1h ago
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 Orientation", Lisp's "Functional programming", Haskell's "Lazy evaluation", Java's "Green threads"

DarkNova6•1h ago
I don't think we have a lack of concepts, but a lack of concept connectivity.

To avoid feature bloat of unconnected pieces of ad-hoc syntax Java does the right thing and focuses on expressing easily-composable language building blocks.

As a last adopter language, Java has the luxory of cherry-picking good features of other languages but I think their line of thinking should be the reference moving forward.

mrheosuper•45m ago
I'm pretty sure they mentioned

>we create programming languages to experience new ideas; ideas that would have remained inaccessible had we stayed with the old languages.

pjmlp•33m ago
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

cole-k•1h ago
Related: https://cs.wellesley.edu/~cs251/f16/assignments/antics/Stefi...
hinkley•1h ago
Once you understand a thing, you know what it’s capable of.

A lot of my early expertise in performance analysis was heavily informed by my SIGPLAN membership. Many of the improvements showing up in compilers and interpreters would show up in some form there, and of course those developers were either involved in the papers or had access to the same research. So when some new version came out with a big explanation of what it did, I already had a reasonably good notion of how it worked.

It was a dark day when they got rid of the paper proceedings.

DarkNova6•1h ago
There absolutely lies value in studying programming language, but maybe not when reinventing ideas of the past.

> I encourage everyone to create the most absurd, implausible, and impractical languages. Chasing the measurable is often useful, expressing the expressible is insightful, but never forget the true goal of language design: to explore and create what isn’t.

Sorry, but this sounds more like an artsclass to me. Don't get me wrong, there was a point in time where exploration of the unknown was the only way to move forward. But these days we would need greater insights into higher-level language semantics and inherent tradeoffs to guide language-design and language evolution.

There is plenty to choose from and one can learn already so much just by reading up on the Java-EG mailing lists. Brian Goetz has a true academic mindset and I frequently feel inspired when I read his reasoning which is both highly structured and accessible.

Otherwise we would just be left with another compiler class. Compiler basics really aren't that difficult.

constantcrying•38m ago
>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.

mellosouls•37m ago
(2022) This is particularly important here as the essay makes no mention of LLMs or coding agents (which were still in their infancy in development environments; this article is post original copilot/codex but pre ChatGPT).
lock1•32m ago
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.

shevy-java•17m ago
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.

binaryturtle•8m ago
But is that a problem of the language itself, or is it just a problem of available toolchains? E.g. if the gcc compiler collection would come with BASIC support and you just could type something like "gbasic -O3 foobar.bas -o foobar" to get a properly optimised executable out of your BASIC source code file then some may would still use BASIC today, I guess?

I started with BASIC too. Also enjoyed BlitzBasic2 for a long time on the Amiga. That's where I learned programming… back then when programming was still fun.

ContextOne – The context layer for AI agents

https://contextone.ai
1•probiruk•1m ago•1 comments

Frothy AI valuations raise Australian 'bubble' fears

https://www.afr.com/technology/frothy-ai-valuations-raise-australian-bubble-fears-20251013-p5n1zs
1•zerosizedweasle•1m ago•0 comments

Investors are on edge as talk of an AI bubble gets louder

https://www.thetimes.com/business-money/companies/article/ai-bubble-stock-market-399vdvxkx
1•zerosizedweasle•2m ago•0 comments

'Your basis to live is checked at every step': India's ID system divides opinion

https://www.theguardian.com/world/2025/oct/14/india-id-system-divide-opinion
1•sandebert•5m ago•0 comments

Observability in Go: What Real Engineers Are Saying in 2025

https://quesma.com/blog/observability-in-go-what-real-engineers-are-saying-in-2025/
1•darccio•10m ago•0 comments

Reclining on your next WestJet flight may mean having to upgrade seats

https://globalnews.ca/news/11450528/westjet-new-seats-no-recline/
1•sipofwater•18m ago•1 comments

Freed Israeli hostages recount brutal beatings, starvation

https://nypost.com/2025/10/14/world-news/freed-israeli-hostages-recount-brutal-beatings-starvatio...
4•ThomasPw•21m ago•1 comments

A toolkit for improving the quality of your LeRobot datasets

https://github.com/RoboticsData/score_lerobot_episodes
1•machinelearning•26m ago•0 comments

Avian Physics 0.4

https://joonaa.dev/blog/09/avian-0-4
2•todsacerdoti•29m ago•0 comments

Ask HN: Which cross platform desktop GUI to use instead of Electron?

3•tones411•30m ago•1 comments

Yzma = embedding+inference on VLM/LLM/SLM/TLM in pure Go using llama.cpp

https://github.com/hybridgroup/yzma
1•deadprogram•31m ago•0 comments

What's the Deal with GitHub Spec Kit

https://den.dev/blog/github-spec-kit/
1•mohi-kalantari•32m ago•0 comments

SpaceX got what it needed from Starship V2

https://arstechnica.com/space/2025/10/after-year-of-hardships-spacexs-starship-finally-flirts-wit...
1•quapster•34m ago•0 comments

Hetzner Network Fault in NBG1

https://status.hetzner.com/incident/2483200c-0ad8-4b26-97e9-82b67a95618d
2•hyperknot•34m ago•1 comments

Show HN: Snapdeck – Generating presentation design, not templates

https://www.snapdeck.app/
1•bigmacfive•37m ago•1 comments

Build what makes you special. Buy the rest

https://werd.io/build-what-makes-you-special-buy-the-rest/
5•fside•40m ago•1 comments

Ask HN: What do you do while ChatGPT-5 is thinking?

4•cuber_messenger•43m ago•5 comments

What is my landing page missing? What can be improved?

https://excelsior.nu/
1•emilmoe•47m ago•2 comments

From Nginx to ngrok: Dogfooding our own website with Traffic Policy

https://ngrok.com/blog-post/nginx-ngrok-dogfooding
1•thunderbong•47m ago•0 comments

Windows 10 support ends on October 14, 2025

https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1...
4•MaximilianEmel•48m ago•0 comments

How one of the longest dinosaur trackways in the world was uncovered in the UK

https://www.bbc.co.uk/news/resources/idt-5f8c77b0-92bc-40f2-bf21-6793abbe5ffe
2•6LLvveMx2koXfwn•49m ago•0 comments

Problem Details for HTTP APIs

https://datatracker.ietf.org/doc/html/rfc7807
1•LelouBil•51m ago•0 comments

The problem is humans 'can't stand each other'

https://fortune.com/2025/10/13/brene-brown-key-to-surviving-ai-embrace-humanity-fortune-most-powe...
3•hansmayer•53m ago•0 comments

I Create Presentations in HTML

https://hartenfeller.dev/blog/presentations-in-html
3•groseje•58m ago•1 comments

Porta Alpina

https://en.wikipedia.org/wiki/Porta_Alpina
1•xg15•59m ago•0 comments

I let my AI agents run unsupervised and they burned $200 in 2 hours

https://blog.justcopy.ai/p/i-let-my-ai-agents-run-unsupervised
18•anupsingh123•1h ago•15 comments

Comparing the power consumption of a 30 year old refrigerator to a brand new one

https://ounapuu.ee/posts/2025/10/14/fridge-power-consumption/
3•furkansahin•1h ago•0 comments

Technical Debt: Make Developers Happier Now or Pay More Later

https://devops.com/technical-debt-make-developers-happier-now-or-pay-more-later/
1•birdculture•1h ago•0 comments

CSI Driver for Rclone

https://github.com/veloxpack/csi-driver-rclone
1•paulgrammer•1h ago•0 comments

Ouvriers de Luxe

https://www.lrb.co.uk/the-paper/v47/n19/julian-barnes/ouvriers-de-luxe
1•pepys•1h ago•0 comments