I finally posted a
slideset about concept programming that had been rotting on my hard disk for way too long… (also posted here.) This gave me an opportunity to re-read older articles on these topics, one I had written for Dr Dobb’s Journal, and another one written by Martin Heller (Mr. Computer Language Person) for Byte. They are still pretty accurate.
What is concept programming?
Concept programming is a new programming paradigm which is intended to reduce the gap between the concepts in your brain and their representation in computer code. The method is detailed in the slides, so I won’t repeat it here. There is also a very simplistic overview at Wikipedia.
These techniques apply to many programming languages. I used them personally for assembly language in HP Integrity VM. But just like you can do object-oriented programming more easily in C++ than in C, it’s easier to use a language designed specifically for it. The slides also give a few examples of how the concept programming philosophy impacted the XL language design.
Making Things Happen – Getting Help
Concept programming has a pretty long history. I’m not sure when I invented the term exactly, but I’d say before 2003 (I’m pretty sure it was explicit on the “new” XL web site). But this is too valuable to be left dormant like this.
I would so much like to spend more time on it, but… too… many… things… at once.
This is the reason I am trying to get some help getting this stuff done. It actually proves difficult. You would think this is easy: the ideas are pretty clear and easily explained, a lot of code is already available. So what’s the problem? The problem is getting people to listen at all, just like in that story of that world-class musician posing as a street musician. If you don’t remember the results: practically nobody listened to him.
Well, just like that musician, concept programming and XL will require more than talent and technique. They are now in need of some kind of advertising, evangelism, call it what you want. If you think that you can help promoting these simple ideas about programming, let me know…