Fixing programming by besting current languages

Posted by Peter J. Jones on

Jon BeltranDeHeredia’s rant on why programming is broken has turned into a very interesting thought experiment. First, Jon describes why he thinks programming is broken:

Every step of the way, in every statement, line of code, function call or sequence-point, if you want to write good code, you need to think about all the different possible states of the whole program. This is invisible and impossible to define. Provably. Always. In all existing languages. That’s the reason 100% code-coverage unit-testing doesn’t guarantee bug-free code, and it never will. This is also the reason bad programmers don’t become good: they just can’t think about all those possible cases in a structured way.

Then he describes his vision for a new programming language that looks like the love child of Haskell and Prolog.

If you’re looking for something geeky to spend your free time on I suggest taking some ideas from the comments on Jon’s article. Readers are posting links to all sorts of interesting things such as executable specifications, the failures of Prolog, proof management systems, and the 4GL fiasco.

About the Author

Peter J. Jones has been a professional software engineer for over 20 years and is deeply passionate about helping programmers improve the skills of their craft. He is the author of Effective Ruby: 48 Specific Ways to Write Better Ruby. Peter can be reached through our contact page or his twitter account.