Re: Theodore Adorno, a prophet of data systems design

From: Richard Heathfield (dontmail_at_address.co.uk.invalid)
Date: 01/10/04


Date: Sat, 10 Jan 2004 12:03:48 +0000 (UTC)

Edward G. Nilges wrote:

> Richard Heathfield <invalid@address.co.uk.invalid> wrote in message
> news:<3ffd6e68@news2.power.net.uk>...
>> Edward G. Nilges wrote:
>>
>> > You see, the implicit rule is that it's about "algorithms" (which most
>> > programmers aren't qualified to discuss at a theory level,
>>
>> That's simply not true. Programming is /about/ algorithms (and data
>> structures). A programmer who is not qualified to discuss algorithms
>> might as well pack up and go home.
>
> Most programmers cannot discuss how to prove algorithms correct or
> deductively predict the behavior of programs. This is a large part of
> the theory of algorithms.

Mr Nilges's rather loose acquaintance with the concept of proof will not
distract those subscribers for whom his articles are a familiar burden, but
nevertheless he has, perhaps unwittingly, stumbled upon a minor truth,
insofar as many (I will not go so far as to say "most" without seeing some
statistical evidence to back it up) programmers are perhaps not familiar
with the idea of "proving" an algorithm to be correct. (Some are, of
course.) But as Donald Knuth famously observed, proofs can be overrated.
They are tricky to get right, and embarrassing to get wrong. To see a
correct algorithm proof is a rarity. Peter van der Linden tells a most
entertaining story about a proponent of proofs who tried to show the
"correctness" of a particular construct using a proof, but the proof
contained two errors and - worse still - the construct was not, in fact,
correct at all!

Would the discussion of algorithm proofs be topical in c.p though? It seems
to hinge on how one reads the bit about actual programming experience.

But of course one doesn't need to be a proofs expert in order to be able to
discuss algorithms intelligently.

> It is possible to argue without the academic tool of symbolic logic
> for the correctness of an algorithm instantiated in a program and to
> deductively predict algorithm behavior, but without academic tool this
> is best conducted in groups. It is no longer conducted in groups in
> large part because authoritarian thinking confuses the declarative
> with the normative.

As a matter of fact, such arguments /do/ take place here quite frequently,
and I see no evidence of the "authoritarian thinking" mentioned above.
Rather, I see lots of common sense arguments based on solid experience.
Perhaps Mr Nilges doesn't read those (generally very interesting) threads
in which such discussions take place.

