By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,235 Members | 1,008 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,235 IT Pros & Developers. It's quick & easy.

Python too complex ?!?!?!

P: n/a
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.

I am a low-end (3-year) journeyman Pythonista, and I
was attracted to the language because of its
simplicity. And I have come to enjoy the richness of
available libraries.

Many of the good people of this NG may be 'too close'
to answer, but has Python, as a general devel platform,
lost its simplicity ? Is library install too complex
and unreliable ? Will my dog go to heaven ?
Nov 17 '07 #1
Share this Question
Share on Google+
25 Replies


P: n/a
On Nov 17, 1:46 pm, Brian <not_here@no_where.comwrote:
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.

I am a low-end (3-year) journeyman Pythonista, and I
was attracted to the language because of its
simplicity. And I have come to enjoy the richness of
available libraries.

Many of the good people of this NG may be 'too close'
to answer, but has Python, as a general devel platform,
lost its simplicity ? Is library install too complex
and unreliable ? Will my dog go to heaven ?
It would be nice to have more info on his specific problems. Me, I
find both Activestates and the official Python wiundows installers
just work.

- Paddy.
Nov 17 '07 #2

P: n/a
On Nov 17, 7:46 am, Brian <not_here@no_where.comwrote:
This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python.
If his students have problems installing Python on Windows, show him
this.

http://tinyurl.com/w7wgp

It can't get any easier.

rd
Nov 17 '07 #3

P: n/a
I dunno about your dog :) but Python libs are not too demanding. From a
Gnu/Linux pov with package managers things are quite simple.

My wish is to find a way to make that even easier because the packaged
modules are not always up to date.

If the Cheese Shop could supply downloads of modules and we could stick on a
gui interface that wraps around import statements to guide the installation
of any missing packages -- that would be progress.

If you are online and the app runs, it can check the "freshness" of your
modules (those called from the app and recursively) and offer to fetch the
latest stable versions.

The gui is an issue. Does one TK or rely on some fall-back system of
gnome/kde/x11/windows dialogue boxes (ending in abject failure by way of
raw_input on the command line)? Or (perhaps) have it fetch a standard
dialogue library which would fetch and install what is needed for future
occasions.

Anyway, this is a bit of a hijack and I have not touched C# in any way, but
I don't think Python has anything to be ashamed of.*

/d

* Okay, maybe decorators but that's just because I am far too thick to grok
them :D
Nov 17 '07 #4

P: n/a
On Nov 17, 8:25 am, Donn Ingle <donn.in...@gmail.comwrote:
I dunno about your dog :) but Python libs are not too demanding. From a
Gnu/Linux pov with package managers things are quite simple.

My wish is to find a way to make that even easier because the packaged
modules are not always up to date.

If the Cheese Shop could supply downloads of modules and we could stick on a
gui interface that wraps around import statements to guide the installation
of any missing packages -- that would be progress.
Interesting idea, although it's not something I'd want included and
turned on by default. Should certainly be possible, though, with a
little __import__ magic.
If you are online and the app runs, it can check the "freshness" of your
modules (those called from the app and recursively) and offer to fetch the
latest stable versions.
Something similar to Java's webstart? Implement an __import__ hook
that downloads and caches the latest (stable) versions of libraries as
needed.
The gui is an issue. Does one TK or rely on some fall-back system of
gnome/kde/x11/windows dialogue boxes (ending in abject failure by way of
raw_input on the command line)? Or (perhaps) have it fetch a standard
dialogue library which would fetch and install what is needed for future
occasions.
You wouldn't really *need* a GUI, although it probably should be a
configurable option ... so the user can keep tabs on, and more control
over, what's going on. No reason why it couldn't be totally
automated. easy_install already provides for automated installation
of python apps/libraries, so you could build off that.
Anyway, this is a bit of a hijack and I have not touched C# in any way, but
I don't think Python has anything to be ashamed of.*

/d

* Okay, maybe decorators but that's just because I am far too thick to grok
them :D
It seems there are a number of people who don't grok decorators.
While getting to know how they work underneath does require some
careful reading and out-of-the-box thinking, it's only really
necessary to understand them at this level if you want to actually
implement a decorator. Merely using decorators is, IMHO, much easier
to understand (but still requires a slight brain-warp). I think some
people try to understand decorators too completely too quickly, and
end up labeling them one of those complex/unintuitive/"way out"
things.

