Guido van Rossum is writing about the history of Python. It struck me that behind Python and other programming languages van Rossum has worked on was the intention to have a language customized for the problem at hand. Of course, he was working for a research institution with ample experience on designing and compiling programming languages.
After reading most of the blog, I went back to the task at hand, which is adding some new features to a program I started writing over ten years ago. Having been away from the code for a long while, I had to study it to know how to best approach the new task, and Behold! Most of what the core of the code does is to work around the strictness of Delphi Pascal to create an environment in which extensibility, attribute inheritance, and unlimited undo is easy to do! I created my own Python-like programming language without knowing I was doing it. On hindsight (everything is clearer in hindsight), it would have been best to embed Python in the core, or go ahead and implement a custom language.
But that was then. Today, mainstream languages have an enormous amount of support from all kind of high-quality libraries and tools, something very difficult to have with your own language.
The story told, my suggestion is to use Python for this pragmatic reasons:
- The language is nice an comfortable to program in. The learning curve is mild and it doesn't get in your way like corporate/bureaucratic/committee languages do (sorry Java and C++).
- If you can't find what you need in the standard or the third-party libraries, you probably don't want it.
- Python makes it easy to fall back to another programming language when you decide that's what you need.
- Python is an extraordinary base to create a Domain-specific Language (i.e. your own language) without renouncing to modern tools and libraries (take a look at what Pyparsing has showed to be possible in Python).