Thank you very much for that response!
[EMAIL PROTECTED] wrote: > John Salerno wrote: > ... > >>Just one more quick question: I'm basically learning programming for >>fun, and I'm concentrating on C# right now. Python seems interesting, >>but I was wondering if I should even bother. Would it supplement C# in >>any way, or can C# do everything Python can? > > > C# and Python are both Turing-complete (net of limitations to finite > amounts of storage, in the real world), so of course "they can do" > exactly the same things as each other in some pretty strong sense -- so > can machine language, Fortran, ... > > Exactly because of this, this is hardly ever a sensible question to > ask. It clearly can be more _convenient and practical_ to "do some > thing" in C# than machine language, because C# is a higher-level > language than machine language, which increases your productivity (this > applies to most tasks, but for a few things, such as some > interrupt-response routines in embedded systems, machine language can > instead be vastly more practical and productive). > > Similarly, Python is a higher-level language than C#, which further > increases your productivity (and again this applies to most tasks, but > for a few lower-level things C# may in fact be more practical and > productive). > > Besides considerations connected to the language themselves, similar > issues (pushing the same way) apply to their implementations -- Python > vs C# as well as C# vs machine language. As far as I know, to deploy > C# applications you need a dotNet runtime (or perhaps a Mono runtime, > if you find it robust enough for your purposes); with machine language > you'd be restricted to a particular family of CPUs (or emulators > thereof, such as VirtualPC to emulate intel CPUs under MacOSX with > PowerPC CPUs). Similarly, with Python you can deploy on the same > runtimes as you can with C# (using the IronPython implementation, which > compiles Python to Microsoft CLR intermediate-code) -- but > alternatively you can deploy to JVMs (with the Jython implementation), > to a variety of architectures and OSs using a Python-dedicated > runtime/VM (with the classic, CPython implementation), to some Nokia > cellphones (Series 60 ones, I believe) using the Python runtime which > Nokia has developed and released, one day to the Parrot VM, etc, etc... > in practice, therefore, Python pervades more niches than C#, and thus > offers more practical deployment options, just like C# is more > pervasive and deployable than machine language. However, I believe the > language-level (and therefore programmer-productivity) issue will be > even more important in most cases. > > > Alex > -- http://mail.python.org/mailman/listinfo/python-list