Re: Learning more/Linux programming books

1999-01-22 Thread Andreas Sliwka
Steve Lamb wrote:
 
 I don't know, I think if there were a language to start newbies out on,
 it is perl.  Don't have to worry about many of the things that other
 languages force upon you yet gives you a good gounding in how those other
 languages work.

Heaven, no!
  
I think its quite a sinn to give perl to a newbie, perl corrupts. I use
Perl since two years and I quite like it, but only because I can choose
to use either imperative or oop thinking in perl and I dont have to
every variable.

And thats the reason why a newbie should start with a a structured
language like java (oop), pascal (imperative) or scheme
(functional/lists oriented), so she/he learns to order hers/his thoughts
and get a habit of problem solving. Perl gives you every opportunity to
everything in one or two or in any other way, and I don't think that
this is a good start in programming ...

soryy, my 2 euros

mfg 

-- 
---
Andreas Sliwka --- http://emil.nef.wh.uni-dortmund.de/~goff
talk to me: [EMAIL PROTECTED]/ICQ:13961062


Re: Learning more/Linux programming books

1999-01-22 Thread Mamoun Alissali
Andreas Sliwka wrote:
 
 Steve Lamb wrote:
 
  I don't know, I think if there were a language to start newbies out on,
  it is perl.  Don't have to worry about many of the things that other
  languages force upon you yet gives you a good gounding in how those other
  languages work.
 
 Heaven, no!
 
 I think its quite a sinn to give perl to a newbie, perl corrupts. I use
 Perl since two years and I quite like it, but only because I can choose
 to use either imperative or oop thinking in perl and I dont have to
 every variable.
 
 And thats the reason why a newbie should start with a a structured
 language like java (oop), pascal (imperative) or scheme
 (functional/lists oriented), so she/he learns to order hers/his thoughts
 and get a habit of problem solving. Perl gives you every opportunity to
 everything in one or two or in any other way, and I don't think that
 this is a good start in programming ...
 
 soryy, my 2 euros

  May I add my 2 euros as well, though I didn't read everything in this
discussion? I think that OO analysis and design is fundamental for
mastering OO programming. My prefered refernces are Meyer, Booch and
Raumbaugh (OMT). I think I'd better hide under the table to avoid the
flames :-).

  Mamoun

-- 
Mamoun ALISSALI
LIUM   Tel: (33-2) -02-43 83 38 47
UNIVERSITE DU MAINEFax: (33-2) -02-43 83 38 68
Avenue Olivier MessiaenE-mail: [EMAIL PROTECTED]
72085 LE MANS CEDEX 9  http://www-ic2.univ-lemans.fr/~alissali


RE: Learning more/Linux programming books

1999-01-21 Thread Antonio A. Rivas Ojanguren
 a) It's closer to the natural language than C and, of course, C++, and
all
 of us think in our own natural language (english, spanish, french,
german,
 etc...) and this is the first language we use when we develope a program.

This can also be a disadvantage, because programming _is_ much unlike
natural language.

Yes, natural language is quite far from the code of a programm but the first
algorithms that one must develope for a programm are much like cooking
recipes in natural language. Is there someone out there thinking in C or
Pascal?

organization than C or Pascal. Procedural programming is more structured
than BASIC, but OO programming is much more structured than procedural
programming.

Pascal itself is an OOP language, in a way. Any pascal unit is almost and
object. But if you want learning OOP just get a Pascal package with objects
like Borland Pascal 7.0 for DOS. To declare an object in Pascal you must use
the reserved word 'OBJECT'; more clear water.

 Learn C is not necessary the way to understand linux. To understand linux
 you must know how to programm devices like controllers, video cards,
sound
 cards, etc..., and programm devices is something that you can do with
Pascal
 also.

This I agree with. However, reading C code written by experts requries some
understanding of C on its own.

You can start with any language. For a complete beginner, I would advocate
Scheme. Even if you don't want to do big projects in Scheme, you can start
very fast. A good book on programming (using Scheme) is Structure and
Interpretation of Computer Programs, Abelson/Sussman.

I can't say anything about Scheme because I don't know it. I'll put an eye
on it and then I'll tell you what I think.

Marcus


--
Rhubarb is no Egyptian god.Debian GNU/Linuxfinger
brinkmd@
Marcus Brinkmann   http://www.debian.org
master.debian.org
[EMAIL PROTECTED]for public  PGP
Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/   PGP Key ID
36E7CD09

