About a year ago, I saw a screencast for a next gen code editor. Instead of entering code into a text file, you visually manipulated the states of the variables in the IDE. And as the program executed, the visual showed how the states of the variables would change.
I've been searching for that demo and can't find it. The list of keywords returns too many results and it's not in the top 100.
Does any one remember anything like this? I think it was someone's phd thesis.
This way of working has a lot of appeal, and it is extremely powerful. The main thing I find good about it is that the tables can usually be given over to subject-matter experts to maintain, which means systems programmers like me don't have to mess with any of that dreadful application stuff. Nice.
However, what the mind of man can conceive, the hand of man can screw up. I have seen big projects go down at the bow with all hands lost in industries where the decision to use decision tables could not have been more right - like the insurance industry. It should have been a no-brainer. But the classical problems of poor project management, poor design, overwhelming complexity, poor team leadership, lack of technical skills in the team etc. still conspired against us.
Look, my take on all of the projects I've seen where this is involved...? There is still no substitute for a single, over-arching, godlike human intelligence that can encompass all of this complexity and think beyond the patterns. Somebody who knows what they are doing must be in charge and must be allowed to lead. Decision tables are great, but they are just another tool in the arsenal of the professional software developer.
In the right hands, such a tool will make a good outcome great. But in the wrong hands, the added weight of yet another piece of poorly understood technology may be just enough to send the project to the bottom. If you are working with people who are over-awed with technology, who can't think even three consequences ahead, and who can't do much more than cut and paste code they scrounge off the web, you're already dead, and Decision Tables, or IDE's for that matter can't save you.
At the end of the day, software is an extension of mind. It can never be better than the mind that created it, though it can be far far worse. So if you want good software, hire the finest minds you can find, let them select their own tools, and allow them to do the job you pay them to do.