Re: To Richard Heathfield: enough's enough

From: Malcolm (malcolm_at_55bank.freeserve.co.uk)
Date: 12/26/03


Date: Fri, 26 Dec 2003 20:20:50 -0000


"Edward G. Nilges" <spinoza1111@yahoo.com> wrote in message
>
> Paulina Borsook has a little book you should read, called
> Cyberselfish, about the real culture of programming which to her is
> unfeeling, overcompetitive for no good reason, and profoundly selfish.
>
It's true that you get many selfish, needlessly competitive people in
programming. You also get a lot of helpful people. If you've ever done a
degree in English Literature you will see that there's often a lot of petty
vanity and sniping in that field too.
>
> In it, she quotes a 50 year old developer who has to miss his
> daughter's birthday because he's working on a video game.
>
Yes sure, games are fun and companies often exploit that to get unpaid
overtime.
>
> Game programming teaches overemphasis on efficiency
>
It's not an over-emphasis on efficiency, becauee we're writing programs that
have to run very efficiently on defined hardware. However if you coded
medical software in the same way as you typically code games you would
rightly be sacked, because if a games programmer makes a mistake the worst
thing that is likely to happen is that someone's enjoyment is spoiled,
whilst if there's a bug in medical software a patient could be given a
lethal dose of radiation.
>
> and a culture of
> violence which makes people into blamers-of-victims and political
> conservatives who (1) support violence by default internationally and
> domestically as a solution to all problems and
>
Boys instinctively play soldiers. They also enjoy video games based around
warlike themes.
>
> (2) are encouraged by the epistemology of computer games to believe
> lies (such as Blair's and Bush's lies about Iraq) as long as the lies are
> packaged properly.
>
Generally you'll find that video games go out of there way to avoid overt
political themes (such as mentioning Iraq). By providing games that appeal
to boys' love of war we are maybe providing adult legitimisation for
warfare. However most adults believe that war is sometimes justified.
>
> Game programming also un-teaches any senstivity to practical user
> needs since there is no user, only a player.
>
Yes sure, games are there to play, not to achieve work goals with.
Personally I think a games console, which can be used for games and only for
games, is a big step back. However that's what the market demands, and what
Mummy and Daddy, who make the purchase, generally want to pay for.
Gmaes are not always mindless. For instance a game like Sim City tests
powers other than manual dexterity.
>
> I'm not trying to "insult" anyone except insofar as he is not able to
> make a critical distance between himself and his profession or an
> artifact like the C language.
>
I don't really understand what you are saying here, particularly since you
didn't know I was a games programmer until Richard mentioned it. The C
language is an artifact, it is not perfect and there are arguably better
languages. However for practical reasons the choice in games is between C
and C++, so either way you have to know C.
>
> This is alienation, for your concern is exclusively operational. My
> concern was understanding the deficiencies of the C language, of which
> the strlen is but one.
>
If you say
                for(i=0;i<stren(str);i++)
