From: Matthias
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <36wu0swz8og.fsf@hundertwasser.ti.uni-mannheim.de>
···········@hotmail.com (Edward Tate) writes:

> Optimally I'd like to be able to settle on a language now so that by
> the time I finish my degree I am most proficient in that.

Sorry, that's not a good idea.  Programming languages are just like
human languages: You need to speak (at least) one foreign language in
order to truly understand how your mother tongue works.

If you want to learn more generally how to reason about computations
and how to express them concisely, a good introductory textbook is
"Structure and Interpretation of Computer Programs" (available
online).  The authors use a Lisp dialect as teaching vehicle.

If you already know C++ Lisp would be a good next language to learn.
After that you'll find Python very easy to grasp as a Lisp-like
language with different syntax, more libraries, but some other
features laking.

From: Kaz Kylheku
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <cf333042.0410150846.125eb2d8@posting.google.com>
Matthias <··@spam.pls> wrote in message news:<···············@hundertwasser.ti.uni-mannheim.de>...
> ···········@hotmail.com (Edward Tate) writes:
> 
> > Optimally I'd like to be able to settle on a language now so that by
> > the time I finish my degree I am most proficient in that.
> 
> Sorry, that's not a good idea.  Programming languages are just like
> human languages: You need to speak (at least) one foreign language in
> order to truly understand how your mother tongue works.

Not really; to understand how your mother tongue works you need to
study linguistics, which you can do without becoming fluent in any
language.

This is analogous to computer scientists who know a lot about the
inner workings of a plethora of different kinds of programming
languages, yet can't write shippable software to save their lives.

The people who are actually masters of language---let's say succesful
writers and eloquent public speakers---are not always polyglots.
From: Edward Tate
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <8c94a7f0.0410160129.21422836@posting.google.com>
Thanks for the help everyone, I guess I have alot of studying to do!

Some friends and I are starting up a games development group, so that
during our years at University we can learn about programming, and
actually program games at the same time. Do you guys have any
suggestions as to what and how we should teach ourselves how to
program games properly? Maybe i'm asking an odd question, but it would
seem to me like you people would probably be the best to ask.

Thanks in advance!
From: Michael Naunton
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <slrncnblm5.21v.mmn@micron.bellatlantic.net>
On 16 Oct 2004 02:29:26 -0700, Edward Tate <···········@hotmail.com> wrote:
> Thanks for the help everyone, I guess I have alot of studying to do!
> 
> Some friends and I are starting up a games development group, so that
> during our years at University we can learn about programming, and
> actually program games at the same time.

Great idea.  Games are an excellent testbed for programming -- the only 
criterion for success is that other people enjoy (i.e. spend time) 
playing them.  Don't spend more than a week on any one game (ideally, spend
a day or less.)  Create toy games that make your friends laugh, or moan, or
cry.  See what works and what doesn't.  Play each others' games.  Read the
source code.  Discuss with each other.

>  Do you guys have any
> suggestions as to what and how we should teach ourselves how to
> program games properly? 

Proper games work and are fun to play.  That's all.  Bestselling games 
are a lot harder... you're part of a big team of managers, artists,
marketeers, and storytellers.  The people paying for the project don't
want programmers on the critical path:  a game can still be playable with
mediocre art, but mediocre code is a product killer.

20 years ago (Asteroids,) the programmer was all that mattered. 10 years 
ago (Doom,) a lone prgrammer could drive a bestseller.  Today, she's just
a useful part of team:  the engine behind Doom III or Leisure Suit Larry
is basically the same (put some 3d models on the screen.)  In four years
time, the games programmer will be a specialist:  think the special effects
guru rather than the cinematographer.  Expect the game world to be specified
as an XML document runnable be many graphics engines with programmers just
adding a little pizazz to certain scenes.

That said, there will always be niche jobs:  someone needs to write the
next great light/shadow engine;  someone needs to write the great XML to
vertex shader code compiler, etc.  

If you want to write games, teach yourself (or take courses in) these:

