From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Do people who use Ada also use ocaml or F#?
Date: Wed, 03 Nov 2010 20:16:31 +0100
Date: 2010-11-03T20:16:31+01:00 [thread overview]
Message-ID: <op.vllzttxwule2fv@garhos> (raw)
In-Reply-To: alpine.LNX.2.00.1011031328530.20621@Bluewhite64.example.net
Le Wed, 03 Nov 2010 14:30:25 +0100, Colin Paul Gloster
<Colin_Paul_Gloster@acm.org> a écrit:
> HOOD enforces type consistency. Object-oriented languages are weakly
> typed.
Right for HOOD, wrong for OO. OO says nothing about typing, it is all
about identifying the characteristics of an object at analysis stage and
about to be able to express it in a language, which may be typed or not.
If you've seen many untyped OO languages, this is not because OO is not
typed, but because these languages added some more paradigm to OO to serve
some targets. I would say : this is not really the language which is OO,
this is the analysis.
To be honest, the language may provide support, like the minimum required
for structures, but this not mandatory, as objects may be represented in
any other way (even with their properties scattered every where in a
database), and does not do a lot more.
> HOOD does not promote jumping into prototyping. Object-oriented
> systems do not always mature out of prototyping.
Here we are : OO is not prototyping (nor a theory of types), but some
languages mixed prototyping and OO. Prototyping is indeed the other way
(and most natural way for human beings) to do without typing, so they may
be typed OO, and prototyped OO.
> HOOD has generics. Object orientation does not need generics.
I am not sure to see the point, so I will not reply.
> Object orientation supports interactive modifications to the system
> while it is being run, without relying on patches in machine code.
One again, these are other things, not OO.
You may have OO mixed with : dynamic linking, agents, prototypes, types,
messages passing, method invokation, delegation, inheritance, object as
class (or class as object), and so on.
OO is like an high level language compared to an assembly language, it was
created to overcome limits of the classic structural approach which is
unable to handle/manage large systems (while it is nice for smaller).
Then, *on top of that*, you may have many things, just like an high level
language which is not assembly, may be many things (you may not assert a
lot about a language based on the only fact it is hight level). I also
feel this is in some way comparable to Ada packages.
To draw a picture
-> machine code (very early history)
- tiny-applications
-> assembly (which some one confuse with machine code)
- small-applications
- “coding” is the main matter
(was created to ease coding, using
symbols instead of numeric codes)
-> high level structured language
- medium to attempted large scale application
- “coding” is lesser and lesser a matter
and “analysis” comes in the place
(structural language gave life to Analysis)
-> object oriented language
- “analysis” is clearly the matter, so much
that it is even done more and more
early in the application's live, so much
that it became quite common to do
analysis while not even a single line
of source was ever written (!)
- the old structural languages are always used,
but they are used to implement OO (you
will see structural stuff inside of
object methods)
-> modeling language (large and/or long life applications)
- “analysis” is now the only one things : coding ? what
is this ? OO is always there, plus some other hight
level paradigm depending on the area (dynamic systems,
parallel systems, network and web applications, user
interfaces, intelligent agents, etc).
- OO is now a bit relegated, to the base components, part
of the basic alphabet. It turned to be the background
and the base material (note that even in this
context, OO still make use of structural languages
for its own purpose, so it has not disappeared at all).
To be short
Early time .... -----------> increasing time
Small system .. -----------> larger system
Few analysis .. -----------> more analysis up to be the only
focus
OO is just a stage there (the actual one or the direct-previous one,
depending on the point of view). With that, it may be typed, none-typed
(depending on the area), have generic or not, and so on.
--
Si les chats miaulent et font autant de vocalises bizarres, c’est pas pour
les chiens.
next prev parent reply other threads:[~2010-11-03 19:16 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-29 2:27 Do people who use Ada also use ocaml or F#? Chad R. Meiners
2010-10-29 2:58 ` Yannick Duchêne (Hibou57)
2010-10-30 1:32 ` Chad R. Meiners
2010-10-30 2:22 ` Yannick Duchêne (Hibou57)
2010-10-30 3:44 ` Chad R. Meiners
2010-10-30 12:15 ` Georg Bauhaus
2010-10-30 12:14 ` Florian Weimer
2010-10-30 12:46 ` Yannick Duchêne (Hibou57)
2010-10-30 13:59 ` Florian Weimer
2010-10-30 14:12 ` Niklas Holsti
2010-10-30 18:58 ` Yannick Duchêne (Hibou57)
2010-10-30 19:20 ` Georg Bauhaus
2010-10-30 23:11 ` Jeffrey Carter
2010-10-31 15:13 ` Florian Weimer
2010-10-29 7:53 ` Dmitry A. Kazakov
2010-10-29 17:10 ` Yannick Duchêne (Hibou57)
2010-10-29 19:10 ` Dmitry A. Kazakov
2010-10-29 22:16 ` Jeffrey Carter
2010-10-30 0:01 ` Vinzent Hoefler
2010-10-30 2:07 ` Chad R. Meiners
2010-10-30 23:02 ` Jeffrey Carter
2010-10-30 23:30 ` Yannick Duchêne (Hibou57)
2010-10-31 2:31 ` Jeffrey Carter
2010-10-31 2:58 ` Yannick Duchêne (Hibou57)
2010-10-31 10:57 ` J-P. Rosen
2010-10-31 11:04 ` Yannick Duchêne (Hibou57)
2010-10-31 16:58 ` Jeffrey Carter
2010-11-01 17:46 ` Colin Paul Gloster
2010-11-01 17:03 ` Vinzent Hoefler
2010-11-03 13:30 ` Colin Paul Gloster
2010-11-03 19:16 ` Yannick Duchêne (Hibou57) [this message]
2010-10-30 7:41 ` Dmitry A. Kazakov
2010-10-30 23:08 ` Jeffrey Carter
2010-10-30 23:15 ` Vinzent Hoefler
2010-10-31 2:36 ` Jeffrey Carter
2010-10-31 3:01 ` Yannick Duchêne (Hibou57)
2010-10-31 4:52 ` Jeffrey Carter
2010-10-31 5:12 ` Yannick Duchêne (Hibou57)
2010-10-31 7:38 ` Dmitry A. Kazakov
2010-10-31 8:03 ` Yannick Duchêne (Hibou57)
2010-10-31 8:14 ` Dmitry A. Kazakov
2010-10-31 11:00 ` J-P. Rosen
2010-10-31 11:17 ` Dmitry A. Kazakov
2010-10-31 12:51 ` J-P. Rosen
2010-10-31 15:07 ` Dmitry A. Kazakov
2010-10-31 15:32 ` Yannick Duchêne (Hibou57)
2010-10-31 20:00 ` Dmitry A. Kazakov
2010-10-31 20:04 ` Yannick Duchêne (Hibou57)
2010-10-31 20:19 ` Dmitry A. Kazakov
2010-10-31 18:23 ` Jeffrey Carter
2010-10-31 18:02 ` Jeffrey Carter
2010-10-30 2:07 ` Chad R. Meiners
2010-10-30 2:29 ` Yannick Duchêne (Hibou57)
2010-10-30 3:55 ` Chad R. Meiners
2010-10-30 7:49 ` Dmitry A. Kazakov
2010-10-30 12:18 ` Florian Weimer
2010-10-30 12:59 ` Dmitry A. Kazakov
2010-10-30 19:12 ` Yannick Duchêne (Hibou57)
2010-10-30 19:37 ` Dmitry A. Kazakov
2010-10-30 20:04 ` Yannick Duchêne (Hibou57)
2010-10-30 20:54 ` Dmitry A. Kazakov
2010-10-30 21:53 ` Yannick Duchêne (Hibou57)
2010-10-31 8:12 ` Dmitry A. Kazakov
2010-10-31 9:49 ` Yannick Duchêne (Hibou57)
2010-10-31 21:46 ` Shark8
2010-11-01 9:32 ` Dmitry A. Kazakov
2010-11-01 10:17 ` Florian Weimer
2010-11-05 12:46 ` Robert A Duff
2010-11-05 16:39 ` Dmitry A. Kazakov
2010-11-06 17:22 ` Stephen Leake
2010-11-06 20:56 ` Robert A Duff
2010-11-06 23:03 ` Dmitry A. Kazakov
2010-11-06 23:41 ` Yannick Duchêne (Hibou57)
2010-11-07 0:18 ` Yannick Duchêne (Hibou57)
2010-11-07 11:51 ` Simon Wright
2010-11-07 12:14 ` Dmitry A. Kazakov
2010-11-07 3:05 ` Chad R. Meiners
2010-11-01 11:44 ` Brian Drummond
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox