I like to dream. Occasionally I dream about what the ideal programming language would look like. Yes, I know, writing a new programming language would involve all sorts of hurdles like convincing people to adopt it, building a community around it and building up a comprehensive set of libraries for it. But I still like to dream.
I’ve written before about making a language that departs from the model of traditional programming languages. Today I wanted to add my two recent thoughts on developing a new programming language.
- If a new programming language is designed to compile to standards-compliant JavaScript using a standardish module system like RequireJS or CommonJS, it will be able to (a) run on servers under Node.js as well as in people’s browsers; and (b) import third party libraries written in JavaScript or any other language that compiles to JavaScript.
- If a new programming language is to depart from the standard text-file-based disk layout, it seems to me that the most important tool it would need would be a three-way merge tool. This would allow it to integrate with your favourite revision control tool. It would also allow your editor to pick up and include changes made to a file by some external program (e.g. someone else editing the file, or your revision control tool updating it to a different version).
That is all for today.