Computer Science - the more the better.
Art/Film - games are going more here each year.  Learn the basics.
Econ/Sociology/PolSci - these are the themes.  Understand them.
Math/Phyics - if you don't understand googled papers on 3d graphics/particle
  physics/physical modeling, this is where to start.
History - lot of stuff happened in the past - beats pointless SciFi 
  randomness.

Most of all, just go to the library every few days:  close your eyes, pick
a book, read it, and make a game out of the ideas you find in it.

> Maybe i'm asking an odd question, but it would
> seem to me like you people would probably be the best to ask.

Maybe - a lot of us are game programmer wannabes (in the sense that we 
write code that others enjoy, and would actually write games if the 
numbers would just add up.)

> Thanks in advance!

Hope this helps,
MMN
From: ··········@hotmail.com
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <f7afbb21.0410161111.d92aa79@posting.google.com>
Matthias <··@spam.pls> wrote in message news:<···············@hundertwasser.ti.uni-mannheim.de>...
> ···········@hotmail.com (Edward Tate) writes:
> 
> > Optimally I'd like to be able to settle on a language now so that by
> > the time I finish my degree I am most proficient in that.
> 
> Sorry, that's not a good idea.  Programming languages are just like
> human languages: You need to speak (at least) one foreign language in
> order to truly understand how your mother tongue works.
> 
> If you want to learn more generally how to reason about computations
> and how to express them concisely, a good introductory textbook is
> "Structure and Interpretation of Computer Programs" (available
> online).  The authors use a Lisp dialect as teaching vehicle.

Scheme deserves a bit more honesty. Lets spout it: the allegd Lisp
dialect is called "Scheme".

I am not sure what people mean when they write that they are computer
science students; I have seen people calling themself computer science
students when they just were learning programming (I have never seen a
nurse calling herself a doctor).

If I were asked: the original poster should forget crap Python. If he
really happens being a computer science student, then, he will be
better off learning and studying "functional programming". Your book
advice is surely a good step in that direction.

I mean functional programming and algorithms are  intellectually
challenging for a computer science student but no Python.

But there exists still the mircale: why Python happend; why people are
attracted by crap; and most importantly: why a lot of scientists and
physicists are bound to shit Python. Nobody can tell me that a normal
beeing would chose Python over Scheme or CommonLisp for that matter.
Okay, the debate whether humans posses consciousness is still not
settled.

Fensterbrett
From: Karl A. Krueger
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <ckugjh$2op$1@baldur.whoi.edu>
··········@hotmail.com wrote:
> I am not sure what people mean when they write that they are computer
> science students; I have seen people calling themself computer science
> students when they just were learning programming (I have never seen a
> nurse calling herself a doctor).

It isn't the fault of the students.  There are plenty of schools and
universities teaching programming and calling it "computer science".

I once took a computer science course which was (unofficially) subtitled
"This Is Not a Programming Course".  DFAs, Turing machines, parse trees,
logic proofs, stacks, some number theory -- and a little bit of Scheme
where needed.

-- 
Karl A. Krueger <········@example.edu> { s/example/whoi/ }

Every program has at least one bug and can be shortened by at least one line.
By induction, every program can be reduced to one line which does not work.
From: Förster_vom_Silberwald
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <57bdfd5d.0410190402.742ef091@posting.google.com>
"Karl A. Krueger" <········@example.edu> wrote in message news:<············@baldur.whoi.edu>...

> It isn't the fault of the students.  There are plenty of schools and
> universities teaching programming and calling it "computer science".
> 
> I once took a computer science course which was (unofficially) subtitled
> "This Is Not a Programming Course".  DFAs, Turing machines, parse trees,
> logic proofs, stacks, some number theory -- and a little bit of Scheme
> where needed.

I wouldn't like to sound patronizing and all that things, but I think
computer science deserves a bit more respect in general from
programmer Joe Average.

I understand under a computer scientist a man (or nowadays wowan even)
who enters university by age 18 and completes his Master thesis by age
25. And then he is studying 3 to 5 years for his PhD. After that term
and graduation he may represent the branch computer science (or
physics, or biology when speaking of other related fields and their
PhD graduation policies).