--Nathan Davis
Nov 17 '07 #5

P: n/a
Interesting idea, although it's not something I'd want included and
turned on by default. Should certainly be possible, though, with a
little __import__ magic.
Well, since we're shooting the sh*t :), I tried in my one and only released
app (Fonty Python) to wrap the imports in try clauses and then print
helpful strings to the console to guide the user.
I'm really not too clued-up on the __deep__ magic of Python, so I can't say
what tricks there are, but a simple "catch a fail and then start a
solution" process is a general approach.
>If you are online and the app runs, it can check the "freshness" of your
modules (those called from the app and recursively) and offer to fetch
the latest stable versions.
Something similar to Java's webstart? Implement an __import__ hook
that downloads and caches the latest (stable) versions of libraries as
needed.
I have also never touched Java, so I can't say, but something like that.
The main problem with having modules coming from the web is time. How long
is the life of a URL? The Cheese Shop seems pretty well established and
could serve the role. Perhaps there are already ways of making sure that a
hard-coded link in an app can reach a variable URL online.
You wouldn't really *need* a GUI, although it probably should be a
configurable option ...
I'd agree, but then I grew up with commands lines. I can say with total
confidence that the command-line scares a lot of people and if there are
any questions that need answering during the automated process (and there's
always *something* that crops up ) then a gui is the natural way to reach
the user.
No reason why it couldn't be totally
automated. easy_install already provides for automated installation
of python apps/libraries, so you could build off that.
Totally automated would be the goal. I'd say a throbber or progress
animation of some kind would be needed.

Just thought of a wrinkle - say a new module is available and is installed
and then proves to be broken. How can the app recover? There'd have to be a
system of flags in a db that mark the situation and on re-run can roll back
to the last working module. Then we get feedback to the author of the
module....

And let's not forget all the joy that can be spread by having to compile
modules (on various platforms) from C/C++ and then worry about *their*
dependant libraries!

Oh fun times :p

(I think I can see why this has never been approached.)
Merely using decorators is, IMHO, much easier
to understand (but still requires a slight brain-warp).
I'm still stuck with those things. I can't really find an example that I
want to use. My brain keeps saying "yeah, but that's so smoke and mirrors
and I could do it this way ... which seems much plainer."
I think some
people try to understand decorators too completely too quickly, and
end up labeling them one of those complex/unintuitive/"way out"
things.
I have put them in the bag along with Design Patterns and Threads as "things
that I don't have to worry about because liff is too short. And like the
Spanish Inquisition, they're welcome to surprise me when I least expect it,
but I'm not going to lose my mind waiting :D

/d

Nov 17 '07 #6

P: n/a
Paddy wrote:
On Nov 17, 1:46 pm, Brian <not_here@no_where.comwrote:
>Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python.
He has a point. Many Python enthusiasts are in denial about this,
but, face it, the binary library situation isn't in good shape.

Try running something that needs, say, MySQL and OpenSSL on a
shared hosting server and see how far you get. Or try to install
the same set of modules on both Linux and Windows.

John Nagle
Nov 18 '07 #7

P: n/a
Brian wrote:
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.

I am a low-end (3-year) journeyman Pythonista, and I
was attracted to the language because of its
simplicity. And I have come to enjoy the richness of
available libraries.

Many of the good people of this NG may be 'too close'
to answer, but has Python, as a general devel platform,
lost its simplicity ? Is library install too complex
and unreliable ? Will my dog go to heaven ?
I'm a complete noob about most of this, but it sounds like his problem
may have more to do with what needs to be done on a Linux machine, than
anything specifically pertaining to Python. How can you call installing
Python (or any third-party modules) on Windows 'hard'?

Maybe his students just have a harder type figuring out how to install
things in Linux? I don't know...
Nov 19 '07 #8

P: n/a
On 17 Nov., 14:46, Brian <not_here@no_where.comwrote:
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.
I don't understand this complaint. How does your instructor installs
libraries for C#? When he uses Linux for teaching purposes I assume
his students have little problems typing some shell commands and when
he uses Windows his students might feel comfortable double clicking on
a Windows installer - most likely containing prepackaged binaries.
What have I missed?

Kay
Nov 19 '07 #9

