[FRIAM] Curmudgeons Unite!
Russell Standish
lists at hpcoders.com.au
Sat Feb 8 20:04:42 EST 2020
On Sat, Feb 08, 2020 at 09:44:20AM +0100, Prof David West wrote:
> Jon,
>
> As an observer of software "engineering" since its inception in 1968 (my first
> job as a programmer was that fall, and that spring/summer is when the NATO
> conference first coined the phrase), I can and will (braggadocio here) state
> that most software CANNOT be engineered, precision or otherwise, and all that
> we have learned in the past 52 years in both computer science and software
> engineering is essentially irrelevant to the production of application level
> software.
As someone who graduated from being a "programmer" to a "software
engineer" somewhere around 2008, I can testify there is a world of
difference between the two. A programmer will happily churn out
programs up to 1000 lines of code, and maybe manage a 10,000 loc
program by dint of extreme hoeroic effort. Using software engineering
techiniques, including object orientation, extensive regression
testing, continuous integration, source code management and so on, a
single programmer can easily manage a 10 Kloc program, and up to
100Kloc loc by dint of heroic effort (ie an order of magnitude more
complex). A small team of 5 coders can perhaps manage a 1Mloc codebase
(albeit probably not 10x as complex as the 100Kloc codebase in my
experience), but requires much more intrateam communication, via daily
standups etc.
For larger projects eg the Linux kernel (ca 30Mloc), it is only
feasible by being extremely modular, which cuts down on the amount of
intrateam communicaton. Noone, not even Linus, has a clear picture of
the whole.
But none of these larger projects would be possible without the
discipline of "software engineering". Whether "software engineering"
is actually "engineering" or not is a pub argument, but it clearly
works when applied pragmatically and not idealogically. If not
"engineering", we would still need a name to cover the set of
techniques that help tame complexity, and manage software development
at scale.
--
----------------------------------------------------------------------------
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders hpcoder at hpcoders.com.au
http://www.hpcoders.com.au
----------------------------------------------------------------------------
More information about the Friam
mailing list