In Europe the /first/ grad which one can obtain at the university is
the Master (typically after 5 to 7 years; you enter university at age
18 or 19). That qualifies him for a PhD position. We do not have
Bachelors yet (I think that is good so).

Programming is hard and challenging. Nobody should deny that.
Programming is also very fascinating and an important tool for a
computer scientist; but nobody would call a mechanic an engineer. And
no mechanic would think of his work as some sort of tasks which
consist of engineering; or that he is doing the same things as an
engineer does.

Maybe Pascal should post some thougts what a computer scientist
actually is doing.

A bit more respect please for the different branches of science. 

F�rster vom Silberwald
PS: And no I am not a computer scientist.
From: Marco Antoniotti
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <RYadd.20$u5.35356@typhoon.nyu.edu>
F�rster_vom_Silberwald wrote:

> 
> In Europe the /first/ grad which one can obtain at the university is
> the Master (typically after 5 to 7 years; you enter university at age
> 18 or 19). That qualifies him for a PhD position. We do not have
> Bachelors yet (I think that is good so).

Please note that the situation varies a lot from country to country. 
Italy has recently introduced what amount to Bachelor degrees.  Of 
course in the process, things got messy, but hey, we are below the Alps, 
with the first "Televisionist" Government in history.

Cheers
--
Marco
From: Christopher C. Stacy
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <ur7nurazl.fsf@news.dtpq.com>
Whether to assign "respect" to a field based on it's name is  dubious, 
and It's also highly suspicious whether fields with the word "science"
in their names are, in fact, "science".  I would suggest that there
are various overlapping areas of the study and practice of using
computers, involving engineering techniques, artistry, and mathematics.
From: George Neuner
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <301cn0tapthv1td55m36nqnbtbkvaj0c6v@4ax.com>
On Tue, 19 Oct 2004 15:19:58 GMT, ······@news.dtpq.com (Christopher C.
Stacy) wrote:

>I would suggest that there are various overlapping areas of 
>the study and practice of using computers, involving engineering
>techniques, artistry, and mathematics.

Which makes the practice of "computer science" virtually
indistinguishable from sorcery  8-)

George
-- 
for email reply remove "/" from address
From: David Steuber
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <87pt3c4lyr.fsf@david-steuber.com>
George Neuner <·········@comcast.net> writes:

> On Tue, 19 Oct 2004 15:19:58 GMT, ······@news.dtpq.com (Christopher C.
> Stacy) wrote:
> 
> >I would suggest that there are various overlapping areas of 
> >the study and practice of using computers, involving engineering
> >techniques, artistry, and mathematics.
> 
> Which makes the practice of "computer science" virtually
> indistinguishable from sorcery  8-)

Should I start calling my programs cantrips?

-- 
An ideal world is left as an excercise to the reader.
   --- Paul Graham, On Lisp 8.1
From: George Neuner
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <srpfn0po5cj3u70il68nhonojrfc7d65dp@4ax.com>
On 21 Oct 2004 02:35:56 -0400, David Steuber <·····@david-steuber.com>
wrote:

>Should I start calling my programs cantrips?

Cantrips are weak, elemental spells that require either close
proximity or actual physical contact with the target.  In order for
your programs to work, you would have to deliver yourself with them.

George
-- 
for email reply remove "/" from address
From: David Steuber
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <871xfpszyg.fsf@david-steuber.com>
George Neuner <·········@comcast.net> writes:

> On 21 Oct 2004 02:35:56 -0400, David Steuber <·····@david-steuber.com>
> wrote:
> 
> >Should I start calling my programs cantrips?
> 
> Cantrips are weak, elemental spells that require either close
> proximity or actual physical contact with the target.  In order for
> your programs to work, you would have to deliver yourself with them.

So you are familiar with my programming then.

-- 
An ideal world is left as an excercise to the reader.
   --- Paul Graham, On Lisp 8.1
