

The industry as a whole makes its choices on the basis of folklore - blasdel
http://raganwald.posterous.com/i-cannot-rightly-apprehend-the-confusion-of-i

======
chipsy
Everyone likes the efficacy of the bite-sized quips and trivia, but the main
problem with them is that they tend to become domain specific, and border on
non-sensical when you shift domains.

From my standpoint, the best that can be done to further the engineering side
of software is to educate on a paradigm basis, and to avoid misleading case-
by-case tips. Read, teach, or create definitive guides to coding styles,
architecture strategies, and the benefits and drawbacks of making data more or
less structured or "smarter" (more code-like). Demonstrate not just ideal use-
cases, but imperfect ones, since real world code usually ends up with a lot of
imperfect solutions.

It should be fun to explore all these different techniques. As it is, they're
spread out in bits and pieces, and the really comprehensive works tend to be
found with "getting-started" tutorials and CS literature.

------
bugsy
As long as we are calling BS (the article refers to this term), I call BS on
the article's claim that "Making Software", released only two months ago in
October 2010, and with very few reviews, is one of three books essential to
read along with Peopleware and The Mythical Man Month. The latter two though
have proven themselves over decades.

It has the smell of stealth advertising. I must ask: Is there some sort of
familial, professional or financial connection between the author of the
article and one of the three dozen contributors to that new release? Or
perhaps to the publisher? Or is it just the affiliate links he provides that
provide the explanation?

~~~
raganwald
Accusing me of having a financial interest in the book other than an affiliate
link is called "Playing the man and not the ball." The relationship between
the speaker and the statement has no bearing on the truth of the statement.

Having "proven themselves through the decades" is an appeal to popularity.
What, specifically, about them makes them good? What about "Making Software"
makes it bad?

Thinking of things as being good strictly because people keep recommending
them or because you trust the person recommending them without examining the
statements critically is fine. Go your own way.

But interestingly, it is exactly the behaviour that the post calls out. It's
like saying that Java is good and Haskell is bad because Java has "proven
itself" in industry through the decades. Or complaining that a Haskell user
praising Haskell can't be trusted because it's in his interest for the
language to become more popular.

p.s. The OP says the following: "There are at least three decent books on the
subject." Is the word "decent" synonymous with "essential?"

~~~
bugsy
Hello Raganwald, I am confused by your responding. On your blog you identify
the article as being written by a guest blogger named Nickieben Bourbaki. But
now you are here speaking, saying "accusing me", as if you authored the
article and not Nickieben Bourbaki. Did you write the article? Did Nickieben
Bourbaki? Are you Nickieben Bourbaki? My concern about the credibility of the
article given that it lists 3 seminal works including one just released was
towards this mysterious author, Nickieben Bourbaki. But then here is a
response from you in which you refer to the author as "me", that is to say,
yourself, and not Bourbaki.

Your statement of defense "The relationship between the speaker and the
statement has no bearing on the truth of the statement." does imply as I
suspected that there is a relationship between the author of the blog article
and someone involved with the just released book he is recommending as an
instant classic. What is the nature of this relationship?

~~~
Luyt
Bourbaki is a well-known pseudonym (at least in mathematical circles). See
'Nicolas Bourbaki', <http://en.wikipedia.org/wiki/Bourbaki> . "Nickieben"
could be some altered form of "Nicolas", not sure about that...

~~~
pygy_
According to the link at the top of the post[1], Niekieben appears to be The
CS counterpart of the mathematical Nicholas.

It has been created by Richard P. Gabriel, to publish articles created with
his team at Lucid. Gabriel wrote the _Worse is better_ [2] essay, and
entertained afterwards a self dialog through several published papers, signing
the rebuttals "N. Bourbaki".

Apparently, Reg used the discussion on his previous essay[3] as the basis of
this one, hence the pseudonym.

___

Reginald: I would also like to know if you or a friend of yours have financial
interest in the third book you recommend. I don't question the quality of the
book. The Amazon commenters state that its insights are based on empirical
evidence, and the topics covered are definitely relevant.

