Archived from groups: rec.games.roguelike.nethack (
More info?)
On Wed, 6 Jul 2005, Cyde Weys wrote:
> As for C and Pascal, they are somewhat similar. I don't know what C64 is.
> And Pascal isn't dead ... I'm 19 years old now and I actually had to learn
> it to (for all things) program a robot in highschool.
Just a few words on the C vs Pascal goo ol' fight:
I think that Pascal is a great language for teaching basis in
programmation because it's very very structured and strict about
everything, among other things typing. Plus it's imperative which is much
more easy to understand at beginning that functionnal languages since
recursivity is a great thing but hard to grasp (this year, I had to teach
Ocaml to first year student as their first programming course. That was
kind of awfull). But I don't know if Pascal is widely use "in industry".
C is certainly much more used but has not so much to do with Pascal. Its
syntax is absolutely awfull and its laxism rather anoying. Plus no garbage
collector is a real pain for beginners.
Of course, you *can* program in a very structured way in C (much like in
Pascal) but you're not forced to. That's why I think people should learn
Pascal (or similar) before C (or Java or similar): to learn the good
habits and then see the bad ones.
Both Pascal and C miss things such as automatic type inference which, when
I started using it (that is switch from Pascal to Caml when I was 18)
divided my debugging type by 3 or 4. Type inference is good
(that is, instead of saying
int f(int a, int b) {return a+b;}
you'll say
let f(a,b) = a+b;;
and the compiler will say
f : int*int -> int)
Concerning sourcediving to learn C, well, this seems rather hard. I think
that you [that is, the OP] will need at least basis in C such as the
awfull syntax and strange constructions. A good knowledge in algorithmics
(but I can assume you have that from your Pascal knowledge) will, of
course, help. Of course, carreful reading of doc/sources.txt is required.
Concerning C compiler for windows, google c compiler windows give a lot of
answer, certain said to be "free", so you may want to try these. Global
devellopement environment under windows may be more convenient to use that
good ol' vi(emacs)/gcc under Linux since you will automatically have some
..h browsing, error tracking or other similar things (well, I guess there
also exists global environment for linux). I've seen Borland's environment
for Java and it looks rather nice too use. I guess similar stuff exists
for C.
Actually, thinking about it, I think that Borland freely distribute its
developement tools. You may want to look for their page.
Hypocoristiquement,
Jym.