Live data from Hacker News

The perfect programming language

cygni.se

1–10 of 108 posts

Re: The perfect programming language

#2
> that the programmers who love C++ get high on the complexity that makes them feel like masters of the universe

Ah, so that's why this terrible inconceivably complex mess of a language is so popular. This is a great insight into the minds of Stroustrup's acolytes.

Re: The perfect programming language

#4
post #3

Sad to see no mention of the impure ML languages (OCaml, F#, PureScript, etc). For me these strike a great balance between powerful abstractions and the ability to throw things together.

Also no mention of anything in the APL family, sadly.

Re: The perfect programming language

#5
> The foremost is simplicity, that a language should be simple enough that the programmer should be able to know everything about it.

Well, no. Translated - "a language should serve the lowest possible denominator".

Apart from the obvious fact that it is impossible, it's also definitely not the way to go if you want quality software.

Re: The perfect programming language

#6
post #3

Sad to see no mention of the impure ML languages (OCaml, F#, PureScript, etc). For me these strike a great balance between powerful abstractions and the ability to throw things together.

The article’s title says “perfect programming language”.

“Impure” means the language design is by definition compromised. The moment you allow imperative behaviors to leak into a declarative system it loses its ability to reason reliably about operations over time; and you’re back to flying seat-of-your-pants a-la C &co. Haskell at least has the good grace to firewall any imperative crap so that the remainder of the program can still be reasoned about.

That doesn’t mean OCaml and F# can’t still be useful, in the same way that C is still useful, but they cannot be more than the sum of their own limitations; they are already evolutionary dead-ends. Thus article is correct not to expend any space considering them.

Re: The perfect programming language

#7
Interesting perspectives on a variety of languages, at first.

Then when he says that XSLT is the best language I was thinking that we are very differently minded. So I suppose it makes sense that the Tailspin language is completely incomprehensible to me.

Re: The perfect programming language

#8
The article’s title is itself nonsense: the `imperative declarative` disjoint alone means it’s logically impossible for a single language ever to satisfy all programming needs; and that’s even before you start decomposing them into specific problem spaces (kernel vs system vs application programming; functional vs logic vs pipeline programming; single-threaded vs massively distributed; rapid development vs pedal-to-the-metal execution; etc).

(Article’s author probably realizes this and merely chose that title to increase clickbateyness; but given the continued creation and persistence of kitchen-sink mountains like C++ and Apple Swift it’s clear that plenty still don’t.)

Re: The perfect programming language

#9
post #7

Interesting perspectives on a variety of languages, at first. Then when he says that XSLT is the best language I was thinking that we are very differently minded. So I suppose it makes sense that the Tailspin language is completely incomprehensible to me.

For me it was the blatant rejection of C++ without any further discussion. C++ has a lot of baggage from C, but it also sports powerful metaprogramming, even though that is flawed (the necessity of SFINAE speaks volumes...). There are newer languages that improve on that a lot. The author doesn't even care to mention them by name.

To me, it is pretty clear that the author has a very specific world view, probably defined by the set of problems he's solving. I can't quite tell what that perspective is. But this makes his claims a lot less universal than he admits.

Re: The perfect programming language

#10

> The foremost is simplicity, that a language should be simple enough that the programmer should be able to know everything about it. Well, no. Translated - "a language should serve the lowest possible denominator". Apart from the obvious fact that it is impossible, it's also definitely not the way to go if you want quality software.

There is no purpose of having a so complicated language - like c++ or java - that the majority of the programmers don't even know 100% of the language. I think Elm (and somehow Go) fits this category, everyone can learn in less than a week every aspect of it. Another benefit of having a very simple language is the compile time, c++ has a awful compile time, 100kloc can take half an hour, in Elm it takes less than 5 seconds (incremental compile) vs 30 seconds (full recompile).
Post reply on HN