P: n/a
On Nov 19, 9:44 am, Kay Schluehr <kay.schlu...@gmx.netwrote:
On 17 Nov., 14:46, Brian <not_here@no_where.comwrote:
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.

I don't understand this complaint. How does your instructor installs
libraries for C#? When he uses Linux for teaching purposes I assume
his students have little problems typing some shell commands and when
he uses Windows his students might feel comfortable double clicking on
a Windows installer - most likely containing prepackaged binaries.
What have I missed?

Kay
I think i understand his complaint.
Have you ever tried to install a package making use of easy_install?
If you have, then you understand this is a real pain in the ass,
especially if your internet access requires proxy authentication.
The world was easy before easy_install !

Alain
Nov 19 '07 #10

P: n/a
On Nov 17, 7:46 am, Brian <not_here@no_where.comwrote:
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.

I am a low-end (3-year) journeyman Pythonista, and I
was attracted to the language because of its
simplicity. And I have come to enjoy the richness of
available libraries.

Many of the good people of this NG may be 'too close'
to answer, but has Python, as a general devel platform,
lost its simplicity ? Is library install too complex
and unreliable ? Will my dog go to heaven ?
If this professor was only using Windows for his environment, then I
might be able to understand his argument better. There are many more
external modules for Python that don't have Windows installers than
there are with binaries. And I've had more than my fair share of
broken setup.py files.

On the other hand, if all that is needed are the standard libraries,
than it's a breeze to install Python since they're all included.

Mike
Nov 19 '07 #11

P: n/a
On Nov 19, 2007 8:52 AM, <ky******@gmail.comwrote:
>
On Nov 17, 7:46 am, Brian <not_here@no_where.comwrote:
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.

I am a low-end (3-year) journeyman Pythonista, and I
was attracted to the language because of its
simplicity. And I have come to enjoy the richness of
available libraries.

Many of the good people of this NG may be 'too close'
to answer, but has Python, as a general devel platform,
lost its simplicity ? Is library install too complex
and unreliable ? Will my dog go to heaven ?

If this professor was only using Windows for his environment, then I
might be able to understand his argument better. There are many more
external modules for Python that don't have Windows installers than
there are with binaries. And I've had more than my fair share of
broken setup.py files.

On the other hand, if all that is needed are the standard libraries,
than it's a breeze to install Python since they're all included.

Mike
These modules exist, but aren't that common. Certainly anything you're
likely to be using in an introductory compsci course is well packaged.
And even if it's not, it's really not that hard to create packages or
installers - a days work of course prep would take care of the
potential problem.
Nov 19 '07 #12

P: n/a
On Nov 19, 9:57 am, "Chris Mellon" <arka...@gmail.comwrote:
On Nov 19, 2007 8:52 AM, <kyoso...@gmail.comwrote:


On Nov 17, 7:46 am, Brian <not_here@no_where.comwrote:
Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.
I am a low-end (3-year) journeyman Pythonista, and I
was attracted to the language because of its
simplicity. And I have come to enjoy the richness of
available libraries.
Many of the good people of this NG may be 'too close'
to answer, but has Python, as a general devel platform,
lost its simplicity ? Is library install too complex
and unreliable ? Will my dog go to heaven ?
If this professor was only using Windows for his environment, then I
might be able to understand his argument better. There are many more
external modules for Python that don't have Windows installers than
there are with binaries. And I've had more than my fair share of
broken setup.py files.
On the other hand, if all that is needed are the standard libraries,
than it's a breeze to install Python since they're all included.
Mike

These modules exist, but aren't that common. Certainly anything you're
likely to be using in an introductory compsci course is well packaged.
And even if it's not, it's really not that hard to create packages or
installers - a days work of course prep would take care of the
potential problem.
I stand corrected. Thanks for the clarification.

Mike
Nov 19 '07 #13

P: n/a
alain schrieb:
On Nov 19, 9:44 am, Kay Schluehr <kay.schlu...@gmx.netwrote:
>On 17 Nov., 14:46, Brian <not_here@no_where.comwrote:
>>Had a unsettling conversation with a CS instructor that
teaches at local high schools and the community
college. This person is a long-term Linux/C/Python
programmer, but he claims that the install, config, and
library models for C# have proved to be less
problematic than Python. So both his courses (intro,
data structs, algorithms) are taught in C#.
I don't understand this complaint. How does your instructor installs
libraries for C#? When he uses Linux for teaching purposes I assume
his students have little problems typing some shell commands and when
he uses Windows his students might feel comfortable double clicking on
a Windows installer - most likely containing prepackaged binaries.
What have I missed?