ought to call strlen() once in a decent language, but doesn't because C is
so stupid, the fair enough.
If you say "this code doesn't need to be efficient" then that's arguable. On
a modern machine with short strings it won't make the blindest bit of
difference unless you're in an inner loop. However for very long strings the
running time will become excessive.
>
> > <same ol' same ol' about telescopes snipped>
>
This was actually quite an interesting point. I think the answer is that
computer programming at present is where astronomy was in the time of
Galileo. The telescope had just been invented, so the astronomer had to
become an expert on telescopes to get anything done. Similarly, knowing that
strlen() returns a size_t now rather than an int is nothing much to do with
computer science, but it is a little practical detail you need to know if
you use strlen().
>
> In fact, the vision of the Algol team was that the language would be
> an "ideal" language in a midcentury philosophical sense, such that
> intelligent people would not make elementary and indeed clerical
> errors in the language because of the lack of a tradesman's or clerk's
> knowledge of deficiencies.
>
And Algol isn't used much any more. A tradesman's knowledge of C won't teach
you how to write a sophisticated program, but it will teach you how to write
strlen(), and most sophisticated programs have a strlen() or equivalent in
there somewhere.
>
> They did not preclude the idea of professional programming, but the
> legacy writings of a Dijkstra indicate that the very idea that
> uneducated people (without the moxie to even be autodidacts) should
> (1) parade a false and artificial "expertise" about how to overcome
> deficiencies in the small,
>
It is easy to convince yourself that you are a brilliant programmer when in
fact all you know is a few trivial details about an operating system and how
to use an assembler.
>
> (2) lack the architectonic skills of a
> Stroustrup, which skills tend to replace the bad paradigm, and
>
Stroustrup has desinged a successful computer langauge, which is a
considerable achievement. My own view is that the success is largely due to
marketing - every C programmer will look at a language called C++ - and that
C++ has much graver deficiencies than C.
>
> (3) act as if their stunted, troll-like "expertise" is the only
"expertise"
> worth the name.
>
It's an expertise that enables them to earn their living as programmers.
Immediate utility is not the only worthwhile test of knowledge, but it is
worthwhile knowing how to write strlen() in C, or how the C for() loop
works.
>
> You are an intelligent person, Mr. Heathfield, and you are aware of
> the deficiencies of the C language. But you lack the simple courage to
> do as I did in 1992, and stop using C because of your petty bourgeois
> fear that you might lose clients or job opportunities.
>
Well that's pretty stupid advice - stop using C, when for practical reasons
your job demands C expertise.
If you are an academic computer scientist then it might be possible to take
this attitude, but if you are programming in a team on a commercial project
then you have to use the language the team leader tells you to use, or if
you are the team leader, the language you have compilers for, the team has
experience in, the management want you to use, the legacy code is coded in,
or many other considerations.
>
> Instead, you have developed an UNNECESSARY field, which is
> "how to get around the problems in C", a major time-waster in these
> newsgroups.
>
That's more a comp.lang.c question. But since C is such a widely-used
programming language, it's only a minor violation to mention these issues on
comp.programming.
>
> This would be harmless fun, but you make knowledge of the arcana of
> that field conditional for being able to post in comp.programming. I
> would have had your ass in court last year were it not for my
> attorney's advice, that opinions like yours are ignored.
>
OK, theoretically someone doesn't have to know C to know a great deal about
programming. But in practise you do, just as Galileo had to know a great
deal about telescopes to be a working astronomer.
>
> Leave this newsgroup and take your expertise to comp.lang.c. Until the
> death of unix, and the messy death of linux in a court of law, your
> expertise is needed, but thereafter I suggest another line of work.
>
C will be around for a long time yet - it's the natural choice if someone
wants to provide a working example of an algorithm.
>
> And, each time, the strlen iterated over strings that were bounded
> both by the common sense of the user of the propositional logic
> program and physical limits imposed by most operating systems on the
> order of 2^8-1.
>
You've got to be aware of malcious attacks. Also an O(N*N) function that can
be written O(N) is sloppy - someone might take the code and use it in
another context.
>
> For this reason, to store the string length would have detracted from
> the clarity of what was intended to be an example to no good reason.
>
> Izzat so, Mister Science? Kindly present a loop that does.



Relevant Pages

  • Re: To Richard Heathfield: enoughs enough
    ... about the real culture of programming which to her is ... artifact like the C language. ... deficiencies of the C language, ... troll-like "expertise" is the only "expertise" ...
    (comp.programming)
  • Re: Four Programming Questions
    ... Which language is best for scientific programming? ... For just the basics, you've got ... DOS/Windows arcade style games. ...
    (comp.programming)
  • Re: User Interface Design
    ... could look at the undamaged stats on a unit, ... If you want to try to cater for moderated games then ... player base I could only ever please under a third of the player base ... A Law of Computer Programming: Make it possible for programmers to write in English and you will find the programmers cannot write in English. ...
    (comp.games.development.design)
  • Re: Four Programming Questions
    ... Lisp, such as Common Lisp or GNU-emacs-lisp. ... Which language is best for scientific programming? ... You need to say what kinds of games you are talking about. ...
    (comp.programming)
  • Re: Four Programming Questions
    ... Which language is best for scientific programming? ... Which language is best for games programming? ...
    (comp.programming)