P
parley
After several years of programming WWW applications in ASP.NET (and
several other frameworks) our division has come to what might seem a
counterintiutive conclusion:
Writing ASP.NET code in a "procedural" manner (without webcontrols and
without utilizing OOP concepts in general) produces code that is
remarkably faster and more scalable. In general a "bare ASP.NET"
application outruns it's OOPy counterpart by factors of 2 to 10.
Surprising side-effects are that the procedural version has reduced
memory requirements, is easier to maintain and it is easier to explain
and debug. While reusability was a goal in the OOPy versions, that
goal proved elusive, since a developer must be taught the intricacies
of any new reusable component he is given (he can't merely plug it
into an application without understanding it fully) and because, to
design a reusable component one must know beforehand all the ways it
will be used in the future, something that is difficult if not
impossible.
If our programmers _were_ inexperienced, I would chalk this up to
inexperience. But this is the conclusion of our programming group,
which has written software on many platforms using various languages
(OOP, procedural, and functional) over many years. While OOP certainly
has it's place (e.g., it is particularly useful in writing real-time
telecommunications software), that place does not seem to be WWW
applications. I might add that our developers are very familiar with
Internet standards and protocols, something that may not be true of
developers in general.
Our productivity on WWW apps has increased significantly since we
accepted this surprising conclusion. Have other shops concluded the
same? What are the experiences of other ASP.NET developers?
Bob
several other frameworks) our division has come to what might seem a
counterintiutive conclusion:
Writing ASP.NET code in a "procedural" manner (without webcontrols and
without utilizing OOP concepts in general) produces code that is
remarkably faster and more scalable. In general a "bare ASP.NET"
application outruns it's OOPy counterpart by factors of 2 to 10.
Surprising side-effects are that the procedural version has reduced
memory requirements, is easier to maintain and it is easier to explain
and debug. While reusability was a goal in the OOPy versions, that
goal proved elusive, since a developer must be taught the intricacies
of any new reusable component he is given (he can't merely plug it
into an application without understanding it fully) and because, to
design a reusable component one must know beforehand all the ways it
will be used in the future, something that is difficult if not
impossible.
If our programmers _were_ inexperienced, I would chalk this up to
inexperience. But this is the conclusion of our programming group,
which has written software on many platforms using various languages
(OOP, procedural, and functional) over many years. While OOP certainly
has it's place (e.g., it is particularly useful in writing real-time
telecommunications software), that place does not seem to be WWW
applications. I might add that our developers are very familiar with
Internet standards and protocols, something that may not be true of
developers in general.
Our productivity on WWW apps has increased significantly since we
accepted this surprising conclusion. Have other shops concluded the
same? What are the experiences of other ASP.NET developers?
Bob