Re: Should we still be learning this?
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
Re: Should we still be learning this?
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?
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?
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
Re: Should we still be learning this?
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?
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?
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
Should we still be learning this?
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