type checking

Alex Martelli aleaxit at yahoo.com
Sun Oct 12 16:27:50 EDT 2003


Stephen Horne wrote:
   ...
>>> | language. Either Java, C# or Delphi may be a good option for you.
   ...
>>I'd like to second Donn's recommendation and express reservations
>>on Stephen's.  Java &c just don't have a high enough semantic level
>>to give you the same productivity as Python.
> 
> I suggested C# - _not_ C. That is a very different thing. C# is

Sure.  "&c" stands for "etc", in this context "and all the others [which
you had mentioned]".

> A good language can mean big gains, but not necessarily as big as
> someone else having written key parts of your application for you in
> the form of libraries - and testing them too.

Definitely.  But SWIG often helps a lot -- if the library's around for C,
it's not far from your favourite SWIG-supported language.

> An additional issue is familiarity - if sashan is having a hard time
> adapting to Python, I suspect he'll find functional languages require
> an even bigger paradigm shift. Java and C# require relatively few
> mindset adjustments relative to C++.

True, they're closer to C++ in many respects than Python is (except
that Python, like C++, is multi-paradigm, has multiple inheritance,
allows operator overloading, lets you pick and choose among GUI
toolkits rather than coming with one, etc -- but probably not the kinds
of things one will have most "mindset adjustments" about).

By the same token, Java and C# will give few benefits if you already
master C++ -- perhaps a little help with memory management to be
offset against losing templates, a HUGE loss to adjust to, and such
niceties as the "resource allocation is construction" idiom.  If one
masters C++ and is looking for productivity higher enough to matter,
Python (or other similar VHLLs) and FP languages are much more
likely to produce it than Java or C# are.


Alex





More information about the Python-list mailing list