17 ms·
> Programming language designers of most popular programming languages have no clue about neither denotational nor operational semantics and make use of no form
by loup-vaillant 13y ago
> Programming language designers of most popular programming languages have no clue about neither denotational nor operational semantics and make use of no formal theory whatsoever.
That may explain why so many of our popular languages have several glaring flaws. Java doesn't support tail calls dammit! We had to wait for scheme to finally have lexical scope! C++ is impossible to parse!
> The attempts so far to turn programming itself into a single mathematical theory have failed miserably.
Wait, what attempts? I've read many Haskell papers, and did not stumble upon such a thing.
- stiff 13y agoI have specifically mentioned two such attempts.
- loup-vaillant 13y agoOkay. Though if it's not a peer reviewed paper, it doesn't exist. Anyway, I have a more positive outlook: those "failures" are just the beginning. We'll build on those. We failed to fly for a long time, for instance.
- stiff 13y agoThere are lots of papers, dating back to the 1970s: http://www.cs.ox.ac.uk/activities/publications/date/algprog.html http://www.cs.ox.ac.uk/activities/publications/date/algprog.... Actually Dijkstra also was a proponent of deriving programs, it's discussed in his "Discipline of programming" and 30 years ago there was some interest in this, with lots of papers published, but it never gained much traction: http://en.wikipedia.org/wiki/Program_derivation http://en.wikipedia.org/wiki/Program_derivation
- nnq 13y ago> C++ is impossible to parse! Bold, claim, considering all the C++ parsers out there that work just fine... The fact that you need to code a parser by hand doesn't mean that the language is impossible to parse at all. And even for an easier to parse language, if you want to write a parser that spits error messages that make any sense to most users, and that may use some heuristics to guess the programmer's intend in order to give even better error messages, you will have to code it by hand anyway.