From: Dirk Gerrits
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <8765561rk7.fsf@dirkgerrits.com>
·················@yahoo.de (F�rster_vom_Silberwald) writes:

> In Europe the /first/ grad which one can obtain at the university is
> the Master (typically after 5 to 7 years; you enter university at age
> 18 or 19). That qualifies him for a PhD position. We do not have
> Bachelors yet (I think that is good so).

That depends on the country I guess.  Here in the Netherlands, the
Bachelor degree is very much here today (although it hasn't been for
very long), and can be obtained from both 'hogescholen' and
universities.  With your Bachelor's degree (obtained from either kind of
institution) you can go to a university to try to obtain your Master's
degree.

Here at the Eindhoven University of Technology, there's a 3 year
Computer Science Bachelor program and several 2 year Computer Science
Master programs.  The latter are all in English, the former in Dutch.

Kind regards,

Dirk Gerrits
From: Robert Strandh
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <6wvfd6100a.fsf@serveur5.labri.fr>
·················@yahoo.de (F�rster_vom_Silberwald) writes:

> In Europe the /first/ grad which one can obtain at the university is
> the Master (typically after 5 to 7 years; you enter university at age
> 18 or 19). That qualifies him for a PhD position. We do not have
> Bachelors yet (I think that is good so).

As others pointed out, this is not true in general for Europe.  

In fact the Bologna convention (which the EU countries have agreed to
follow) stipulates the existence of 3 university diplomas, the first
one after three years of study (it is called Licence here in France),
the second one after five years of studies (a Masters degree) and the
third after approximately eight years of study (a PhD).  

I take it your country has not yet implemented the convention.
-- 
Robert Strandh

---------------------------------------------------------------------
Greenspun's Tenth Rule of Programming: any sufficiently complicated C
or Fortran program contains an ad hoc informally-specified bug-ridden
slow implementation of half of Common Lisp.
---------------------------------------------------------------------
From: Siegfried Gonzi
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <41760F4F.A64F3312@stud.uni-graz.at>
Robert Strandh wrote:

>
> As others pointed out, this is not true in general for Europe.
>
> In fact the Bologna convention (which the EU countries have agreed to
> follow) stipulates the existence of 3 university diplomas, the first
> one after three years of study (it is called Licence here in France),
> the second one after five years of studies (a Masters degree) and the
> third after approximately eight years of study (a PhD).
>
> I take it your country has not yet implemented the convention.

Hi:

I think the original poster stems from Germany or Austriam or
(Switzerland). Surely, they (the former two) will agree on any
EU-regulations. But what I have seen thus far: there is a lot of
resistance especially from natural sciences branches. The business science
branches quickly adopted the new scheme.

I can only speak from my own experience: the most important experience in
my life is my PhD (which is paid). That is not from an elitist point of
view; it is that I get a bit a feeling how the science circus actually
works (and yes I have often a lot of problems with reviewers and the peer
review scheme, because there exists insane guys in science which you do
not want to meet at the supermarket).

And yes: software engineering and programming is /hard/. Everybody
mastering C++ or CommonLisp, (I do not either) can be proud of it because
he has completed (and still is completing) a challenging task.

Fensterbrett



>
From: Tayssir John Gabbour
Subject: Re: Python & C++ and Lisp questions
Date: 
Message-ID: <1098257994.419453.129350@z14g2000cwz.googlegroups.com>
Siegfried Gonzi wrote:
> And yes: software engineering and programming is /hard/. Everybody
> mastering C++ or CommonLisp, (I do not either) can be proud of it
because
> he has completed (and still is completing) a challenging task.

In many ways, Common Lisp, like any other language, is just a glorified
operating system. Those of us who talk endlessly about it (like myself)
fetishize it beyond all sense.

Really, life is hard. Or at least it can be depending on what you want
to do. There's a picture of this guy they like to show at Slashdot,
which used to be hosted at goatse.cx, and that guy certainly obtained a
challenging mastery of something. If you want to be proud of him, I'd
consider you openminded, but pride is not personally my first reaction.
MfG,
Tayssir