Python vs. Perl, which is better to learn?

Patrick W quitelikely at yahoo.com.au
Sun May 5 23:05:40 EDT 2002


Alex Martelli <aleax at aleax.it> writes:

> Patrick W wrote:
>         ...
> > I can't muster any enthusiasm *at all* for Java. But I _do_ like
> > C#. [...] 
> 
> I may be missing something, but C# strikes me as VERY close indeed
> to Java -- I can't really understand (on a purely technical plane)
> liking one and despising the other.  

Despite the similar syntax, I find that three simple features of C#
(Properties, Events, Delegates) give it a distinctly different flavour
from Java. Some people regard those as superficial differences. IMO
they're less superficial than the syntactic similarities. (IMO C# is
more like Delphi with garbage collection and other enhancements).

I doubt whether you're missing anything on a technical plane. (FWIW,
it's clear to me that your insight into programming languages is _far_
deeper than mine). But do the languages 'feel' at all similar to you?
To me, they don't. I can only explain my reactions in vague aesthetic
terms that I don't expect anyone else to care about. C# feels cleaner,
more direct, more forthright, less verbose, less 'muffled', less
cluttered, less stodgy. These 'holistic' qualities matter to me
(perhaps more than they should). No matter how much money is
available, I detest working in Java, but I don't feel the same about
C#. That's just me though. I won't try to prop up this personal
reaction with technical rationalisations.

> I don't see how C# per se should have substantially better
> performance possibilites than Java, in particular -- it will mostly
> depend on the MSIL vs JVM performance comparison, of course, but for
> example once gcc 3's support for Java ahead-of-time compilation to
> native matures, and assuming a similarly native compiler for C#, why
> should any have intrinsic performance pluses?  They're much of a
> muchness. 

Sure. There's nothing inherent in the _languages_ that make one
necessarily "faster" than the other. But in practice, I have not seen
a compelling proof of concept in Java, even after all these years. I
should add that I'm more interested in the client side than the server
side, and I'm prejudiced by the fact that no matter how well I write
my code, my Swing applications will be weighed down by huge piles of
dung. (PyQt leaves it for dead; it's as portable as I need it to be,
and it lets me work in a far nicer language). But even after a
relatively short time in production, C#/.NET shows itself to be quite
capable of slick client-side performance. (See SharpDevelop, and
compare it with, say, Forte) ;-)

Beyond the languages (and into the "platforms"), I also think the .NET
component model is more interesting than the JVM, but enough said for
now.

> I agree that there may be space between C and Python -- coding C
> extensions and carefully debugging their increfs and decrefs until
> they're OK often reminds me of that.  Java/C#, for all their defects,
> MAY unfortunately hog that space -- but as I see it they're vying
> for the _same_ niche.

I agree with that. But, given my choice, I'd rather see C# "hog" that
space any day. For various reasons, I would actually prefer to prefer
Java, but in reality I can't even tolerate it.

Cheers, 
P.



More information about the Python-list mailing list