Changes in Programming Practices
Posted by srdiamond15
on 12/30/2004
srdiamond15
12/30/2004 1:25 pm
It seems to me from casual observation that programmers today work rather differently than they did a few years ago. Today, they don't actually program most of the features of the applications they market. For instance, look at http://www.codejock.com/products/toolkitpro/ You will see an interface that looks just like the one sported by Ultra Recall. It looks like developers are buying sets of features and porting them into their products. Does anyone know when this trend got firmly underway? Maybe it's been like that longer than I realize.
This practice, I think, has implications for the way users evaluate programs. Before buying a program, the user cannot ordinarily know how well the program will function under changing conditions of use, probably doesn't know many of the features of a complex program, etc. Certain characteristics of programs are correlated with others and serve as proxies in the evaluation process. They measure the skill and conscientiousness of the developer.
One such proxy is the amount of development taking place for the application. An application that is getting a lot of new features seems to be receiving the sustained attention of the developer. But the accretion of features is less an index of quality where the developer purchases them wholesale.
It looks like some program are less "pre-fabricated" than others. I don't know if that's a good or bad thing in itself, but it certainly affects the significance of rapid feature accretion. MyInfo, for example, looks unique, whereas Ultra Recall has the "standard Windows look." UR is a much younger program than MyInfo, but it has more features, and I wonder if the reason has to do with the extent of pre-fabrication, and if so, what bearing that has on evaluating the program.
ADM has been praised for the pace of development, but the pace at which it accrues features is so great, that it seems they must be purchased from another developer, even though the look of ADM is unique, perhaps more unique than some would like. When the developer announced, 'look, we have a surprise upgrade of the text card, providing for many more word processing features, he would seem to be talking about something he just bought, not something worked up from scratch. (Of course "scratch" has different meanings. Here I mean a basic programming language, not machine language.)
This practice, I think, has implications for the way users evaluate programs. Before buying a program, the user cannot ordinarily know how well the program will function under changing conditions of use, probably doesn't know many of the features of a complex program, etc. Certain characteristics of programs are correlated with others and serve as proxies in the evaluation process. They measure the skill and conscientiousness of the developer.
One such proxy is the amount of development taking place for the application. An application that is getting a lot of new features seems to be receiving the sustained attention of the developer. But the accretion of features is less an index of quality where the developer purchases them wholesale.
It looks like some program are less "pre-fabricated" than others. I don't know if that's a good or bad thing in itself, but it certainly affects the significance of rapid feature accretion. MyInfo, for example, looks unique, whereas Ultra Recall has the "standard Windows look." UR is a much younger program than MyInfo, but it has more features, and I wonder if the reason has to do with the extent of pre-fabrication, and if so, what bearing that has on evaluating the program.
ADM has been praised for the pace of development, but the pace at which it accrues features is so great, that it seems they must be purchased from another developer, even though the look of ADM is unique, perhaps more unique than some would like. When the developer announced, 'look, we have a surprise upgrade of the text card, providing for many more word processing features, he would seem to be talking about something he just bought, not something worked up from scratch. (Of course "scratch" has different meanings. Here I mean a basic programming language, not machine language.)
sub
12/30/2004 4:45 pm
[It looks like developers are buying sets of features and porting them into their products.]
Yes, this is true, though hardly new. What is new is the extent to which this is happening.
Windows has been the main catalyst for this; in DOS days, programmers coded everything from algorithms to User Interface, graphic or not. (Remember Framework?) At best, they would copy paragraphs of code, as Open Source programming communities still do.
Windows provided a standardised GUI and opened the way for SDKs (Software Development Kits), Toolboxes, and then integrated programming environments such as Delphi. In between came Visual Basic, a programming language that does not require hand-coding. Nowadays you can use Runtime Revolution to build a program from 'stacks' of almost-plain-English commands. All these tools are based on hundreds of ready-made routines and procedures, covering everything from searching strings to converting to HTML, to producing the modern "XP look and feel".
On the plus side, all this means that amateur programmers like me, as well as people from other disciplines can have a go at their own software ideas. I read about a program that recomposes scanned pieces of ancient scripts, created by an archaeologist.
At the end of the day however, any piece of software efficient enough to have commercial value, must be at least optimised, and this is hard work. You can easily see the difference in efficiency and speed by trying out Brainstorm, which is hand-coded and Ideaspad which relies heavily on Microsoft's .NET and MDAC frameworks.
I have the impression that programmers from Central and Eastern Europe (i.e. Milenix, DataLandSoftware, RiskSoftWorks) rely more on traditional coding and less on ready-made-tools, many of which are quite expensive.
alx
Yes, this is true, though hardly new. What is new is the extent to which this is happening.
Windows has been the main catalyst for this; in DOS days, programmers coded everything from algorithms to User Interface, graphic or not. (Remember Framework?) At best, they would copy paragraphs of code, as Open Source programming communities still do.
Windows provided a standardised GUI and opened the way for SDKs (Software Development Kits), Toolboxes, and then integrated programming environments such as Delphi. In between came Visual Basic, a programming language that does not require hand-coding. Nowadays you can use Runtime Revolution to build a program from 'stacks' of almost-plain-English commands. All these tools are based on hundreds of ready-made routines and procedures, covering everything from searching strings to converting to HTML, to producing the modern "XP look and feel".
On the plus side, all this means that amateur programmers like me, as well as people from other disciplines can have a go at their own software ideas. I read about a program that recomposes scanned pieces of ancient scripts, created by an archaeologist.
At the end of the day however, any piece of software efficient enough to have commercial value, must be at least optimised, and this is hard work. You can easily see the difference in efficiency and speed by trying out Brainstorm, which is hand-coded and Ideaspad which relies heavily on Microsoft's .NET and MDAC frameworks.
I have the impression that programmers from Central and Eastern Europe (i.e. Milenix, DataLandSoftware, RiskSoftWorks) rely more on traditional coding and less on ready-made-tools, many of which are quite expensive.
alx
