D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] OpenSSL --> LibreSSL

 

On 28 April 2014 02:16, Simon Waters <simon@xxxxxxxxxxxxxx> wrote:
> difficult problems don't demand big solutions.

The claim I'm disputing is that the solutions are necessarily and
inevitably "complicated [and] long-winded". "Big" does not necessarily
imply either of those. But yes, as the examples you give show, "big"
is not always necessary in a solution either.

Programming is all about managing complexity. Bad programmers write
complicated, long-winded code even for relatively simple problem
domains and never learn any other way. They don't try to learn any
other way, they are not interested in learning any other way; they
complacently assume utterly false estimations of their own ability and
code quality and seek out peers who will reflect and reinforce those
false estimations. Unfortunately, it is not only possible but
hideously common for such programmers to have long, successful and
lucrative careers, infecting every code base they touch with
insurmountable cruft and technical debt, thanks to the near-ubiquity
in industry of ignorant, incompetent and negligent development
managers whose only benchmark of programmer success is the number of
lines of code written, regardless of need or quality. The result is
plain to see: software sucks.

There are *many* efficacious tools and techniques for attacking this
problem. Good programmers seek them out, learn them, apply them and
share them. Faced with big, complicated problems, good programmers
produce solutions which are elegant, learnable, maintainable,
flexible, robust, and, yes, simple, at any particular layer or
granularity -- they know how to segment. Perhaps most importantly,
good programmers produce code that is *tractable*, meaning the code is
amenable to being reasoned about.

Unfortunately, since deploying those techniques often leads to not
just fewer lines of code produced per programmer per unit time, but to
actual net negative line counts as cruft is removed and consolidated,
programmers who deploy them effectively are not valued by
(incompetent, remember) management; and since, properly understood,
the work they do demonstrates that most of the programming work that
is currently being done, and thus most of the headcount doing it, is
pure waste, good programmers are also seen as a threat by the
feather-bedded incumbent corps, who work to get them ousted ASAP.

I don't mean to come across as bitter and resentful, but I am, so it shows.


-- 
Phil Hudson                  http://hudson-it.no-ip.biz
@UWascalWabbit                 PGP/GnuPG ID: 0x887DCA63

-- 
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/listfaq