Whilst the software products are geared towards making people executing things in a more effective way and allowing people to execute things that were not possible before (I agree, this is not always something good… we would live better without some of the software creatures…), I have always thought that the goal of the technology behind the software results (i.e. the technology that allows the production of software) would be to allow the artists (i.e. the developers) to do their job in the best possible conditions.
I remember how much I loved the VMS operating system (from Digital), the powerful CASE environment that was implemented on that operating systems (ah, Language Sensitive Editor…) and the Common Language Runtime.
I also remember how easy and natural it was, a life later, to develop distributed Service Oriented applications in the Forté environment (where Service Orientation and scalability was built inside the language framework itself). The motto from Forté was “Hiding the Complexity” and, indeed believe me, they couldn’t have been chosen a better motto!
Today I have read one of the “2008 predictions articles” and I was hit by the last item:
13. The next big thing. Software development will change to a wider use of code generators. Forget about heavy frameworks, regardless of what programming language you use. In a simple case, use some XML style sheets combined with the metadata that describes your application objects to automatically generate the code for these objects. On a larger scale, the entire application may be described using metadata and XML, and an appropriate code generator will do the job. So programming will change from writing tedious code that requires lots of coders to describing the metadata and writing custom code generators.
I know, this will remain a dream: Why steal the pleasure of fighting against the complexity of building a program that would let the author being proud of the many hours he spent in debugging it and in having a presentation that looks likee what he would have wanted ….?
Hiding the complexity and allowing the artist to express his creativity in addressing the solution to a problem (instead than in debugging, in challenging multithreading or fighting against the geometry manager) would be something nice to dream.
P.S.The Author has, also, some interesting observation on Java, AJAX and Flex/AIR.