On Nov 17, 3:21 pm, Tim Chase <[EMAIL PROTECTED]> wrote: > > 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#. > > A little anecdotal comparison from some of my experience with two > web apps deployed at my current company: > > One web app, written in C#/ASP.net one written in Python. > > Moved each app to new servers (C#/ASP.net on a new Windows box, > Python app on a shiny new Debian box). > > C#/ASP.net app: had to find and install the right version of the > .net libraries. That's an afternoon of my life I won't get back. > > Python app: copied my app > > C#/ASP.net app: couldn't find VS2003 (in which the app had been > written) any more so had to upgrade to VS2005. > > Python app: Continued to use the same development environment. > > C#/ASP.net app: (ASP specific) generally requires following a > particular convention. Writing a RESTful web app is next to > impossible given the reliance on the postbacks; and the server > environment doesn't make it easy to make clean URLs > > Python app: Django makes web-app development easy and > clean/RESTful (other frameworks may as well...I speak from Django > experience) and push you to Do The Right Thing (tm) > > C#/ASP.net app: had to re-partition my server containers so that > it could deploy .Net 2.0 and .Net 3.0 apps side-by-side > > Python app: I've had Python 2.3, 2.4 and 2.5 running on the same > machine without a thought > > C#/ASP.net app: libraries are often written to a particular > framework version, so if any new functionality requires the new > version the whole app needs to be migrated. > > Python app: most of the libraries I use come built in, or they > work with 2.3 or later. > > C#/ASP.net app: Installing new libraries, same as upgrading > currently-used libraries. Usually requires paying for, then > manually installing various libraries, clearing distribution > rights, etc. > > Python app: There are an abundance libraries that are just an > apt-get away in terms of difficulty, and they are Free Software > so I can install them and deploy them without additional costs. > > C#/ASP.net app: 3rd party libraries usually come as source-less > DLLs that you can't peer into > > Python app: 3rd party libraries are usually pure python which > you can modify or step into as needed > > C#/ASP.net app: really only works well on Windows > > Python app: works well on Windows, Linux, BSD, Mac OS X... > > C#/ASP.net app: really requires Visual Studio > > Python app: works well with Eclipse, Vim, Emacs, Wing IDE, > Komodo, Idle, and piles of other development environments. Heck, > I've written the occasional python program using "ed" or "cat > > x.py". > > C#/ASP.net app: files are scattered all over. You've got source > apps, you've got templates, you've got resource files, you've got > GUID files. And VS hides the complexity so when (not "if") > something breaks you get a crash course in what goes on under the > covers. > > Python app: I've got .py files (and sometimes templates for my > Django code, and could have I18N files for translations). Very > easy to track down where everything is. > > C#/ASP.net app: Code/syntax is horridly opaque, requires braces > and lots of additional overhead code to get things done. Compare > the clutter of a basic C# script with a similarly function Python > script. How much is pure syntactic overhead? > > Python app: Code/syntax is rather easy to read (once you > understand list comprehensions and the __foo__ methods) > > Yeah, I'd take Python any day...for implementation *OR* for > teaching someone how to program. > > -tkc
Thank you very much for this VERY useful summary. It gives me tons of ammunition in case the latest .Net zealot walks into my office :) -- http://mail.python.org/mailman/listinfo/python-list