Antonio A. Rivas[EMAIL PROTECTED]
STARTEG Project - Oviedo
-
'Even God discuss with the devil on the details'

-


RE: Learning more/Linux programming books

1999-01-21 Thread Steve Lamb
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Wed, 20 Jan 1999 10:01:35 +0100, Antonio A. Rivas Ojanguren wrote:

You can start with any language. For a complete beginner, I would advocate
Scheme. Even if you don't want to do big projects in Scheme, you can start
very fast. A good book on programming (using Scheme) is Structure and
Interpretation of Computer Programs, Abelson/Sussman.

I can't say anything about Scheme because I don't know it. I'll put an eye
on it and then I'll tell you what I think.

I don't know, I think if there were a language to start newbies out on,
it is perl.  Don't have to worry about many of the things that other
languages force upon you yet gives you a good gounding in how those other
languages work.

- -- 
 Steve C. Lamb | I'm your priest, I'm your shrink, I'm your
 ICQ: 5107343  | main connection to the switchboard of souls.
- ---+-
-BEGIN PGP SIGNATURE-
Version: PGPsdk version 1.0 (C) 1997 Pretty Good Privacy, Inc

iQA/AwUBNqaYSnpf7K2LbpnFEQIHSACg1IHWUtvsJwA/+1EPoq6PRfX8roAAoJQ5
gVVAK1U4CtVO0Oz4V9chiEJk
=+woL
-END PGP SIGNATURE-



RE: Learning more/Linux programming books

1999-01-21 Thread M.C. Vernon

 Yes, natural language is quite far from the code of a programm but the first
 algorithms that one must develope for a programm are much like cooking
 recipes in natural language. Is there someone out there thinking in C or
 Pascal?
fprintf(HANDS,Me %s,SMILEY); 

Matthew

-- 
Elen sila lumenn' omentielvo

Steward of the Cambridge Tolkien Society
Selwyn College Computer Support
http://www.geocities.com/Area51/Chamber/8841/
http://www.cam.ac.uk/CambUniv/Societies/tolkien/
http://pick.sel.cam.ac.uk/


RE: Learning more/Linux programming books

1999-01-21 Thread Bruce Sass
On Wed, 20 Jan 1999, Steve Lamb wrote:

 On Wed, 20 Jan 1999 10:01:35 +0100, Antonio A. Rivas Ojanguren wrote:
 
 You can start with any language. For a complete beginner, I would advocate
 Scheme. Even if you don't want to do big projects in Scheme, you can start
 very fast. A good book on programming (using Scheme) is Structure and
 Interpretation of Computer Programs, Abelson/Sussman.
 
 I don't know, I think if there were a language to start newbies out on,
 it is perl.  Don't have to worry about many of the things that other
 languages force upon you yet gives you a good gounding in how those other
 languages work.

How does Python rate as a beginners language?


Re: RE: Learning more/Linux programming books

1999-01-21 Thread David Wright
Quoting Bruce Sass ([EMAIL PROTECTED]):

 How does Python rate as a beginners language?

Excellent. The manuals are excellent, free and, for once, you
can probably get away without the O'Reilly book. I find it much
easier to code cleanly than Perl (which I came from because Perl
was the only way of doing shell programming on DOS), and it's
the only language I've found which is as good for both quick-and-
dirty and real programming. It doesn't force OOP on you, yet
everything is an object.

For beginners, the tracebacks are excellent, and the way `thingy`
exposes everything is great. And you can try things out in the
interactive interpreter.

I've also found that the way in which unix (C) and the GUI (Tkinter,
written in tcl) are wrapped makes it easy, for example, to do
systems programming stuff from documentation written for C.

Cheers,

-- 
Email:  [EMAIL PROTECTED]   Tel: +44 1908 653 739  Fax: +44 1908 655 151
Snail:  David Wright, Earth Science Dept., Milton Keynes, England, MK7 6AA
Disclaimer:   These addresses are only for reaching me, and do not signify
official stationery. Views expressed here are either my own or plagiarised.


RE: Learning more/Linux programming books

1999-01-21 Thread Harrison, Shawn
 How does Python rate as a beginners language?