> For example, in ordinary programming discussions (as we've seen here)
> there is absolutely no level distinction made between the level of
> correctness and the level of style, because stylistic critique appeals
> to people as a way of asserting authority easily.

In fact, this newsgroup isn't about "asserting authority". Nobody here has
any authority at all except the natural authority that stems from knowing
what one is talking about. There is a big difference between
"authoritative" and "authoritarian". Mr Nilges seems (if I am reading his
articles aright) to see the latter everywhere, whereas I hardly see it
anywhere. But I recognise the former in many of those who contribute to
this group.

> Mathematical skill happens to be in some small measure to see beyond a
> particular style such as the color of a Web page or the use, versus
> the non-use of Hungarian notation.

The point is simple, from the point of view of a discussion newsgroup: does
a particular style choice aid, or hinder, readability? If a style choice
hinders readability, people will find it harder to read - by definition.
Since, in order to discuss something (on a newsgroup) one ought first to
read it, this *matters*.

>From a comp.programming perspective, Web page colours don't matter - UNLESS
they make the Web page hard to read.

>From a comp.programming perspective, naming conventions don't matter -
UNLESS they make the code hard to read.

It may be that the guy with the weird colours had written something
incredibly brilliant and insightful - but if we can't read it, how will we
know? We are under no obligation to read it, after all, and why /should/ we
read it if it has been made hard to read? Finding an acceptable
presentation style is /his/ problem, if he wishes his ideas to be read and
discussed. (This is not difficult - a straightforward text rendition would
have been perfectly acceptable to most normal people, in a way that a
garish, clashing, almost painful colour scheme is not.)

My own colour sense is certainly not going to win me any prizes at a
Best-Of-Web awards ceremony; but at least my Web pages are readable.
Therefore, since (in the context of a programming discussion) colour only
matters if it gets in the way, nobody here who has cause to visit my site
complains about the colours. In fact, I did once get ONE complaint, which I
believe was in email, about the colours I used for syntax-colouring, as a
result of which complaint I changed the colour-scheme. I found this to be a
more constructive reaction than accusing the complaining party of being
childish.

> Stylistic flaming isn't responsible discussion of algorithms but at
> best a dodge which is used in industrial situations to assert
> authority and save time.

Well, no. Firstly, this newsgroup isn't an "industrial situation". Secondly,
style flames are /very/ rare in this group. In practice, a reasoned
discussion of style choices is far more likely. Thirdly, the only way to
gain "authority" in a newsgroup of peers is to know what one is talking
about, and one doesn't acquire a reputation for knowing what one is talking
about by flaming Hungarian Notation. Fourthly, such authority is not
authoritarian, a kind of usurped power, an abuse of freedom. Rather, it is
simply a manifestation of the respect one earns - almost accidentally - as
one shares one's hard-earned knowledge with the newsgroup. That is why
people like Chris Sonnack and Chuck Falconer and Arthur O'Dwyer and Willem
are respected in this newsgroup - not because they have asserted authority
(which they don't), but because they have demonstrated that they possess
and are willing to share a high degree of knowledge of the subject of
computer programming.

>> > I have shown in countless ways that your reading of the charter is
>> > incoherent and self-contradictory,
>>
>> Yet Another Unsupported Assertion. Throw it on the pile with the others.
>>
> Well sure, if you can't connect the dots, each assertion is
> "unsupported".

He who wishes to draw a picture has the responsibility for dot-connection.
If I make an assertion on this newsgroup without providing supporting
evidence, I consider it perfectly reasonable for people to ask me to
support that assertion. If I cannot, then it is incumbent on me to withdraw
that assertion. That is the only honest thing to do.

> Everything is possible and nothing is true.

In fact, not all things are possible, and some things are true (and
therefore other things are false).

>> <lots more junk>
>>
>> > So bugger off.
>>
>> Another attempt at censorship, I see. Well, I think I can safely ignore
>> it.
>>
> Bull***! If I am impressing some girl in a pub with my erudite good
> looks, and you horn in on the discussion, and I say bugger off, this
> isn't "censorship".

It is, however, impolite. Furthermore, this is not a pub. The analogy
doesn't hold.

>
>> > I mean, I am just tickled pink to relearn from you just how much of a
>> > mistake the semantics of C's by-reference For happen to be,
>>
>> C doesn't have by-reference semantics of any kind, least of all for a
>> for-loop.
>>
> You don't understand the term.

But I do. Mr Nilges has chosen to redefine it for his own purposes. That is
his problem, not mine.

>> > But you have, my dear fellow, nothing to offer me
>>
>> Only because you appear incapable of reading for comprehension.
>
> The mistake here is to try to undercut your opponent by a GLOBAL
> statement so absurd that you look stupid making the accusation.

Those who are aware of Mr Nilges's posting history in this newsgroup will
disagree.

>
> It's a Fascist and authoritarian trope

No, it's a programming newsgroup. Mr Nilges's apparent obsession with
Fascism is not relevant here. I have therefore snipped that rather long
part of his article.

> Being able to program becomes in fact ersatz for humanity. OK, I can't
> program, and the tooth fairy just wrote the program (for using my
> quickBasicEngine for compiling and interpreting business rules entered
> by the user) that I finished this evening.

Yet another unsupported assertion by Mr Nilges, I see.

> I still deserve, as you do,
> to be treated with common respect.

Since Mr Nilges does not treat others with common respect (e.g. by sticking
to the point, by acknowledging his errors instead of fighting last-ditch
stands, refraining from insulting them, etc etc), it is arguable whether he
deserves to be treated with the common respect he withholds from others.
Nevertheless, I don't plan to start hurling Godwin-invoking insults any
time soon.

> But your behavior, in inviting retaliation, means there is none.

If Mr Nilges does not wish me to post corrections to his incorrect material,
he should perhaps consider refraining from posting incorrect material.

> The commodity produced has so little to do with human needs and is in
> so many ways inimical to them that men rage to inject a vanishing
> humanity into it, but lacking a language for expressing anything but
> anger, there is literally no "beautiful code". It doesn't exist.

Maybe for Mr Nilges there is no such thing as "beautiful code". That's a
shame. Some of us are more fortunate.

-- 
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton