Re: Should we still be learning this?

2006-02-19 Thread Felipe Almeida Lessa
Em Sáb, 2006-02-18 às 15:13 +0200, Max escreveu:
  I wonder if they need some updating.
  
 
 And so does Dive Into Python (our textbook, diveintopython.org) which 
 has the same deficiencies in its outline.

Are they being *paid* for teaching? Then they should overcome this issue
of Dive Into Python by either using their own material our by improving
Dive Into Python and giving it back to the community.

-- 
Quem excele em empregar a força militar subjulga os exércitos dos
outros povos sem travar batalha, toma cidades fortificadas dos outros
povos sem as atacar e destrói os estados dos outros povos sem lutas
prolongadas. Deve lutar sob o Céu com o propósito primordial da
'preservação'. Desse modo suas armas não se embotarão, e os ganhos
poderão ser preservados. Essa é a estratégia para planejar ofensivas.

  -- Sun Tzu, em A arte da guerra

-- 
http://mail.python.org/mailman/listinfo/python-list

Re: Should we still be learning this?

2006-02-19 Thread Max
Felipe Almeida Lessa wrote:
 Em Sáb, 2006-02-18 às 15:13 +0200, Max escreveu:
 
I wonder if they need some updating.


And so does Dive Into Python (our textbook, diveintopython.org) which 
has the same deficiencies in its outline.
 
 
 Are they being *paid* for teaching? Then they should overcome this issue
 of Dive Into Python by either using their own material our by improving
 Dive Into Python and giving it back to the community.
 

Indeed they are. It is a university course. It doesn't actually cover 
anything I don't know, but it's a choice between relearning Java and 
relearning Python (since I plan to major in computer science, I have to 
do first year)

--Max
-- 
http://mail.python.org/mailman/listinfo/python-list

Re: Should we still be learning this?

2006-02-19 Thread Max
John Zenger wrote:
 Don't overly concern yourself with your course being 100% up to date. 
 When learning programming, the concepts are what is important, not the 
 syntax or libraries you happen to be using.  Even if they were to teach 
 you the latest and greatest features of 2.4.2, that would be out of date 
 in a few months/years when the next version comes along and the Python 
 gods decide to deprecate the entire os module or something.
 

All of us know how to program: the idea is that those who got more than 
70% for Java in high school can learn a second language instead of doing 
Java all over again.

 
 And BTW, map and filter are such useful concepts that it makes sense to 
 teach them to students even if they will one day be deprecated in 
 Python.  If you want to teach yourself Haskell or a Lisp dialect (and 
 you should!), knowing those concepts will come in very handy.
 

True. But I think list comprehensions are also damn useful (and AFAIR, 
Haskell has them too).

I already know some Scheme (I've played the game Lists And Lists, a 
Scheme tutorial, and used the GIMP's script-fu). I have tried to learn 
Haskell, but - though I think I understand everything I read on it - I 
can't get my programs to run.

--Max
-- 
http://mail.python.org/mailman/listinfo/python-list


Should we still be learning this?

2006-02-18 Thread Max
On monday I start a semester course in Python (the alternative was 
Java). I was looking through the course outline and noticed the following:

1) UserDict is used. This is deprecated, right?
2) There is no mention of list comprehensions, but map and filter are 
taught early and then revisited later. I don't think this is good: list 
comprehensions are, IMO, one of Python's great features, Psyco prefers 
them, they're more pythonic, and map and filter seem to be going out the 
window for Python 3000.

What do you think?

--Max
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Should we still be learning this?

2006-02-18 Thread Felipe Almeida Lessa
Em Sáb, 2006-02-18 às 14:38 +0200, Max escreveu:
 On monday I start a semester course in Python (the alternative was 
 Java). I was looking through the course outline and noticed the following:
 
 1) UserDict is used. This is deprecated, right?

LOL... it's the first time I see someone talking about this module.

/me checks the documentation.

Yep, looks like this module is deprecated since Python 2.2.

 2) There is no mention of list comprehensions, but map and filter are 
 taught early and then revisited later. I don't think this is good: list 
 comprehensions are, IMO, one of Python's great features, Psyco prefers 
 them, they're more pythonic, and map and filter seem to be going out the 
 window for Python 3000.

Urgh. This sucks. Did they mention generators, at least? Sometimes list
comprehensions are even faster (I didn't check, but I think this one can
be an example of this: [i*2+2 for i in iterator] vs. map(lambda x: x*2
+2, iterator)).

They should have taught both.

 What do you think?

I wonder if they need some updating.

 --Max

Just my two cents,
Felipe.

-- 
Quem excele em empregar a força militar subjulga os exércitos dos
outros povos sem travar batalha, toma cidades fortificadas dos outros
povos sem as atacar e destrói os estados dos outros povos sem lutas
prolongadas. Deve lutar sob o Céu com o propósito primordial da
'preservação'. Desse modo suas armas não se embotarão, e os ganhos
poderão ser preservados. Essa é a estratégia para planejar ofensivas.

  -- Sun Tzu, em A arte da guerra

-- 
http://mail.python.org/mailman/listinfo/python-list

Re: Should we still be learning this?

2006-02-18 Thread Max
Felipe Almeida Lessa wrote:
 Em Sáb, 2006-02-18 às 14:38 +0200, Max escreveu:
 
 Urgh. This sucks. Did they mention generators, at least? Sometimes list
 comprehensions are even faster (I didn't check, but I think this one can
 be an example of this: [i*2+2 for i in iterator] vs. map(lambda x: x*2
 +2, iterator)).
 

No mention of generators in the outline.

 They should have taught both.
 
 
What do you think?
 
 
 I wonder if they need some updating.
 

And so does Dive Into Python (our textbook, diveintopython.org) which 
has the same deficiencies in its outline.

 
 Just my two cents,
 Felipe.
 

Thanks,
Max
-- 
http://mail.python.org/mailman/listinfo/python-list

Re: Should we still be learning this?

2006-02-18 Thread John Zenger
Don't overly concern yourself with your course being 100% up to date. 
When learning programming, the concepts are what is important, not the 
syntax or libraries you happen to be using.  Even if they were to teach 
you the latest and greatest features of 2.4.2, that would be out of date 
in a few months/years when the next version comes along and the Python 
gods decide to deprecate the entire os module or something.

Syntax and libraries change; just roll with it.  When you are a student, 
the important thing is learning the mental skills of how to put it all 
together.  When I was a wee lad, they taught me Pascal, a language that 
is now as dead as Latin, but I now realize that the language did not 
matter; all that mattered was that I learned the basics of how to design 
and put together a program in a (procedural) language.  Once I knew 
that, it was a cinch to teach myself C in an afternoon, and only 
slightly tougher to learn C++ and then Java.

Python is a good teaching language because by learning one language you 
learn three major programming paradigms: procedural, OO, and functional. 
  It doesn't matter if, three years from now, a Dark Age descends upon 
the land and Python becomes as extinct as Pascal.  If your course was 
decent, you spent your time learning programming, not just learning 
today's syntax and libraries, and you'll be able to learn Microsoft 
Visual C#++.Net.Com.Org or whatever other language happens to be 
fashionable in the future.

And BTW, map and filter are such useful concepts that it makes sense to 
teach them to students even if they will one day be deprecated in 
Python.  If you want to teach yourself Haskell or a Lisp dialect (and 
you should!), knowing those concepts will come in very handy.

Max wrote:
 On monday I start a semester course in Python (the alternative was 
 Java). I was looking through the course outline and noticed the following:
 
 1) UserDict is used. This is deprecated, right?
 2) There is no mention of list comprehensions, but map and filter are 
 taught early and then revisited later. I don't think this is good: list 
 comprehensions are, IMO, one of Python's great features, Psyco prefers 
 them, they're more pythonic, and map and filter seem to be going out the 
 window for Python 3000.
 
 What do you think?
 
 --Max
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Should we still be learning this?

2006-02-18 Thread B Mahoney
I was initally annoyed that Dive into Python has the UserDict, but it
was so
easy to discover it was deprecated
http://docs.python.org/lib/module-UserDict.html
(althought the term 'deprecated' is not specifically used), that anyone
on the
ball (the OP seemed to know) would not based their next big project on
UserDict.

I agree that Python has so many good concepts, and improvements with
each new version, that something in a course will be outdated. I can
concur
that knowing Python made it much easier to go back to C++ and Java and
understand the OO.

My tip for an book on Python with only the latest information, nothing
beats the Python Pocket Reference, 3rd edition,  (O'Reilly) which
is updated for  2.4 and seems to clearly label any deprecated features.

-- 
http://mail.python.org/mailman/listinfo/python-list