From the little I've looked at it, I'd say it's a good starting place. 
The syntax is clean, the organization logical, and the new learner can 
begin using OOP in his or her programming career. 

One could argue that *any* programming language could serve as a 
beginner's language. We all learn very complicated natural languages as 
children. Then, when we are older, we say, such and so other language is 
*so* difficult. And speakers of that language say the same thing about 
*our* language. I think the same applies. Each programming language has 
its own syntax and way of thinking. If you learn that syntax and 
thought-pattern from the beginning, it will be natural to you. 

I have been learning C from a book written for non-programmers -- it 
teaches both C and programming (Problem Solving and Program Design in C, 
by Jeri Hanly and Elliot Koffman -- I recommend it highly). This book 
does a fine job of teaching programming methods and C syntax, and the 
beginning programmer learns close to the machine, which has its own 
advantages (Python and Tcl, on the other hand, are purposely far from 
the machine, high-level languages). There are many such books for C, and 
I've seen them for C++ as well. It's no different than taking first-year 
biology, chemistry, physics, or calculus. If a person wants to learn 
programming, he or she can do it with just about any language (even 
assembler, I would argue). The difference will be in what the beginning 
programmer can *do* -- which varies dramatically among languages. So the 
question is, What language do you *want* to learn, based on what you want 
to *do*? 

==
[EMAIL PROTECTED] 
==



RE: Learning more/Linux programming books

1999-01-21 Thread Bruce Sass
On Thu, 21 Jan 1999, Harrison, Shawn wrote:

  How does Python rate as a beginners language?
 
 From the little I've looked at it, I'd say it's a good starting place. 
 The syntax is clean, the organization logical, and the new learner can 
 begin using OOP in his or her programming career. 

Excellent, I started (OOP anyways) with Python for those very reasons,
thanks.

 The difference will be in what the beginning 
 programmer can *do* -- which varies dramatically among languages. So the 
 question is, What language do you *want* to learn, based on what you want 
 to *do*? 

I have always figured that:
If you are a hardware kinda guy/gal, learn assembler and C;
for applications, learn some higher level languages.


later,

Bruce


RE: Learning more/Linux programming books

1999-01-21 Thread William Park


On Thu, 21 Jan 1999, Bruce Sass wrote:

 On Wed, 20 Jan 1999, Steve Lamb wrote:
 
  On Wed, 20 Jan 1999 10:01:35 +0100, Antonio A. Rivas Ojanguren wrote:
  
  You can start with any language. For a complete beginner, I would advocate
  Scheme. Even if you don't want to do big projects in Scheme, you can start
  very fast. A good book on programming (using Scheme) is Structure and
  Interpretation of Computer Programs, Abelson/Sussman.
  
  I don't know, I think if there were a language to start newbies out on,
  it is perl.  Don't have to worry about many of the things that other
  languages force upon you yet gives you a good gounding in how those other
  languages work.
 
 How does Python rate as a beginners language?

I would recommend Python www.python.org.



RE: Learning more/Linux programming books

1999-01-17 Thread Antonio A. Rivas Ojanguren
snip
I think that it is worth considering skipping the Pascal stage and
going straight to C, or equivalent languages. Taking this approach a bit
further, I think it is even worth considering going straight to C++,
perhaps
by talking first about the procedural aspects of C++ and only then, as a
second stage, talking about the OOP aspects.
snip

Are you crazy? He's a begginner and he wants learn programming not to get
mad.


Let me suggest a different angle toward this issue. You are interested in
learning more about programming the Linux system, right? Linux is written
in C -- not Pascal, not C++, for the most part. I am not disparaging
those languages, and in fact am more interested in using C++ than C.
Certainly the C++ advocates feel that you can just learn to program in
C++ to start with. But I decided to go ahead with C because I want to
understand the Linux system well.

How can you run if you don't know how to walk? If you want to learn
programming the best language is Pascal:
a) It's closer to the natural language than C and, of course, C++, and all
of us think in our own natural language (english, spanish, french, german,
etc...) and this is the first language we use when we develope a program.
b) It forces you to make a highly structured code. Bad programming habits
appears easier with C than with Pascal.

Learn C is not necessary the way to understand linux. To understand linux
you must know how to programm devices like controllers, video cards, sound
cards, etc..., and programm devices is something that you can do with Pascal
also.

Antonio A. Rivas[EMAIL PROTECTED]
STARTEG project - Oviedo (Spain)


Re: Learning more/Linux programming books

1999-01-17 Thread Marcus Brinkmann
On Sun, Jan 17, 1999 at 05:05:48AM +0100, Antonio A. Rivas Ojanguren wrote:
 snip
 I think that it is worth considering skipping the Pascal stage and
 going straight to C, or equivalent languages. Taking this approach a bit
 further, I think it is even worth considering going straight to C++,
 perhaps
 by talking first about the procedural aspects of C++ and only then, as a
 second stage, talking about the OOP aspects.
 snip
 
 Are you crazy? He's a begginner and he wants learn programming not to get
 mad.

I agree with him. Yes, he is a beginner. However, OO programming and
procedural programming are different enough. If you teach the bad habits you
get in C first, it is harder to change to a type safe and well organized OO
programming language. 

 How can you run if you don't know how to walk? If you want to learn
 programming the best language is Pascal:
 a) It's closer to the natural language than C and, of course, C++, and all
 of us think in our own natural language (english, spanish, french, german,
 etc...) and this is the first language we use when we develope a program.

This can also be a disadvantage, because programming _is_ much unlike
natural language. 

 b) It forces you to make a highly structured code. Bad programming habits
 appears easier with C than with Pascal.

Then you should advocate C++, because it is type safe and enforces much more
organization than C or Pascal. Procedural programming is more structured
than BASIC, but OO programming is much more structured than procedural
programming.
 
 Learn C is not necessary the way to understand linux. To understand linux
 you must know how to programm devices like controllers, video cards, sound
 cards, etc..., and programm devices is something that you can do with Pascal
 also.

This I agree with. However, reading C code written by experts requries some
understanding of C on its own.

You can start with any language. For a complete beginner, I would advocate
Scheme. Even if you don't want to do big projects in Scheme, you can start
very fast. A good book on programming (using Scheme) is Structure and
Interpretation of Computer Programs, Abelson/Sussman.

Marcus


-- 
Rhubarb is no Egyptian god.Debian GNU/Linuxfinger brinkmd@ 
Marcus Brinkmann   http://www.debian.orgmaster.debian.org
[EMAIL PROTECTED]for public  PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/   PGP Key ID 36E7CD09


Re: Learning more/Linux programming books

1999-01-16 Thread Harrison, Shawn
snip
I think that it is worth considering skipping the Pascal stage and 
going straight to C, or equivalent languages. Taking this approach a bit 
further, I think it is even worth considering going straight to C++, 
perhaps 
by talking first about the procedural aspects of C++ and only then, as a 
second stage, talking about the OOP aspects.
snip

Let me suggest a different angle toward this issue. You are interested in 
learning more about programming the Linux system, right? Linux is written 
in C -- not Pascal, not C++, for the most part. I am not disparaging 
those languages, and in fact am more interested in using C++ than C. 
Certainly the C++ advocates feel that you can just learn to program in 
C++ to start with. But I decided to go ahead with C because I want to 
understand the Linux system well.

==
[EMAIL PROTECTED] 
==



Re: Learning more/Linux programming books

1999-01-15 Thread shaul
 But I think Pascal is somewhat easier language to start with. 

I am aware to the fact that this is the common attitude. But I wonder if this 
is still valid these days. I mean, today using the computer and even 
programming is much more embedded in every days routines, especially when 
young people are involved, then 30 years ago. So people feel the computer 
and its abilities much more then before. They are also more used to it. Which 
is why I think that it is worth considering skipping the Pascal stage and 
going straight to C, or equivalent languages. Taking this approach a bit 
further, I think it is even worth considering going straight to C++, perhaps 
by talking first about the procedural aspects of C++ and only then, as a 
second stage, talking about the OOP aspects.




Re: Learning more/Linux programming books

1999-01-13 Thread Jiri Baum
Hello,

  What computer languages do I need to learn? 

As others have said, that depends on what you want to do...

If you are looking at particular files you want to understand, use the
`file' command to check what they are; or, if the first line starts with #!
it tells you directly (eg a file beginning with #!/usr/bin/perl is in the
PERL language; the file command will tell you it's `perl script text').

  In general if someone could point the direction.
 
 You've heard quite a few recommendations about C.  And I agree with that.
 But I think Pascal is somewhat easier language to start with. 