Kay

I think i understand his complaint.
Have you ever tried to install a package making use of easy_install?
If you have, then you understand this is a real pain in the ass,
especially if your internet access requires proxy authentication.
The world was easy before easy_install !
setuptools might not be flawless, but it works for me most of the times
- and always better than pure distutils.

BTW, you can download eggs and install them from files - so while
teaching easy_install how to deal with proxies (are these still used by
anyone - I thought that was in the 90ties... ) certainly would be good,
it isn't necessary.

Diez
Nov 19 '07 #14

P: n/a
On Nov 19, 3:44 am, Kay Schluehr <kay.schlu...@gmx.netwrote:
On 17 Nov., 14:46, Brian <not_here@no_where.comwrote:
What have I missed?
Microsoft has a free download version of Visual Studio
which you can install in one go that has basically everything
you might want to cover in the first 2 or 3 programming
classes built in. Also, when it comes to making things easy
the magic "intellisense" in VS cannot be beat, and stricter
typing rules tend to keep'em out of trouble. I've seen
moderately skilled programmers get confused about list.append
versus list.extend -- it wouldn't happen in C#.

I would suggest that Python might be better for
more advanced classes like data structures
because Python cuts out all those declarations that get
in the way of understanding. For example you could implement
a binary tree in Python in 5 minutes of typing, providing
"just the facts, M'am", whereas even
with intellisense help it would take 15 minutes in C# and
the students would be totally lost in the details when
you were done.

It's also possible that once you break'em in a bit
beginner students would make better progress with more
advanced concepts by making use of the interactive
interpreter. I've taught java and C# where the students
freeze in abject fear when they confront their first
array -- Python lists are much less intimidating at
the interactive prompt. At the beginning, however, I would
agree that C# has some serious advantages. I don't
see anything wrong in teaching a bit of both, tho.

Students also like to learn languages which they can
find in the "help wanted" section very easily ;).

-- Aaron Watters

===
http://www.xfeedme.com/nucular/pydis...=perverse+zone
Nov 19 '07 #15

P: n/a
Dennis Lee Bieber schrieb:
On Mon, 19 Nov 2007 18:47:37 +0100, "Diez B. Roggisch"
<de***@nospam.web.dedeclaimed the following in comp.lang.python:
>BTW, you can download eggs and install them from files - so while
teaching easy_install how to deal with proxies (are these still used by
anyone - I thought that was in the 90ties... ) certainly would be good,
it isn't necessary.
Company firewall blocks practically anything that doesn't come down
from a web-browser...
Which is a totally different thing from a proxy. And I'd think that
nowadays most proxies are transparent.
>
I've never been able to figure out how to install a downloaded egg
-- the installer, even with the file in the same directory, still seems
to try to find a web copy and dies on the firewall.
easy_install <egg>

works for me. Of course you need to install dependencies. It might even
work to do

easy_install <egg1<egg2....

but I don't know for sure anymore.

Diez
Nov 19 '07 #16

P: n/a
Dennis Lee Bieber <wl*****@ix.netcom.comwrote:
>
On Sun, 18 Nov 2007 14:29:06 -0800, John Nagle <na***@animats.com>
declaimed the following in comp.lang.python:
>shared hosting server and see how far you get. Or try to install
the same set of modules on both Linux and Windows.
Try installing anything .NETish on Linux?
Unfortunately, depending on your viewpoint, it works just fine, thanks to
the hard work that has gone into the Mono project.
--
Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Nov 20 '07 #17

P: n/a
"Chris Mellon" <ar*****@gmail.comwrites:
[...]
These modules exist, but aren't that common. Certainly anything you're
likely to be using in an introductory compsci course is well packaged.
And even if it's not, it's really not that hard to create packages or
installers - a days work of course prep would take care of the
potential problem.
"A day's worth of course prep" for beginners would let them debug all
the crap that building MySQLdb on Windows might throw at them, for
example? I think not! (MySQLdb, last time I looked, was one of the
not-so-obscure modules that don't have a Windows installer available
and kept up to date. Maybe it does now, but that's not really the
point.)

