Adding static typing to Python
peter.milliken at gtech.com
Mon Feb 25 03:07:19 CET 2002
"Bill Tate" <tatebll at aol.com> wrote in message
news:cb4ba455.0202210525.6687556f at posting.google.com...
> "Peter Milliken" <peter.milliken at gtech.com> wrote in message
> > Personally, I have used Python for several small, personal projects and
> > odd "script" that searches text files - even here, the only perceived
> > advantage is the library support, I often wonder whether I wouldn't be
> > better off using my real language of choice (Ada) because of it's strong
> > typing - it too has interfaces to the standard GUI tools etc. My next
> > personal project will not be in Python, it is a "cute" language and
> > some nice facilities i.e. creating a script at run-time and then running
> > can be very powerful in the correct circumstances - so I will probably
> > an Ada-Python API for these situations and get the best of both worlds
> > When I compile a Ada program cleanly I know that 95% of the bugs are out
> > it - before I even start testing! :-) Of course, it takes me longer to
> > up front but overall development effort (in my subjective opinion -
> > have no metrics :-)) is that it is much lower.
> Perhaps you should also use adjectives like "toy-like," "child-like,"
> "foolish," "trivial," and "not a real language" while your at it. You
> offer an opinion without supporting metrics and effectively relegate a
> language to the realm of triviality. Should I presume, that you also
> lump the python developer community within the realm of "caution:
> children at play?" Perhaps you could spare us the "cute" adjectives.
> Your remarks smack of intellectual superiority.
No I shouldn't use adjectives like that because I don't believe they are
true. Python is a language that is growing (in leaps and bounds) so I don't
necessarily see why a description of "cute" doesn't apply. The mere fact
that it is growing and changing shows that people recognise there are
deficiences (or perhaps lack of features would be a preferable term to
you?). So "cute" seemed a not unreasonable adjective at the time since in my
mind it had certain connotations - clearly the image that sprung to your
mind didn't match that description - I can't help that at all.
> You're right to assert there are risks and costs associated with using
> a dynamically typed language. However, are you of the opinion that
> this is a community that doesn't understand what those risks and costs
> are? Perhaps this is a community that understands, better than others
> I suspect, how/when to make practical tradeoffs and how to apply the
> necessary tradecraft to know when to use python and when not to?
No, I have had some very productive dialog with individuals that have shown
they have a very good grasp of the risks involved and have chosen Python
despite (or even because of) those features. I don't necessarily agree with
some of their stands/decisions just as they may not agree with mine but then
we all come from completely different backgrounds with different experience
sets and above all, requirements :-). So I respect each and every one of
those decisions. All I am guilty of is expressing some musings aloud about
where I and how I personally intend to trial the use of Python next. I
believe I have tried to explain my choices (in probably a fairly lose style
:-)). Criticism should only be levelled when the party has experience in the
appropriates aspects of the items under discussion. This thread has shown to
me that many people do not have a good grasp of where I am coming from
because they have never used languages with the feature set that I am
referring to - so that is OK, I attempt to make my remarks in that
environment. That is the background of my use of the term "ignorance" -
hardly a good term to use, I admit freely since I am just as guilty of that
as anyone. I certainly haven't tried all available languages!. I have used
C/C++, Python and Ada - so I feel some confidence in comparing the relative
merits. Others have backgrounds in languages like Java and they have shared
their experiences. Python is a scripting language that has some excellent
language features - these features are growing almost daily. It definitely
has a place in my "toolbox", all I am saying is that at the moment, I don't
see it as being my "primary" tool because of what I perceive as deficiences.
These "deficiences" are absolute strengths though in certain situations.
Python appears to attract individuals with a certain approach to
programming, these type of discussions have allowed me to see some of the
background for why they have chosen Python as their development language.
This has provided me with a picture of the "typical" Python programmer that
may be widely wrong! :-) But it does allow me to take this picture into
allowance in future such discussions. Hopefully I will be more diplomatic in
future discussions :-)
More information about the Python-list