Hacker News new | past | comments | ask | show | jobs | submit login

> In which modern language/environment/framework is programming a joy?

None of them.

http://www.loper-os.org/?p=16

http://www.reddit.com/r/programming/comments/64g7p/old_basic...

The disease is systemic. It pervades all modern computing systems. The name of the disease is ratcheting accidental complexity. The only cure is a from-bare-silicon reboot of all of computing.

> On the contrary, programming seems to become more frustrating as it advances

This is because it is not actually advancing. Incompetently and half-heartedly cribbing feature after feature from Common Lisp is not advancement.

> Am I missing something that can bring back my early joy or discovery

What you are missing is (was?) very real. There once was a time when computer technology was actually advancing in meaningful, qualitative ways. And when the future seemed alive with infinite possibilities. Don't let anyone convince you that all of it never existed.




The only cure is a from-bare-silicon reboot of all of computing.

I don't think that can practically happen. If you're using some not-too-powerful language to do it, it will take too long and you'll never catch up. If you're using a language powerful enough to actually accomplish it, you'll never develop a community or a culture of libraries, because the number of people who feel they can just build what they need faster than learning and using someone else's library will be high enough that libraries never get enough attention, and you'll end up with an archipelago instead of a continent of libraries. That's pretty much what happened to the lisps.


have you seen Alan Kay and company's "STEPS Toward The Reinvention of Programming" ? They're doing almost exactly that -- making small, powerful programming languages that make it easier to re-describe the fundamentals of computing. There's a pdf: http://www.vpri.org/pdf/tr2007008_steps.pdf


I do agree with you. But what is the solution? Even if I can't change a global trend, what can I do to side step it and still keep it enjoyable to myself?


Try Mathematica. Currently it is the only programming environment I find tolerable.


Out of interest, why?


Well, among other things:

Sufficiently Lispy to not feel like a straightjacket; integrated documentation with worked examples for literally every language feature; vector/bitmap graphics, audio, as first-class data types; pattern rewrites as a superior form of macro system; higher-order programming of every kind (if you like Haskell, you can "write it" in Mathematica); the ability to execute individual lines of code and see immediate feedback; a parsing system which obsoletes regexps; syntax which never leads to tears (Perl, I'm looking at you); a library of curated data on almost every topic; seamless file and www i/o; debugging facilities unmatched by anything short of Symbolics Genera. I also ought to add that I have been programming in Mathematica full-time for almost half a year, and have never needed to use an external library of any kind.

This is only a small subset of the useful aspects. The biggest downside, however, is that Mathematica is proprietary and expensive. On top of that, it is also rather slow.

All of the features I've listed should be expected as basic and factory-standard on every computer. The fact that our expectations are as low as they are shows just how little actual progress has taken place in the industry at large in the past two decades.


On the subject of Mathematica vs Lisp, I found this[1] thread interesting especially as it contains a lengthy review[2] by Fateman. While my own personal experience with it is limited, I have to say its rules for evaluating expressions are quite tricky to master compared to Lisp.

1- http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2004...

2- http://www.cs.berkeley.edu/~fateman/papers/mma.review.pdf




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: