Upon reflection...

Martijn Faassen m.faassen at vet.uu.nl
Thu Jun 14 18:20:20 EDT 2001


Rod Weston <rod_weston at yahoo.com> wrote:
> Thanks everyone, for your assistance.  I have posted messages on
> Ada, python and smalltalk groups for other perspectives and have
> arrived at the following conclusions.

> My objectives are to quickly learn and become productive in a language
> that properly supports Object Oriented Programming.  I want to use
> free or inexpensive toolsets and I want to have a market for my
> efforts.  I want strong typing because I believe, having worked in a
> language without typing, that it provides a strong deterrent to
> serious errors.

Have you worked with a language that has dynamic typing and good error
reporting? I myself have worked with languages like Object Pascal
(in Delphi) and C++, but found the run-time error reporting in
Python helps me debug more easily. Those may be bad examples of
statically checked languages though.

> I want a strong debugging tool, compile-time error
> trapping and very strong exception handling.

I guess you want to try *static* typing. We from comp.lang.python
wish you luck; static typing has its advantages, but don't say nobody
warned you if you find you have coded yourself into a corner. :)

> I believe I have found
> the best language to satisfy those objectives in Ada.

Do modern Adas support object oriented programming? Polymorphism, 
inheritance and such? Hm, a quick web search indicates Ada95 
apparently does.
 
> The real
> bonuses in Ada are the ability to generate code that is capable of
> communicating with JavaScript and Cobol (among others)

Um, new requirements. What do you mean 'capable of communicating
with'? A language like Python has the reputation that it integrates
easily with everything else, so what features does Ada offer in this
respect? I mean, later on you list professional development, so 
the ability to produce code that can communicate with Java may 
be considered an advantage (Jython), or speaking COM or CORBA may
be nice. Why JavaScript and Cobol?   

[Win32 Ada95 development environment, anything forgotten?]

I'd add a Unix-y operating system, but that's me. :)

> What did I learn from the Python and Smalltalk groups?  That they each
> love their environments, that Python is too slow for serious
> consideration

How'd you learn *that*? What kind of applications do you intend to write?
Python is fast enough for most tasks, so this is a very serious question.
Python development _speed_ is considered to be much higher than that of many
other languages after all, and this counts for something.

This is all you learned from the Python group, by the way? We should
say more interesting things next time. :)

> and that Smalltalk would be worthy of future
> consideration as an additional language - if I were the type that
> 'collected' languages, which I am not.

Heh, this gives even less insight on the tradeoffs that you decided on for
Smalltalk than your treatment of Python!

> Also, that Eiffel seems to be
> an excellent pure OOP language, but no one seems to be using it for
> professional development and, other than the distinction of being
> 'pure OOP', has no powerful arguments for its use over Ada.

Hm, what about an excellent debugging environment due to its use
of pre- and post conditions? I'd say that's just about the strongest
error trapping system you can think of, if you want to go that route.
I'm not sure Eiffel sees that much less use than Ada, anyway (or
Python for that matter). Comparing the size of communities seems
difficult though.

> Further discussion?

Could you spell out the tradeoffs you decided on a bit more? I'm a bit
confused how you came to consider Ada, Python and Smalltalk and Eiffel. 
Python and Smalltalk don't fit in your static typing requirement at all,
and Java and C++, commonly used OO languages that do have static
typing are mysterious absent from your considerations. Then when you
make the decision the other languages don't get seem to get significant
counter arguments (speed really isn't one for most business applications;
there are arcade games written in Python these days! :).

Regards,

Martijn
-- 
History of the 20th Century: WW1, WW2, WW3?
No, WWW -- Could we be going in the right direction?



More information about the Python-list mailing list