Re: Holding a program in your head




Hi James,

I probably wasn't talking about large business systems, a business system can be decomposed into a number of steps - i.e. business processes, flows - all the different bits business analysts use. To say one or two programmers could write for instance an accounting system like SAP would I agree be crazy, but of course they are decomposed into modules and so on.

I was thinking of something like photoshop or word they consist of an inner core of functionality and a lot of external stuff like file formats, gui and so on. Perhaps the core engine if you will, the bit in the middle that has a myriad of interdependencies that hang together to create the final app. Can they be engineered to exceed what a few people can keep in there head? The current state of the art is no I believe.

For instance something that is a word processor that can also be used to do say genetic algorithms. If the complexity could be made manageable, then this would be a nice thing, academics could write there document about the GA and just below the explanation is the GA working for all to see as part of the document, you could dive into the code and there is a nice formatted explanation of how it works, maybe a couple of animations describing how particular algorithms work. To do this at the moment would be a major development project, and the core could only be done with a few key players - the upper limit on complexity of any app is what a few key players can keep in there head, much like a collabarative novel. You could make a web site that would sort of document it, but still wouldn't be the living app, such a thing isn't possible at the moment, and really even if you through a large amount of dollars at it, it still couldn't be guaranteed to succeed.

When I first started coding I did SqlForms (an Oracle product that ran on dumb terminals) - we had a metric - a small form took a day, a medium one 2 to 3 days a big one 5 to 10 days. These were serious business apps with a complexity that was comparable to any app used today, it ran a whole university, there was a team of about 8 developers. I doubt that any of the current tools could exceed this productivity, and indeed from my experience they take considerably longer, sure they look prettier but when you get down to what they actually do in business terms there is very little difference (This by the way is an old rant of mine).

Why? because the complexity of the underlying frameworks is dependant on a few key developers, and as the systems have become more complex and the interdependencies have grown changes in the system take longer and cause more side effects that very few can understand. This is before you even write an app! Where was I, oh yeh, so still the systems are limited by what a skilled developer can do and keep in there head. Alan Kay (inventor of smalltalk) has said similar things. The idea that an app can comfortably divided up and a person can write each little part is a furfy at multiple levels with the current state of the art, and unfortunately seems to remain so. Not sure if I made my point, or even had one but - end of rant :-)

No there's more, this all comes about because of the multiple layers and multiple languages that you need to develop an app today, e.g. a web app with javascript, HTML, and the backend with Perl/Java/.Net whatever, the plethora of technologies and internal layers, any one of which can throw a bug and bring your app down is truly amazing, and really don't do much more in business terms than they did 25 years ago. I think I'm finished.

Dave

.



Relevant Pages

  • Re: Cost of ownership: MV vs. SQL Server
    ... >>app server independent, etc, but you cannot be all of those at once. ... > mention that .NET seems to satisfy all of the business requirements ... (both Macs & Linux), so my criteria are different from yours. ... > and this market has never expressed a real need for Mac, ...
    (comp.databases.pick)
  • Re: SQL
    ... >>> isn't a point of contention among experienced software developers. ... > businesses that need systems of this complexity have legacy software ... but what does the existence of legacy apps have to do with your ... > cases it would not make business sense. ...
    (comp.object)
  • Re: Opinons on code generators and 4GLs
    ... >if the business rules are truly divorced from the UI. ... >have longevity and there will always be someone around to maintain app ... That's where OSS comes in handy. ... >that will pay for the extra time required to implement this, ...
    (comp.databases.pick)
  • Re: Open sourced VMS as a business concept ?
    ... Open sourced VMS as a business concept? ... How many App developers ... actually even worry about OS or App security patches as that is the ... configuring a Sun active-active Oracle RAC cluster takes 15-20 times longer on a two node cluster than configuring a 4- to 10-node VMS Cluster running RDB. ...
    (comp.os.vms)
  • Re: sick of Linux bias
    ... > In my personal experience *nix tends to be deployed in either ... Specific business applications, that is, as ... that are not using ms office as a business app. ... Linux in the enterprise market is a viable solution. ...
    (comp.security.firewalls)