Linked by Eugenia Loli on Tue 23rd Nov 2004 01:43 UTC, submitted by Lumbergh
Java JetBrains IDEA developer, Sergey Dmitriev, talks future programming paradigms and the problems with today's programming models.
Permalink for comment
To read all comments associated with this story, please click here.
I don't agree with autor and with LOP efficiency
by DonQ on Tue 23rd Nov 2004 18:38 UTC

Well, this [look at subject] isn't exactly true. I can agree that formalization of programming task is most time-consuming step in software development (forget testing for now), but IMHO pointed problems with current development process are caused rather by poor project management.

What I mean (very shortly)?

Take first diagram from article:

Task->Solution----------------->Sourcecode->Executable

The long line includes formalization of initial problem and apparently this shouldn't be done by programmer at all! But where's formalization on second diagram?

Task->Solution->Sourcecode----------------->Executable

Source->exe path is automated, thereby it cannot contain formalization (no computer system can solve ambiguouty, think in human categories etc). Something is hidden here - formalization of needed specific languages, and this is manual work again.

If any (nontrivial) software porject is managed in either ways above, then actually "solution" is not solution and is not suitable for writing code efficiently. The actual formalization should be done on Task->Solution step, this includes writing detailed documentation, establishing desing of entire application, long annoying talks with customers, fighting with management ("We want to see working model NOW!") etc etc. This way we don't see many problems (talked in pointed article) at all, some examples:

"An application starts off needing some form of configuration, be it a simple options file, or a more complete deployment descriptor file. Eventually, configurations become more complex, and the application ends up needing a scripting language."

Need of scripting language (or other configuring options) shold be visible at "Solution" step - this isn't programmers decision.

"MPS is currently not ready for the real world, but it is getting there. There is also no documentation yet, except for this article."

The worst example - design/coding is already half done, but there's no documentation yet. Probably it'll appear after the system is ready - it's like writing car service manual after repairing it.


Finally, someone somewhere stated that time for designing and coding any [nontrivial] application doesn't depend on tools used. I personally have coded in various environments from assembler to semi-automated CASE tools, I can assure that this hypothesis appears to be truth.