Learning OOP...
Martijn Faassen
m.faassen at vet.uu.nl
Sat Jun 9 12:49:53 EDT 2001
Rod Weston <rod_weston at yahoo.com> wrote:
> The reasons I feel a need to learn OOP languages are as follows:
> 1. I feel that OOP offers the best conceptual fit for my programming
> projects which are primarily business oriented.
Okay, while a certain guy nickednamed 'topmind' over on comp.object would
disagree, I like OO myself. It depends partially on how your mind works,
though.
> 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.
It's useful to be familiar with OO for this reason alone.
> 3. I want to reuse code as much as possible.
While OO techniques can help here, don't expect anywhere close to a silver
bullet. Creating reusable code is *hard*.
> 4. I want to reduce errors and take advantage of advanced debugging
> tools.
OO by itself doesn't help you there, I'd say.
> 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.
This isn't the case for Python. Python is flexible and powerful but doesn't
do constraints very well. :) We like it that way. A language like Java or
Ada or (perhaps especially) Eiffel is better suited for that.
> 6. I want something relatively easy to use and to learn.
That's Python, compared to most other languages.
> 7. I want reduced development times and enhanced maintenance tools.
I'm not sure if OO helps here. Depends mostly on the framework you use.
> 8. I want portability and scalability.
No OO involved here.
> 9. I want a lot of open source code available.
Lots of it in Python.
> 10. I want source code that is easily read.
Python helps here. OO by itself can hurt and help. Depends on how you
apply it.
> 11. I want good quality but free or inexpensive tools - especially a
> validated compiler to properly optimize my code for the task at hand
> and catch as many errors as possible at compile time.
Python doesn't do any of this, except that it's completely free and excellent
quality. I've worked with C++ which does attempt to do the catching of errors
at compile time and optimization, and you see which newsgroup I'm posting
in. :) Ada or Java or C++ would help for those things.
(or say, Ocaml)
> Not all the objectives relate to OOP, but most do.
Just remember: OO is far from a silver bullet! Especially the whole 'reuse'
advantage has been overdone in the beginning years.
> 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.
Ada, or Java, or Ocaml or a lot of other languages out there. How'd you
arrive at Ada? Ada's OO support was not as strong, I thought, though
perhaps in recent versions of the language this changed. It was initially
designed before OO was all the rage, though.
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