Russel, Software Engineering has indeed enabled the construction of 100MLoc+ software constructs.
But why do we assume that such monstrosities need to be built? davew On Sun, Feb 9, 2020, at 2:04 AM, Russell Standish wrote: > 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 hpco...@hpcoders.com.au > http://www.hpcoders.com.au > ---------------------------------------------------------------------------- > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at cafe at St. John's College > to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com > archives back to 2003: http://friam.471366.n2.nabble.com/ > FRIAM-COMIC http://friam-comic.blogspot.com/ by Dr. Strangelove > ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com archives back to 2003: http://friam.471366.n2.nabble.com/ FRIAM-COMIC http://friam-comic.blogspot.com/ by Dr. Strangelove