Learning OOP...

Alex Martelli aleaxit at yahoo.com
Fri Jun 8 11:05:37 CEST 2001


"Rod Weston" <rod_weston at yahoo.com> wrote in message
news:f7ce0059.0106071525.6c9688fb at posting.google.com...
> The reasons I feel a need to learn OOP languages are as follows:
    ...
>   2. Career choices - any programmer in today's market needs to be OOP
> conversant and productive, preferably with a language that will be
> recognized and used 'a lot', thereby generating profitable
> opportunities.

Yep.  But I don't think Ada is most marketable today (you'll
no doubt want to check on comp.lang.ada!-) -- the "recognized
and used a lot" OO languages are rather Java, C++, Visual Basic.

>   5. I want strong and flexible data typing - I know it sounds like an
> oxymoron.  I want the typing to be especially powerful (restrictive)
> but I want to be able to define the constraints of the types myself.

Eiffel and Haskell are the two best matches for this requisite
IMHO -- in different senses -- when conjoined with the later
requirement that the checking be (at least to some extent) a
static (i.e., compile-time) one.

> Not all the objectives relate to OOP, but most do.  From what I've
> seen so far, Ada best meets my criteria but I have not done enough
> research yet to be willing to gamble my future on it.

Most of your criteria are of the "motherhood and apple pie"
kind -- most languages will CLAIM to meet them:-).  2 and 5
are the really-specific ones, and they clash.  The popular
languages in 'career choice' terms have variously defective
datatyping systems -- O'Haskell may be perfect in this way
(Eiffel isn't AFAIK -- unless they've plugged it recently,
covariance implies a gaping hole -- and of course contracts
aren't mostly compile-time-checked, but run-time-checked),
but you won't find many contracts specifying it:-).

Anyway, Python doesn't do "especially restrictive" anything --
so, since this restrictiveness is part of your specs, you'll
have to look elsewhere than in this group.  (Many of us
Pythonistas have had more experience with "bondage and
discipline" languages than we care to recount, and that's
a big part of why we're Pythonistas today...:-).


Alex






More information about the Python-list mailing list