[H-GEN] Programing

Anthony Towns aj at azure.humbug.org.au
Sun Jul 30 08:14:57 EDT 2000

I started with BASIC [0] and basically moved on to C. I've played
with a lot of other languages as well, but they're the only "primary"
languages I've had. I don't like C++ much, Java, Python and Smalltalk
are interpreted and therefore don't really count, and Pascal and Ada
are horrible too.

I guess my advice would be just to find a language you can get to
work easily, get a book for it, and write code to do anything you find
interesting. Python's probably a good language for this on Linux: it's
interpreted so you can just type "python" and start doing stuff, and
it lets you do gtk stuff and everything fairly easily as well. C may
not be a bad language to start on either, since just about everything
Unixy is written in C, but it's fairly complicated. I wouldn't want
to try it. YMMV. Java's has many of the good properties of Python, as
well as being more popular, but I'm not convinced it's as pleasant to
use. Certainly, I've had lots of pain getting it to work under Linux,
there's no interactive interpretor, and the IDEs I've played with under
Windows have just seemed hellishly complicated. But that may just be me,
and YMMV here, too.

On Sun, Jul 30, 2000 at 09:24:43PM +1000, Frank Brand wrote:
> The actual programming language you use first is probably not terribly
> important as most languaes I have come across tend to use the same
> functionality expressed in different ways.

Really, your first language and whatever ends up being your favourite
language should be fairly unrelated. Imagine riding the same bicycle
you rode when you were five, when you're thirty-five (maybe with the
training wheels removed). No gears, different breaks, the wrong height,
the wrong weight, and all the funny colours and padding you thought were
cool then, but that just seem childish now.

(That analogy's a little strong, really. It might well turn out that
whichever language you choose first *is* the best one for you)

Also, if you *really* look, you'll find lots of languages which go about
things in a *completely* different manner to the usual ones. Prolog for
one. Lisp/Scheme, Haskell, and Forth for others. But most of the popular
common ones all work in the same way [1].

As far as university courses go, for straight out programming there's
probably no real point. You don't get taught all the interesting
things from a programmer's perspective (using gtk, using perl, how to
make libraries, which language is the best, which library is the best,
how to write really huge and complicated makefiles to build really huge
and complicated projects...), either it being assumed that you more or
less just implicitly know this stuff, or that it doesn't matter in the
context of your studies.

OTOH, you get a lot of indirectly relevant stuff that's fairly decent.
Different methods of solving problems you can tell the computer about that
make it much faster, different ways of expressing problems, different
ways of thinking about problems, and an introduction to problems much
harder than the ones you'll usually care about. When you eventually come
up against such a problem, that can be quite helpful.


[0] One program I remember was a counting game. It'd "count" to 100, and I
    would too, and whoever got there first won. Another I remember was
    a "drawing" program (on the C=64). It'd print out fixed pictures
    like a house or an umbrella or something drawn with the graphics
    characters on the keyboard. What can I say? I was young. I also
    wrote a fun game of pong with AMOS Basic on the Amiga, as I recall,
    although that was somewhat later.

[1] Most languages are all in the vocative case, the programmer demanding
    the computer do something, and that it do it now. A case could
    probably be made that these languages are so popular because it gives
    programmers an ego trip. The other languages are more a combination
    of declarative and interrogative (ie you say some things are true,
    and then ask about something else, and let the computer work it out
    in its own time)

Anthony Towns <aj at humbug.org.au> <http://azure.humbug.org.au/~aj/>
I don't speak for anyone save myself. GPG signed mail preferred.

  ``We reject: kings, presidents, and voting.
                 We believe in: rough consensus and working code.''
                                      -- Dave Clark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 350 bytes
Desc: not available
URL: <http://lists.humbug.org.au/pipermail/general/attachments/20000730/1e6caa51/attachment.sig>

More information about the General mailing list