Python too complex ?!?!?!
sjdevnull at yahoo.com
sjdevnull at yahoo.com
Tue Nov 20 21:36:23 CET 2007
On Nov 20, 10:20 am, Aaron Watters <aaron.watt... at gmail.com> wrote:
> On Nov 19, 1:41 am, MonkeeSage <MonkeeS... at gmail.com> wrote:
> > On the other hand, C# and .NET seems like a lot of baggage to bring to
> > the table. First off, you have to introduce the CLR and how it relates
> > to C#, then you have to deal with all the public, private, etc,
> > syntaxis for constructors/destructors. I don't see how anyone could
> > claim that C# is simpler to teach than python. I mean, (non-PC
> > statement follows), it's easier to teach retarded, blind children to
> > recite the lord's prayer backwards, in sign language, than it is to
> > get a working .net environment set up for actual use w/o installing
> > the latest visual studio. And not everyone had five-million dollars
> > (or a corporate license) to get the latest and greatest VS.
> You've got some good points that are not
> necessarily the case any more. The free
> version of Visual Studio from MSFT installs
> with no problems as far as I can tell,
> especially on recent Windows OS's. The
> extra complexity of "static public void Main()..."
> &c is scary and confusing, but you can just tell
> the students to "ignore that stuff for now."
> You don't have to talk about the CLR at all;
> the students naturally take it for granted.
> In VS when you start typing something,
> VS makes a pretty good guess what you are
> trying to do and offers to complete it for you
> -- which would be really nice to have in
> Python (and unavailable afaik, at least at
> that level of sophistication). When you make
> a syntax or type error you get a red squiggly
> underline, and so forth.
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.
More information about the Python-list