TIP: Click on subject to list as thread! ANSI
echo: locsysop
to: Paul Edwards
from: Bob Lawrence
date: 1996-11-06 08:08:24
subject: Special Requests

BL> I keep forgetting that you and I look at work differently. I
 BL> work for myself, so *I* am the programmer. If it fucks other
 BL> people who might try to steal my work, then so much the better.

 PE> If you work for someone else, and you aren't competent, then
 PE> relying on the compiler to do your programming for you, will
 PE> see you fail.

  We were discussing using variables with self-explanatory names. I
agree that this is necessary, but since I am the only one who will see
my code, it is an advantage to me if I adopt my own short names in
code.

  As for the other... the compiler can't program, but it can pick up
sillies, which is what I meant. I was amazed how similar programming
is to normal engineering.

  First you define the problem and look at a few ways to do it. At
this point bugs don't matter. This is equivalent to ignoring ratings
in normal electronic design. You are only interested in ways... neat
and fast (cheap, in electronics). The compiler is a great help sorting
out gross errors. In electronics, you just let it blow up. It's the
same thing.

  Next you settle on the method and run it right through to be sure it
will work. Your approach varies depending on whether you want it quick,
or good. In programming I still rely on the compiler to save me from
the gross errors. In electronics, the equivalent is running the
circuit at reduced volts - a scale model.

  Then you debug it. In electronics, you check the ratings and make
sure nothing is stressed.

  The last stage brings a step back. You know it is going to work, the
creative process is almost ended, and what remains is work for a
detail man. At this point, the compiler should not be giving messages.
In electronics, the circuit should not be getting hot or blowing up
for no reason.

  What you say about competent design and the compiler is true, but
only beyond this stage of the project. In the earlier design stage,
anything goes.

  It is usual to classify engineers as starters or finishers and rate
them as creative or plodders, but like all artificial divisions it's
bullshit. You can split *anything* into two types. I've worked with
creative finishers and uncreative self-starters. My own opinion is
that it comes down to a tolerance of confusion. Finishers like it
predictable, starters like it crazy.

  The big difference I notice with programming is that you live more
in your mind and have to be more devious in working out what can go
wrong. It demands a more disciplined mental approach... if bugs are to
be predicted and avoided. You programmers aren't too good at that.

Regards,
Bob
  
___ Blue Wave/QWK v2.12
@EOT:

---
* Origin: Precision Nonsense, Sydney (3:711/934.12)
SEEN-BY: 711/934 712/610
@PATH: 711/934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.