-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Alan Gauld wrote: > "Tiger12506" <[EMAIL PROTECTED]> wrote > >> Some people need degrees, most people don't. It all depends on what >> they are >> capable of understanding. > > It also depends what they are doing. > Most programmers don't build complex state machines, nor do they > build safety critical systems. 90% or more of all programs don't > need a degree, but somecthings do need formal training and the > language is basically irrelevant. degrees dopnm;t teach languages, > they teach the underlying theory. Exactly. That's also why CS is not a major for everyone. My university when I had the priviledge had an awful portion of mathematics. (My motto was, that the only way to have more math courses would be to study something with mathematics in the title *g*) Worse from the perspective of many students that expected to learn "programming" was the fact, that you were expected to know programming already. Or learn it in your own spare time. Well, the official party line was that one does not need any knowledge beforehand, but the reality was slightly different. And the reality is that learning a programming language has always been a trivial thing. (These graphical IDE stuff is hard. Nobody takes away my emacs/vi :) ) > >> understanding of what else is out there. Python's standard library >> is >> 'newbie-friendly'. If you doubt it, try emulating what you can >> already do in >> python in another language. > > Actually you an do what you do in Python in practically any general > purpose > language, it just takes a few more lines of code (OK a lot more lines > in > some cases) But Pythons library is not newbie friendly, sorry. How > does > a newbie know when to use pickle v cpickle? or urllib v urllib2? And > which > of the xml parsers? And as for thev mess that is glob/os/path/shutil? Well, personally that's where the missing formal training and experience shows. Ok, don't talk about urllib/urllib2, it's a mess. OTOH, it's really hard to clean up, because changing/removing names in these old legacy modules would break existing code. (And the correct answer for URL retrieval is neither urllib/urllib2, it's pyCurl ;) ). The cPickle/Pickle question is AFAIR documented, BUT other pitfalls with Pickles in general are not. And one needs different XML parsers, well, simple, because parsing XML is not a problem with one single perfect solution, so one needs to select the perfect one. OTOH, as a newbie, it really does not matter if one uses urllib or urllib2. It does not really matter which XML parser one uses, usually. And the only drawback of choosing Pickle over cPickle might be performance. Sometimes an issue for newbies, but often not. > Its not clear to me even after 10 years of using Python which function > sits where and why. And what about the confusion over system(), > popen(),commands(),spawn(), subprocess() etc. or why is there time Mistakes of history. Plus a number of these warts come from the ports to certain inferior operating systems. And really hard to fix, because it involves breaking compatibility, in a way that might lead to subtle runtime bugs. time versus datetime is easy to understand => time is POSIX time management functions, while datetime is a generic language specific data type meant to represent dates, timestamps, etc. > and datetime? Sure it makes sense once you've played with Python > for a while it makes some sense and you learn the role of history. > But for a newbie thats not a friendly scenario ad many other languages > are far better organised - Smalltalk being one example! And the C++ > standard > library is another. Even the Java standard library, much as I dislike > Java, is > better organised and more consistent! You think that there are no overlapping APIs in Java? Historic "mistakes"? Andreas -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGqlAtHJdudm4KnO0RAqdGAKDpljkn5MrKzK6HPqOpQYZQmR3ybQCfRUx1 WSQWeILzgfhpHl0iGBadSss= =egdH -----END PGP SIGNATURE----- _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor