Name: Anonymous 2009-07-20 7:47
Touring completeness has been used for half a century to set a benchmark of the capabilities of a programming language. But the world has changed, and nowadays nobody cares whether your language can add and multiply and read tape and save state. Therefore, I propose the new Touring completeness standard, fit for the times we live in;
I propose that, as of 2009, Touring completeness will mean, in addition to the canonical premises, the following capabilities of a language:
- Web support. We live in 21st century, even poor children in Uganda have access to the net; what is a language that cannot take advantage of that?
- Bring both compiled and interpreted. The lack of interpreters and forced usage of debuggers is really inconvenient, and smothers creativity.
- A strict typing system and namespace. I guess I'm not the only one who was looking for a bug in his PHP code only to find a misspelled variable fifteen minutes later; and php wasn't kind enough to inform us about making a new variable. Also, comparing a string to a number is heresy. Should such cases somehow arise, the string pointer comparison is recommended.
- Open source. Having to pay to extend the language is not a very good motivation to expand it.
- No functional bullshit. This never gets things done. Have you seen a Haskell/OCaml/ML app that was as successful as its C/C++/Python equivalent? Show me some and I might drop this point (and no, XNomad is a cheap Haskell rewrite of dwm).
I hope that these points make clear what a modern programming language should be like to attract developers.
I propose that, as of 2009, Touring completeness will mean, in addition to the canonical premises, the following capabilities of a language:
- Web support. We live in 21st century, even poor children in Uganda have access to the net; what is a language that cannot take advantage of that?
- Bring both compiled and interpreted. The lack of interpreters and forced usage of debuggers is really inconvenient, and smothers creativity.
- A strict typing system and namespace. I guess I'm not the only one who was looking for a bug in his PHP code only to find a misspelled variable fifteen minutes later; and php wasn't kind enough to inform us about making a new variable. Also, comparing a string to a number is heresy. Should such cases somehow arise, the string pointer comparison is recommended.
- Open source. Having to pay to extend the language is not a very good motivation to expand it.
- No functional bullshit. This never gets things done. Have you seen a Haskell/OCaml/ML app that was as successful as its C/C++/Python equivalent? Show me some and I might drop this point (and no, XNomad is a cheap Haskell rewrite of dwm).
I hope that these points make clear what a modern programming language should be like to attract developers.