I certainly don't recognise what some people have been saying, though.
It's a rare thing that I have any real pain installing a Python module
on Linux. That's not to say you don't need some background knowledge
about distributions and Python if doing it "by hand", of course
(rather than with a packaging tool like apt-get). Occasionally you'll
want the newest version of something, which will in turn occasionally
get you into some grim automake issue or similar. But all of this can
be entirely avoided in an introductory course -- simply restrict
yourself to what can be installed with apt-get (if the instructor
feels they *must* make some new library available, they can always
package it themselves).
John
Nov 20 '07 #18

P: n/a
(Oops, sent as private, reposting to list)

On Nov 20, 2007 12:36 PM, sj*******@yahoo.com <sj*******@yahoo.comwrote:
FWIW it's trivial to run pyflakes on your code (automatically behind
the scenes) to get syntax checking; in vim, my syntax errors get
underlined immediately for python code. It's especially nice for
large web applications, where having to go reload a page only to
discover you typed "if a=1:" or some silliness actually takes some
amount of time.

I also get function prototypes on the status line (so, e.g., the
elsethread example of confusing list.extend and list.append is
mitigated to a large degree).

Dynamic typing loses some info, but you can get most of the big
benefits with it.

--
http://mail.python.org/mailman/listinfo/python-list
That sounds really cool. What do I have to do to set up vim so it
does that for me?

Back on topic, I don't think python has lost it's simplicity. It has
added many features in the last few versions, but none of them are
requirements for learning. There are some things in python that I can
see might be sticky points for instructors, but these things have
always been an issue. The IDE is one thing. With python being
agnostic about so many things, such as the IDE, an instructor has to
choose which ide would be best to teach with. And none of the ides
available can match Microsoft's offering (One of the best, if not THE
best IDE available for any language). As someone who only uses 2% of
the features of an IDE if I am ever forced to use one, I don't respect
that, but many people swear by it. The interactive interpreter is
great as well, but that scenario doesn't work well for everybody. If
someone doesn't have much experience with command line tools, than a
microsoft word-ish (like VS) interface is going to be more condusive
for them.

You also have to think about a classroom scenario. I think python
works very well for pair programming, one-on-one tutoring, or through
text correspondence. In a class, there are many situations for error.
Being tab-based is a real problem in this instance, when trying to
tell someone how to write something. You have to be clear about where
to tab over. With blocks, it is much easier to verbalize. I have run
into this when helping people to code in person, but with one-on-one
and their full attention it's not so hard to disambiguate things. In
a classroom where many people are having different sorts of problems,
I can see where issues might crop up.

Then the library situation, which is a strength and weakness of
python. It is starting to be remedied with easy_install, but
easy_install on windows is a joke (and there are still issues with it
under linux at times). There are many libraries but on windows it can
often be a chore to track down the ones that you want, and while the
batteries are included with respect to strong language features and
web modules; the batteries are definitely missing in some key areas:
gui (tk is really quite awful, hard to learn, and ugly), web
application, graphics (pygame, PIL, opengl), sound/music (uh, any
standard libs for this? pygame is the only one that comes to mind for
me), etc.

I'd like to see a few things. Easy install being included with pygame
as standard, with a gui. Ability to browse the cheesshop and look for
specific things, such as image processing, graphics display, gui, etc.
A list of suggested extra libraries to install when you run the
python installer: (Tick off the web framework(s) you want to install).
A nicer default gui (don't know what that would be, yes I am aware of
the huge flame war and wound this would open up). A slightly improved
interpreter - when entering a long function and getting it wrong, I
want to bring back the whole function, not just line by line. A
better standard IDE - too bad the best ones all seem to be commercial.

So that is mostly a wish list, and some of those things will never
happen, but the standard easy install with a gui would be a good thing
to work towards for the windows world.
Nov 20 '07 #19

P: n/a
On Nov 20, 5:01 pm, "Patrick Mullen" <saluk64...@gmail.comwrote:
(Oops, sent as private, reposting to list)

On Nov 20, 2007 12:36 PM, sjdevn...@yahoo.com <sjdevn...@yahoo.comwrote:
FWIW it's trivial to run pyflakes on your code (automatically behind
the scenes) to get syntax checking; in vim, my syntax errors get
underlined immediately for python code. It's especially nice for
large web applications, where having to go reload a page only to
discover you typed "if a=1:" or some silliness actually takes some
amount of time.
I also get function prototypes on the status line (so, e.g., the
elsethread example of confusing list.extend and list.append is
mitigated to a large degree).
Dynamic typing loses some info, but you can get most of the big
benefits with it.
--
http://mail.python.org/mailman/listinfo/python-list

