Live data from Hacker News

Ask HN: When was the last really transformational idea in programming languages?

news.ycombinator.com

41–50 of 53 posts

Re: Ask HN: When was the last really transformational idea in programming languages?

#42
post #16

type inferencing as used in haskell et al, that's a fairly recent development - early 90's/late 80's? Category theory is another perhaps - it's from the 40's but it's application to programming is new - 80's perhaps?

Hmm,

It seems like that might be the next transformational idea, since it hasn't transformed mainstream language yet.

Re: Ask HN: When was the last really transformational idea in programming languages?

#43
post #8

Two things that I'd probably call just features of OO languages, but seem significant: - Type-safe generic programming - Introspection

Typesafe generics have been in ML from the get-go (1970s) from what I remember. People like to talk about how type inference is useful, but it's really the generic polymorphism that makes it shine.

I was hacking together an Arc interpreter in Haskell the other day, and after refactoring some of the hairier monadic code, I was horrified to see that the type signature for a particular function was twice as long as the function body. And that's with the compiler figuring it out for me... I don't know what I'd have done if it was C++ instead.

Re: Ask HN: When was the last really transformational idea in programming languages?

#44
post #27

Alan Kay has been asking this question for a long time now. His "Viewpoints Research Institute" is doing some interesting work in this direction. http://vpri.org/ One of their projects is to see if they can build a complete software stack -- from the OS through the GUI and networking/graphics libraries to end-user software -- all in 20,000 lines of code total. They have already made some major progress in the past fe…

Yes he does. He recently asked the question, "Significant new inventions in computing since 1980", on Stack Overflow:

http://stackoverflow.com/questions/432922/significant-new-in...

I like how he refuted most of the responses usually stating that a given invention was already invented at Xerox PARC in the 70s.

Re: Ask HN: When was the last really transformational idea in programming languages?

#46
post #27

Alan Kay has been asking this question for a long time now. His "Viewpoints Research Institute" is doing some interesting work in this direction. http://vpri.org/ One of their projects is to see if they can build a complete software stack -- from the OS through the GUI and networking/graphics libraries to end-user software -- all in 20,000 lines of code total. They have already made some major progress in the past fe…

I really applaud they're effort, and I'm an incredible fan of Alan Kay, but I think they're jumping the gun. They weren't required to change the stack. It's helpful, sure, but I think they should have waited until they hit beautiful enough technology that would require such a change (as beautiful enough technology will). And focusing on code size is possibly misleading, as code size does not exactly equal orthogonali…

I have to disagree on all counts. In roughly reverse order:

focusing on code size is possibly misleading

It's not the best metric, but it's close enough in this case. The whole problem is that large commercial (and some open-source) systems are in the millions of lines of code. What is all that code doing?

code size does not exactly equal orthogonality

One implies the other, at least in the way they've phrased the problem. Their goal is to build everything using only 20,000 lines of code. This means they have a strict overall budget and therefore cannot afford any duplication anywhere.

They weren't required to change the stack

You can't go from millions of lines to 20,000 by making incremental changes. The whole system from the ground-up has to be rebuilt with the code budget in mind.

they should have waited until they hit beautiful enough technology that would require such a change

They would be waiting forever. At some point, you have to dive in. Nothing good ever gets built without several iterations. Combine this with the fact that frameworks and languages are best built simultaneously with the applications that will use them (so that the levels of abstraction are correctly tuned), and I think their approach is perfect. By being forced to consider all levels of the stack, they achieve all of these goals.

Incidentally, they're not hoping to get the system built in one go. They're "building [at least] one to throw away", as Brooks said. They are building a rough version of the system (over-budget on lines) to see where the problems are. Then, they will use this first system to build the real thing.

At its heart, this project seems like an ideal way to do research into computing systems. Take on a daring project which will require many innovative ideas -- some small, some large -- while making sure that you're always tied to reality by having concrete goals and need to have some sort of a working system at all times.

Re: Ask HN: When was the last really transformational idea in programming languages?

#47
post #13

Most really fundamental ideas are only recognizable in hindsight, after people have built other ideas on top of them. If I remember the early/mid 80s correctly, the hot language was BASIC because it came with most microcomputers and would supposedly enable a new generation of hobbyist programmers. (Which it did, but they grew up to program in C++, Python, and JavaScript, not Basic.) There're a lot of really interesti…

There is a demo video of Subtext here: http://www.subtextual.org/subtext2.html . It looks like it would be fun to play with. Too bad we can't download it yet.

you can download the code for that demo: http://subtextual.org/subtext2.zip

Re: Ask HN: When was the last really transformational idea in programming languages?

#48
post #8

Two things that I'd probably call just features of OO languages, but seem significant: - Type-safe generic programming - Introspection

Typesafe generics have been in ML from the get-go (1970s) from what I remember. People like to talk about how type inference is useful, but it's really the generic polymorphism that makes it shine. I was hacking together an Arc interpreter in Haskell the other day, and after refactoring some of the hairier monadic code, I was horrified to see that the type signature for a particular function was twice as long as the…

It's really amusing (in an oh-my-God-I'm-fucked way) to try and debug type errors in Happy-generated parsers. There have been times when the type of the function (not even the whole error message) has been a page long.

C++ STL code can be similarly (un)fun.

Re: Ask HN: When was the last really transformational idea in programming languages?

#49

Earlier quoted context omitted.

Typesafe generics have been in ML from the get-go (1970s) from what I remember. People like to talk about how type inference is useful, but it's really the generic polymorphism that makes it shine. I was hacking together an Arc interpreter in Haskell the other day, and after refactoring some of the hairier monadic code, I was horrified to see that the type signature for a particular function was twice as long as the…

It's really amusing (in an oh-my-God-I'm-fucked way) to try and debug type errors in Happy-generated parsers. There have been times when the type of the function (not even the whole error message) has been a page long. C++ STL code can be similarly (un)fun.

Intel's C++ compiler produces much more readable error message, I find. Though, almost perversely, I've gotten used enough to GCC's cryptic template error output that I'm more comfortable with it.

Re: Ask HN: When was the last really transformational idea in programming languages?

#50
One place where big new ideas are badly needed is in robotics. No existing language is a good match for programming continuous, dynamic movement. I've been working on a bunch of techniques to make it easier, but they're not ready for general use yet.
Post reply on HN