Chris Diggins has written a great article about the power that visual programming languages might hold. One specific example he mentions is Scratch. Another is Logo. Perhaps we will see a much greater use of such languages in the future. But I am hesistant to think that such will be the case. Part of the reason is the impact that modelling lanuages like UML, and the tools built around such modelling languages, have had on today’s developers.
Most developers have no doubt had to deal at one point or another with the various UML-based tools that are on the market. A number of these tools allow for the generation from UML of code in a variety of programming languages, including Ada, C, C++ and Java. Many developers have come to consider such tools as what constitutes “visual software development”.
For developers who have years of experience using more traditional, text-based development tools, these UML-based systems can be quite painful to adapt to. Most capable developers will see a rather significant productivity drop while they try to learn these tools. The biggest complaint I’m aware of is how a developer will know exactly what he or she wants to do, but ends up spending numerous hours fighting with the UML-based development system to get that simple task completed. So from personal experience, I can say that many developers have come to consider visual development tools to be a major hassle, and a complete hinderence to the software development process.
In many ways, I think that’s unfortunate. Although I haven’t been able to look into it much, the idea of Scratch does sound very interesting. But I think it may be near impossible for such a technology to work its way into the development process of tomorrow, let alone that of today. I think too many developers today have gotten a very negative impression of visual development, and will want nothing to do with such techniques, even those techniques which take a different, and perhaps more effective, stance.