That sounds really cool. What do I have to do to set up vim so it
does that for me?
I'm leaving for the holidays in 5 minutes, I'll post my configs when I
return (Monday-ish). Feel free to email me a reminder on Monday...

The basic concept should work fine in emacs, but the glue would need
someone to implement it (my grand scheme plan is to do it over with
the NetBeans integration interface so that vim/xemacs/whatever would
pick it up okay, but I'm not sure if that API is featureful enough).

Nov 21 '07 #20

P: n/a

On Nov 20, 9:36 pm, "sjdevn...@yahoo.com" <sjdevn...@yahoo.comwrote:
FWIW it's trivial to run pyflakes on your code (automatically behind
the scenes) to get syntax checking; in vim, my syntax errors get
underlined immediately for python code.
Can you describe your setup a bit more precisely ? I'm interested in
this kind of development help. I had a quick look at pyflakes but I
haven't found any signs of vim integration.
I also get function prototypes on the status line
I'm interested in that as well !

regards,

Philippe
Nov 21 '07 #21

P: n/a
On Nov 20, 2007 2:43 PM, John J. Lee <jj*@pobox.comwrote:
"Chris Mellon" <ar*****@gmail.comwrites:
[...]
These modules exist, but aren't that common. Certainly anything you're
likely to be using in an introductory compsci course is well packaged.
And even if it's not, it's really not that hard to create packages or
installers - a days work of course prep would take care of the
potential problem.

"A day's worth of course prep" for beginners would let them debug all
the crap that building MySQLdb on Windows might throw at them, for
example? I think not! (MySQLdb, last time I looked, was one of the
not-so-obscure modules that don't have a Windows installer available
and kept up to date. Maybe it does now, but that's not really the
point.)
A days worth of course prep would allow the professor (or his TA, more
likely) to produce a set of installers that's suitable for use with
the course. This is a comp sci course, not a "how to sysadmin a Python
installation" course.

For the record, it took me less than 3 minutes to install MySqldb, the
first time I've ever needed to do it - I don't like or approve of
MySql. Steps required: Google for "mysql python" and click through 3
or 4 links to the SF download page. Download the binary installer,
from March 2007. Not exactly rocket science.

On a similar note, I have or create executable installers for all the
third party modules I use, because I need to provide them to the
people who do our deployments. This has never been much of a burden.
I certainly don't recognise what some people have been saying, though.
It's a rare thing that I have any real pain installing a Python module
on Linux. That's not to say you don't need some background knowledge
about distributions and Python if doing it "by hand", of course
(rather than with a packaging tool like apt-get). Occasionally you'll
want the newest version of something, which will in turn occasionally
get you into some grim automake issue or similar. But all of this can
be entirely avoided in an introductory course -- simply restrict
yourself to what can be installed with apt-get (if the instructor
feels they *must* make some new library available, they can always
package it themselves).

The obstacles as presented in the OP seem pretty bogus to me. Of
course, it's third hand anecdotal evidence, so there's not much of a
reason to believe that the original statement really preserves the
essence of the problem.

I'd be pretty interested if the OP could ask his associate to chime in
with some of the actual issues he encountered
Nov 21 '07 #22

P: n/a
Chris Mellon wrote:
On Nov 20, 2007 2:43 PM, John J. Lee <jj*@pobox.comwrote:
>"Chris Mellon" <ar*****@gmail.comwrites:
[...]
>>These modules exist, but aren't that common. Certainly anything you're
likely to be using in an introductory compsci course is well packaged.
And even if it's not, it's really not that hard to create packages or
installers - a days work of course prep would take care of the
potential problem.
"A day's worth of course prep" for beginners would let them debug all
the crap that building MySQLdb on Windows might throw at them, for
example? I think not! (MySQLdb, last time I looked, was one of the
not-so-obscure modules that don't have a Windows installer available
and kept up to date. Maybe it does now, but that's not really the
point.)
A days worth of course prep would allow the professor (or his TA, more
likely) to produce a set of installers that's suitable for use with
the course. This is a comp sci course, not a "how to sysadmin a Python
installation" course.

