the search for the best programming language
Just as some people in the world are control freaks - they always have the best of intentions but I end up saying "no thanks" - some programming languages seem to be designed to constrain you rather than set you free.
It's becoming clearer by re-reading some of the introductory remarks in Structure and Interpretation of Computer Programs.
Brushing aside issues to do with syntax, clever algorithms and maths the authors say that writing a computer program is really about the intellectually difficult task of how to control a complex system. The programming language provides us with a means to express and explore ideas about this which would otherwise be too complex to manage.
They go onto outline the techniques used to achieve this, which are:
- build abstractions that hide details where appropriate
- build a user interface that enables us to "mix and match" well understood pieces
- establishing new languages for describing a design (I hadn't understood that LISP can do this. Another thought is that Game Maker Language is such a language, with many game specific programming features)
This is why I like computing. It ought to be a doing subject, about writing programs to do complex things that we couldn't do before. And it's why I don't like courses that focus on top down design and dry theory which is often divorced from real practice. It's about world view, who I am.