What Ails ‘Conventional’ Programming Languages?
Why Yet Another Language, you might ask. Why not just teach the kids one of C/C++/Java, the three most popular programming languages? I have been teaching introductory classes in computer programming using C for the past many years. Most of my time is spent on teaching the intricacies of the language’s low level syntax, especially pointer handling, memory allocation/deallocation etc. But isn’t this an essential part of the profession of programming – are we not supposed to understand how things work deep down? Yes – but there are two problems here: • The objective of an introductory programming curriculum should be to give the students a firm foundation in the art of problem solving; the more time we dedicate to teaching syntax, the less time we have to teach strategies (How To Design Programs calls them ‘recipes’) for problem solving. Think of a person who has mastered the whole of English grammar but is incapable of writing even a two-page essay! • Computer Programming can be thought