Re: Brian Kernighan, maybe I'm not worthy, maybe I'm scum



On Dec 30, 3:54 pm, Richard Heathfield <r...@xxxxxxxxxxxxxxx> wrote:
[Attempt #2. If by some miracle the first attempt gets through after all,
please pass over this essentially duplicate reply.]

spinoza1111 said:

On Dec 30, 2:50 am, Richard Heathfield <r...@xxxxxxxxxxxxxxx> wrote:

<snip>

Caveat: the page weighs in at around 90KB, and my upload speed is only
around 448Kbps max, so it might take several seconds for people to grab
it if the server is busy doing other stuff at the time.

90KB. Wow. And I thought I was verbose.

You are. That's why it's 90KB.

You and the Dude said far less in the replies than I do in 8K.
Essentially, you made stylistic remarks, not technical remarks, and
then you hid the information so that you could cite it and dress
yourselves in borrowed robes.

And, of course, you made sure
to create read-only pages offline to the discussion, and not converse
here.

If you think I'm giving a verbose pseud write access to my server, dream
on. Discussions are what Usenet is good at.

Here, you namecall. Why don't you look at the code for the Pike C++
version and find my stupid bugs? There may be some.


And the server is from Radio Shack, or *** Smith, or Earl's
Court Computer Bazaar.

Actually, it was a gift from a friend, who built it specially for me.

I'm touched.

How very convenient.

It is convenient in some ways, but not in others, to have one's Web server
sat under one's desk.

You only have to cite it, and you do not have to be exposed.

I don't understand that sentence. The page simply archives two Usenet
articles from a 2003 discussion that is in danger of being misrepresented.
Consider it an excerpt of historical data. If you think that the page
itself misrepresents the discussion, feel free to archive articles
yourself on your own Web site. Nobody is stopping you.

You are unable to express yourself simply here. You'd reminded, not
told, me that for conditions are executed repeatedly and the Dude
found a bug which I fixed in the same night. You et al. then embarked
on a campaign of cyberbullying and letters to Apress because your work
life has taken from you the delight in talking about code, and the
ability to treat your fellow human beings with respect.


I have a suggestion. If you have a copy of Beautiful Code (O'Reilly
Media, 2007) or you can get your paws on one at Foyle's, why don't you
read the article at the pub or chip shop on your break, and tell me if
you agree or disagree with my thesis, that Rob Pike's 1998 code in the
first essay is not Beautiful?

I've seen a fair amount of Rob Pike's code, and it looks pretty good to me..
Not necessarily how I'd have done it, but that's almost always a matter of
style, I guess.

And I've seen a fair amount of your code, too. *Therefore*, the probability
of my agreeing with your opinion about the quality of Rob Pike's code is
vanishingly small. To say this, I do not need to see the code itself. If
Chris Torek or Ben Pfaff or Doug Gwyn were criticising Rob Pike's code,
that would be another matter. Even though I don't always agree with their
opinions, I respect those opinions enough to treat them seriously, because
those people have earned that respect. But you have given me no reason to
have any respect at all for your opinions about programming or indeed
about anything at all.

This is a bully's prose. I would never in a moment want to work with
someone like you. Effective teams are a mix of skills, which means
that team members cannot apply a single one-size-fits-all metric to
their fellow members.

Your beef with my code was basically the same as the Dude's: it was
girl code, which used long identifiers, Hungarian notation, and
VB .Net. Based on your homophobia, you then made a cause celebre out
of my recalculations of values in a for loop whose condition was
repeatedly evaluated and quickly blew things completely out of
proportion by globally questioning the competence of a man who was
asked to assist a Nobel winner debug a C program, and who's forgotten
more about C than you will ever know, or understand.

FYI, I no longer program for a living, apart from the fact that I am
now getting royalty checks for my book, which last week was #21 in
Compilers. Because my kids are now grown, I no longer have to work
with and for thugs and bullies and I'm in a new career. But, I can now
pursue programming as an art form and as a critic of Beautiful Code,
precisely because people like you, with whom I was intimately familiar
at a number of firms, can no longer use gossip, Rumour and bullying to
"compete" with me.

You have told me, for example, that C is fully aware of international
strings.

No, I have told you that C99 addressed the problem of insufficient support
for wchar_t in C90. C doesn't care all that much about "international
strings" - to C, they're just strings, and if the implementation wants
them to be international, that's fine by C.

Oh yes, let's relabel char wchar_t and find all new functions. How
utterly "compatible".


But when I try to re-use this code in .Net, it can't be
called directly from C Sharp using a String object, because its
interface appears in C Sharp as consisting of sbyte arrays.

C was there long before C#. If C specified an interface to every
fly-by-night language that came along, the printed form of ISO/IEC 9899
would need several bookshelves. If C# wants to interface to C, it's C#'s
responsibility to specify how that can be done; if the interface is
inadequate, take it up with Microsoft.

"Fly by night"? Well we love you too Richard.

Richard, an interface is not a thing. C needs a new interface to
everything because it created its own little world of von Neumann
addresses to 8 bit bytes in 1971 so that Brian and the lads could
create an OS while waiting for Multics to be done. Brian and the lads
failed to see that a for loop is not just a while loop because a while
loop is monitoring changeable conditions, a for loop needs values that
don't change and don't need to be re-evaluated; it can simply do the
evaluation once, because MOST loops are read-only with respect to the
number of times they need to execute.

Whereas BOTH the Java and the .Net virtual machines are provably
limited and predictable in a way that the C machine isn't.

<snip>

As I've pointed out, Richard, you do seem at times to deal in hand-
waving, time-saving folklore in which Rumour enters painted full of
tongues (Shakespeare, Henry IV part 2) to settle disputes, speaking
darkly of pages  on servers in the middle of the woods. I suggest that
this generates ill-feeling towards you and exerts a chilling effect on
freedom of speech.

You're the one who is saying things like "stay away", "I want you to stay
away from discussions in which I participate", "I don't want to see
you here", "Stop posting replies to my posts, jerk" - so it seems that it
is you who are attempting (and, it must be said, failing) to exert a
chilling effect on freedom of speech.

Nope. Insofar as you misuse your freedom of speech to step on mine
through character and professional assassination, I am working on
behalf of free speech for all when I ask you to desist. You want to
come in here and run your big mouth, not about code, but about my
competence and right to speak in turn, and this is speech that eats
free speech, a black hole and a consumer, not a producer, of the sort
of collegial environment in which everyone feels comfortable enough to
speak.


How about it, Dickon?

My name is not Dickon. Name-calling is "jejune", as you love to say. If you
want to be treated like a grown-up, try acting like one.

Nearly all cyberbullies want to be seen as the victim, but in your
case, a court of law can, and perhaps will, see you as the victimizer
here.


--
Richard Heathfield <http://www.cpax.org.uk>
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999

.