For the record, it took me less than 3 minutes to install MySqldb, the
first time I've ever needed to do it - I don't like or approve of
MySql. Steps required: Google for "mysql python" and click through 3
or 4 links to the SF download page. Download the binary installer,
from March 2007. Not exactly rocket science.

On a similar note, I have or create executable installers for all the
third party modules I use, because I need to provide them to the
people who do our deployments. This has never been much of a burden.
>I certainly don't recognise what some people have been saying, though.
It's a rare thing that I have any real pain installing a Python module
on Linux. That's not to say you don't need some background knowledge
about distributions and Python if doing it "by hand", of course
(rather than with a packaging tool like apt-get). Occasionally you'll
want the newest version of something, which will in turn occasionally
get you into some grim automake issue or similar. But all of this can
be entirely avoided in an introductory course -- simply restrict
yourself to what can be installed with apt-get (if the instructor
feels they *must* make some new library available, they can always
package it themselves).
The obstacles as presented in the OP seem pretty bogus to me. Of
course, it's third hand anecdotal evidence, so there's not much of a
reason to believe that the original statement really preserves the
essence of the problem.

I'd be pretty interested if the OP could ask his associate to chime in
with some of the actual issues he encountered
/ Chime Mode <ON>
I have, in fact, sent this thread to my friend.
His limiting factors are

- money-control people favor MS platforms
- C# and VS have minimal cost impact for academia
- sys admins have everything locked down (probably
essential for high school and community college)
- both Python 2.4.2, then 2.5.1, on XP and Win2k
crashed approx 10% of lab cptrs, so lab techs refused
to allow further install of any 'third-party' s/w.
(side note - I have installed Python and all the
supporting stuff for PyVISA on 14 work-site (11 XP, 3
Debian) cptrs with no problem, so I do not understand).
- no such thing as TAs in JC or HS.
- CS instructors, for the effected schools, are not
allowed to config machines or admin the network.
- money-control people want students to learn skills
that are on the IT buzz-word list.
- my friend is no longer allowed to use me as an
'unofficial' assistant in these classes (not considered
qualified because I only have a B.S. degree), so he
only uses stuff that existing staff are (supposedly)
familiar with...
/ Chime Mode <OFF>

I told my friend, the wannabe Python instructor, to
walk away from any more volunteer work, and stick to
the paid stuff. American education, what a mess...

luck,
Brian
Nov 22 '07 #23

P: n/a
"Chris Mellon" <ar*****@gmail.comwrites:
On Nov 20, 2007 2:43 PM, John J. Lee <jj*@pobox.comwrote:
>"Chris Mellon" <ar*****@gmail.comwrites:
[...]
These modules exist, but aren't that common. Certainly anything you're
likely to be using in an introductory compsci course is well packaged.
And even if it's not, it's really not that hard to create packages or
installers - a days work of course prep would take care of the
potential problem.

"A day's worth of course prep" for beginners would let them debug all
the crap that building MySQLdb on Windows might throw at them, for
example? I think not! (MySQLdb, last time I looked, was one of the
not-so-obscure modules that don't have a Windows installer available
and kept up to date. Maybe it does now, but that's not really the
point.)

A days worth of course prep would allow the professor (or his TA, more
likely) to produce a set of installers that's suitable for use with
the course. This is a comp sci course, not a "how to sysadmin a Python
installation" course.
Ah, sorry, misread what you wrote. I made the same point in my next
paragraph, so perhaps the misunderstanding's mutual :-)

For the record, it took me less than 3 minutes to install MySqldb, the
first time I've ever needed to do it - I don't like or approve of
MySql. Steps required: Google for "mysql python" and click through 3
or 4 links to the SF download page. Download the binary installer,
from March 2007. Not exactly rocket science.
That's great, though I don't see the connection with what I wrote.

Within the last year or so (IIRC) a MySQLdb Windows installer was not
available. And ISTR grumpy noises coming from the corner of the
ReportLab office where AFAIK the only Windows binary publically
available shortly thereafter was built -- albeit an unofficial,
unsupported binary. So I guess the fact that the MySQLdb maintainer
wasn't (isn't?) a Windows user didn't make the build process silky-
smooth ;-)

My point was that it's by no means unheard of for popular Python
modules to be unavailable as Windows binary installers.