You've been using your blog as a revenue stream through Amazon affiliate links
ever since I discovered it, and I'm glad you do. I don't understand why you
don't disclose whether or not you know one of the many authors.

___

1\. <http://www.dreamsongs.com/Nickieben.html>

2\. <http://www.dreamsongs.com/WorseIsBetter.html>

3\. <http://news.ycombinator.com/item?id=2034784>

------
davidu
For those curious, the photo at the top can be seen in San Francisco if you
head north-bound on Mission as it turns onto South Van Ness, moments before
South Van Ness crosses Market and becomes Van Ness.

See for yourself: <http://goo.gl/maps/FfBW>

------
samd
The formula for writing on the software industry is to turn your personal
experiences into general principles. It provides no knowledge about the world,
all it gives us is one person's perspective of a handful of situations.

------
raganwald
This post, like the one that preceded it, has its flaws. But I was impressed
with the post that inspired the "folklore" suggestion:

[http://blog.institut-agile.fr/2010/11/folklore-ou-fait-
scien...](http://blog.institut-agile.fr/2010/11/folklore-ou-fait-scientifique-
comment.html)

(Note that folklore isn't necessarily _wrong_ ).

~~~
billswift
I like _Peopleware_ , and Larry Constantine's essays _Constantine on
Peopleware_ , especially for managers of programmers. But I think Robert
Glass's _Facts and Fallacies of Software Engineering_ might be a better
recommendation for a developer.

------
scott_s
<http://en.wikipedia.org/wiki/Software_engineering>

<http://en.wikipedia.org/wiki/Computer_engineering>

Using "computer engineering" to mean what most people consider "software
engineering" will probably lead to a lot of confusion.

------
stipes
I'm more familiar with the term "Computer Engineer" applied to hardware design
folks, and "Software Engineer" with human programming. Am I nuts?

Aside from the nitpick, the point is a good one. Thanks for the essay.

------
jdp23
> Some people treat programming as a Social Science ...

Yeah really!

For example, from <http://www.talesfromthe.net/jon/?p=236>

'OK, maybe this is obvious to everybody outside the field of computer science;
but within the field, we are in the process of a major paradigm shift -- when
I get excited, I describe it as a Kuhnian "scientific revolution in progress",
which might be stretching things, but just a little. Computer scientists have
historically identified either as mathematicians (ah, the purity) or
physicists (pretty good purity and much better government funding); but if you
look at the kinds of problems we are trying to solve now (bunches of different
aspects of the security problem, privacy, usability of pervasive computers,
changing business models, e-voting) it seems pretty clear that the key issues
relate to people and the way they communicate and organize themselves, rather
than discovering the underlying physical laws of the universe -- in short, the
domain of social sciences.'

------
hxa7241
It is not as bad as superstition and hallucination.

The knowledge, such as it is, derives from people actually producing software.
A firm respect for practical knowledge, as much as for hard scientific
knowledge, is entirely normal for engineering subjects. In fact, the practical
side probably leads the science mostly.

(And why pay attention to hyperbolic rants in the first place? Is that the
sort of writing anyone wants to encourage?)

------
andreyf
Just because the "programmer productivity" problem isn't one related to
Computer Science doesn't mean society can't benefit from solving it... I find
most people aren't all that _interested_ in Computer Science, but rather in
getting things built for the purposes of other industries.

------
erikpukinskis
Human beings make their choices on the basis of folklore. That's how our
species functions. We experiment as individuals, we do science, we try
different strategies, we answer questions, and then the fruits of that get
baked into our culture, so that they are usable for everyone else.

------
LevelbossMike
actually there is some scientific research on topics like pair programming
etc.

for example: <http://aisel.aisnet.org/misq/vol33/iss1/7/>

which was published in MIS Quarterly in 2009

------
InclinedPlane
The craft of software manufacture is still very much undeveloped. We are still
in the days of snake oil and alchemy. Worse yet, so few developers seem to
appreciate this.