But it's not used nearly so often...

This really depends on what kind of area you want to learn - whether it's
programming (and what kind), or system administration, or what.


Oh yes, most of the difficulty of programming is not understanding the
language itself, but the mental discipline associated with getting what you
asked for, rather than what you meant.

 And don't write window manager.  Write some fun games where bad guys are
 chasing you on the screen.  You'll learn a lot.

I was going to agree with that, but then I realised that if everyone
followed that advice there'd be no Linux (if memory serves). So I don't
know. Obviously, mileage may vary.


HTH

Jiri


Re: Learning more/Linux programming books

1999-01-12 Thread Jameson Burt
 I did a few searches in user's archives and came up with the book
 Beginning Linux Programming.'  I read a review and it said it was for
 people who already have programming experience.  I have none.   I look
 at files and understand very little.  I would like to be able to
 understand the phrases in the files.  I'm very new to Linux, I have a
 few how to use linux books but am looking for something with a
 different slant.  I'm sorry if I am being a little vague here but I
 don't have the words.  I'm learning commands, I'm learning how to edit
 files but at some point I would like to be able to read files like I
 read books and maybe make a windows manager.  What books do I need to
 read?  What computer languages do I need to learn?  In general if
 someone could point the direction.
 Thanks,
 Kent
 

I gather you want to read files like those a Linux system administrator 
would read.
If you understand those files, you have learned a lot
[compared to the average world citizen, not to these Debian users]
You might consider
A Practical Guide to Linux, by Sobell
[Linus himself grew up on Sobell's A Practical Guide to Unix].
Consider also the Bash book about the bash shell by O'Reilly publishers.
There is also a book of just Linux commands, with brief descriptions,
also by O'Reilly publishers, Linux in a Nutshell as I recall.

Unless you are programming full time, rather that learning C, 
consider nothing.  Or, consider the scripting language perl,
which does much of what C does, handling words well [C handles characters 
well], though as a scripting language Perl won't be a speed demon.
You can get your hands fully around the Bash shell, but unless you program
full time, rather than try understanding every nook of C or Perl,
just lookup in a good book those commands you need for your programs only.

-- 
Jim Burt, NJ9L, Fairfax, Virginia, USA
[EMAIL PROTECTED]   http://www.mnsinc.com/jameson
[EMAIL PROTECTED]   (703) 235-5213 ext. 132  (work)

A poor man associating with a rich man will soon be too poor 
to buy even a pair of breeches.   --Chinese Proverb



Re: Learning more/Linux programming books

1999-01-12 Thread Mark Brown
On Mon, Jan 11, 1999 at 06:02:58PM +0100, Henning Makholm wrote:
 ktb [EMAIL PROTECTED] writes:

  I did a few searches in user's archives and came up with the book
  Beginning Linux Programming.'  I read a review and it said it was for
  people who already have programming experience.  I have none.

 Given that you use Linux you definitely want to program in C.
 Now, you can get beginner's C/C++ books by the truckload, but the
 majority of them have a definite Windows slant. I'd advise getting
 the original text: The C programming language, 2nd edition,
 by Brian Kernighan and Dennis Ritchie. It is brief enough not
 to bury the reader in system-dependent details, and by the
 time you've worked through it you should know enough to begin
 reading up on the Linux specific material.

Another book which is often suggested is K.N. King's C: A Modern Approach.
Some people find KR to be a bit heavy going - it depends on your
preferences in textbooks - and King takes it more gently.

Getting a Linux-specific book such as the one you found as well might
not hurt - it could provide a route into the documentation, and many
people prefer books for some things.

-- 
Mark Brown  mailto:[EMAIL PROTECTED]   (Trying to avoid grumpiness)
http://www.tardis.ed.ac.uk/~broonie/
EUFShttp://www.eusa.ed.ac.uk/societies/filmsoc/


pgpde59Ue1JHF.pgp
Description: PGP signature


Learning more/Linux programming books

1999-01-11 Thread ktb
I did a few searches in user's archives and came up with the book
Beginning Linux Programming.'  I read a review and it said it was for
people who already have programming experience.  I have none.   I look
at files and understand very little.  I would like to be able to
understand the phrases in the files.  I'm very new to Linux, I have a
few how to use linux books but am looking for something with a
different slant.  I'm sorry if I am being a little vague here but I
don't have the words.  I'm learning commands, I'm learning how to edit
files but at some point I would like to be able to read files like I
read books and maybe make a windows manager.  What books do I need to
read?  What computer languages do I need to learn?  In general if
someone could point the direction.
Thanks,
Kent


Re: Learning more/Linux programming books

1999-01-11 Thread Henning Makholm
ktb [EMAIL PROTECTED] writes:

 I did a few searches in user's archives and came up with the book
 Beginning Linux Programming.'  I read a review and it said it was for
 people who already have programming experience.  I have none.

Given that you use Linux you definitely want to program in C.
Now, you can get beginner's C/C++ books by the truckload, but the
majority of them have a definite Windows slant. I'd advise getting
the original text: The C programming language, 2nd edition,
by Brian Kernighan and Dennis Ritchie. It is brief enough not
to bury the reader in system-dependent details, and by the
time you've worked through it you should know enough to begin
reading up on the Linux specific material.

It is probably going to take some years before you are up to
programming window managers, which are rather intricate beasts.

A strong desire to program is needed, along with infinite supplies
of persistence and patience. That goes no matter how you start.

-- 
Henning Makholm
http://www.diku.dk/students/makholm


Re: Learning more/Linux programming books

1999-01-11 Thread Helge Hafting

 I did a few searches in user's archives and came up with the book
 Beginning Linux Programming.'  I read a review and it said it was for
 people who already have programming experience.  I have none.   I look
 at files and understand very little.  I would like to be able to
 understand the phrases in the files.  I'm very new to Linux, I have a
 few how to use linux books but am looking for something with a
 different slant.  I'm sorry if I am being a little vague here but I
 don't have the words.  I'm learning commands, I'm learning how to edit
 files but at some point I would like to be able to read files like I
 read books and maybe make a windows manager.  What books do I need to
 read?  What computer languages do I need to learn?  In general if
 someone could point the direction.

Make sure you know what you want first:

Do you want to be a linux programmer, i.e. write programs
that will run under linux?  Understand and possibly modify
the linux source code?  If so, learn the C programming language first.
You have a long way to go in this case.

Or do you merely want to use linux, be a linux administrator, 
be able to use  maintain a linux system without requiring lots of help?
You don't need to be a C programmer for this - you will want some
beginner's books on linux and learn about shell scripts.
(A shell script is a file containing mostly the same kind of commands
you can type on the command line - with some extensions.)

Note that linux comes with a lot of helpful documentation.  This is
useful by itself, or when there's something your books don't cover.
If you need information about a command, type man command
(i.e. man df for info on the df command and so on.)

Then there are the HOWTO files, usually installed for you when
linux is installed.  To use them, try these commands:
cd /usr/doc/HOWTO  (to get to where the HOWTO files are stored)
ls or ls | more(to see what files are available)
zcat Tips-HOWTO.gz | less(To read the Tips-howto, similiar for the other 
files)
 
I don't think you need to make a new window manager.  There are
plenty of them available, and they can usually be configured to
work the way you want.   You will need to be a reasonably good programmer 
before writing a new manager.  Setting up one of the existing ones
is much easier.  You will also need to be a good programmer if
you want to understand the linux source.   Understanding
the many configuration files are easier though.  The most important
ones are covered in books about linux, and many have online
manpages as well.  (man fstab will provide information enough
to understand the /etc/fstab file, for example.)

Helge Hafting




Re: Learning more/Linux programming books

1999-01-11 Thread Alexander Kushnirenko
Hi, Kent!

 read?  What computer languages do I need to learn?  In general if
 someone could point the direction.

You've heard quite a few recommendations about C.  And I agree with that.  But 
I think Pascal is somewhat easier language to start with.  It's based on my 
teaching experience of people who had absolutely no programming experience.  
IMHO taking C next will be less painful.  You know, you can almost read Pascal 
program like a sentences from the book (well to a certain extent of course), 
it's less likely with C.

Turbo Pascal is very good programming environment, especially build-in help. (I 
still use Turbo Pascal 6 for DOS).  Free Pascal is a Linux version which is 
very close to Turbo Pascal as a compiler.
http://www.brain.uni-freiburg.de/~klaus/fpc/

And don't write window manager.  Write some fun games where bad guys are 
chasing you on the screen.  You'll learn a lot.

Sasha.