On a similar note, I have or create executable installers for all the
third party modules I use, because I need to provide them to the
people who do our deployments. This has never been much of a burden.
[...]

That's nice too. Other people have not found it so easy. OTOH, ISTR
that current MinGW / MSYS / Python / distutils make it easier for
people who don't have the appropriate MS compiler, so perhaps the
situation has improved over the last 12 months...
John
Nov 22 '07 #24

P: n/a
On Nov 22, 2007 3:04 PM, Brian <not_here@no_where.comwrote:
/ Chime Mode <ON>
I have, in fact, sent this thread to my friend.
His limiting factors are

- money-control people favor MS platforms
- C# and VS have minimal cost impact for academia
- sys admins have everything locked down (probably
essential for high school and community college)
- both Python 2.4.2, then 2.5.1, on XP and Win2k
crashed approx 10% of lab cptrs, so lab techs refused
to allow further install of any 'third-party' s/w.
(side note - I have installed Python and all the
supporting stuff for PyVISA on 14 work-site (11 XP, 3
Debian) cptrs with no problem, so I do not understand).
- no such thing as TAs in JC or HS.
- CS instructors, for the effected schools, are not
allowed to config machines or admin the network.
- money-control people want students to learn skills
that are on the IT buzz-word list.
- my friend is no longer allowed to use me as an
'unofficial' assistant in these classes (not considered
qualified because I only have a B.S. degree), so he
only uses stuff that existing staff are (supposedly)
familiar with...
/ Chime Mode <OFF>

I told my friend, the wannabe Python instructor, to
walk away from any more volunteer work, and stick to
the paid stuff. American education, what a mess...

Pretty unfortunate stuff, especially that he doesn't have any
permission to configure the machines for his course. These are all
(mostly?) political problems in his specific situation, though, not
issues with Python per se - except in the general sense that Python
doesn't get much respect.

Except possibly the crashes, although honestly public school computer
labs tend to be incredibly hostile environments (admin lockdowns
notwithstanding).

Support for even mildly off the beaten track thinking is in short
supply in most schools, I'm sad to hear of your friends problems.
Nov 23 '07 #25

P: n/a
In article <ma***************************************@python. org>,
Chris Mellon <ar*****@gmail.comwrote:
>On Nov 22, 2007 3:04 PM, Brian <not_here@no_where.comwrote:
>/ Chime Mode <ON>
I have, in fact, sent this thread to my friend.
His limiting factors are

- money-control people favor MS platforms
- C# and VS have minimal cost impact for academia
- sys admins have everything locked down (probably
essential for high school and community college)
- both Python 2.4.2, then 2.5.1, on XP and Win2k
crashed approx 10% of lab cptrs, so lab techs refused
to allow further install of any 'third-party' s/w.
(side note - I have installed Python and all the
supporting stuff for PyVISA on 14 work-site (11 XP, 3
Debian) cptrs with no problem, so I do not understand).
- no such thing as TAs in JC or HS.
- CS instructors, for the effected schools, are not
allowed to config machines or admin the network.
- money-control people want students to learn skills
that are on the IT buzz-word list.
- my friend is no longer allowed to use me as an
'unofficial' assistant in these classes (not considered
qualified because I only have a B.S. degree), so he
only uses stuff that existing staff are (supposedly)
familiar with...
/ Chime Mode <OFF>

I told my friend, the wannabe Python instructor, to
walk away from any more volunteer work, and stick to
the paid stuff. American education, what a mess...


Pretty unfortunate stuff, especially that he doesn't have any
permission to configure the machines for his course. These are all
(mostly?) political problems in his specific situation, though, not
issues with Python per se - except in the general sense that Python
doesn't get much respect.

Except possibly the crashes, although honestly public school computer
labs tend to be incredibly hostile environments (admin lockdowns
notwithstanding).

Support for even mildly off the beaten track thinking is in short
supply in most schools, I'm sad to hear of your friends problems.
When you install Microsoft software,like C#/.NET,and it fails, this is percieved as
your problem. You did not have the skills required to do the job.

When you fail to install third party software, like Python, this is percieved to
be a problem with the software package. The people building it did not have
the skills required to do the job properly.

Microsoft has this teflon effect. Never their fault that things do not work as
expected.

Jacob

--
Dec 8 '07 #26

This discussion thread is closed

Replies have been disabled for this discussion.