Re: Where does programming begin?



Tom Impelluso said:

<snip>

So I am curious to know if there is some standard definition of
programming?

Not as far as I know.


Is it relative?

It depends on how you define "programming"! See below.

The "closer" one is to coding at the operating system level, or the
closer one is to assembly, the more it is called "programming"?

Problem: consider a multi-user operating system such as, say, Linux, with
three users connected to it using, say, ssh.

One of these users is writing a simple text filter in, say, C. I don't
think anyone would object to the claim that he's indulging in programming,
even if all he's doing is counting words or something. Between him and the
hardware are: the OS, the shell, the compiler, and possibly the assembler
and linker.

The second user is mucking about with ImageMagick, doing geometry
transformations on JPEGs. All he's doing, really, is choosing command line
parameters for the convert utility. I don't think anyone would claim that
he's programming, though - at least, no programmer would. But what is
between him and the hardware? Just the OS, the shell, and the utility that
he's running! So he's actually closer to the hardware than the C guy.

The third user has already written a C program that simulates a simple
virtual machine, and he is now writing programs for that machine in
machine code (for he has not yet gotten around to writing an assembler for
the VM). Between him and the hardware are: the OS, the shell, the
compiler, assembler, and linker, AND the VM. When he gets around to
writing the VM assembler, that will add yet another layer between him and
the real hardware. The programming he is doing is far more worthy of the
name than either of the other two, and yet he is considerably more distant
from the hardware than either of them.

Curious to know opinions...

My own take is that programming is the art of designing and implementing
algorithms for the computer to perform. Thus, the ImageMagick guy who is
converting a bunch of JPEGs is merely /using/ the computer, not
programming it. The HTML writer is not programming the computer, because
HTML lacks the expressive power necessary for implementing algorithms.
That isn't to denigrate what he does - writing good Web pages is not easy
- but it isn't programming. The 9-year-old who points and clicks and drags
and drops his way around the Lego RCX language, on the other hand, is most
definitely programming.

--
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
.



Relevant Pages

  • Re: What do you take for secure programming?
    ... Neverthless there plenty of them very confident on the result ... I am writing them alone, ... >> Important to know these books is all about about programming, ... > and even having to deal with hardware errors... ...
    (SecProg)
  • Re: maybe a bit OT: EEPROMs and PCs
    ... is there any other particular way this industry calls the simplest devices capable of recording binaries to EEPROMs? ... or just convince my assembler to put a jump back to the usual COM starting offset at that exact position? ... Learn all about your hardware by fully disassembling the original BIOS-ROM. ... I was meaning to ask: In usual PC ASM programming I used that IRQ refference provided by Ralf Brown. ...
    (alt.lang.asm)
  • Re: Born again
    ... access all of my hardware, ... programming is not an advantage, ... we can use all of the assembler instructions. ... mice, and so on. ...
    (alt.lang.asm)
  • Re: A quote from Crypto-Gram
    ... >> programming modes to controlled by a hardware input. ... Controlling ... > hacker/virus maker to begin altering the microcode. ...
    (sci.crypt)
  • Re: Update: The use of the SX processor instead of a Basic Stamp
    ... a custom game based on the same hardware. ... guys went through with the custom AC/DC project. ... leave the computer for programming:). ...
    (rec.games.pinball)