Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Originally posted by Mapraputa Is:
Please, show me benefits of vague language over strict definitions.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
I don't think this is entirely true. A lot of the database writings by Date are comparable critisisms of vague language.But when he ventures afield, it seems mostly to rant and criticize.
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Ron Newman - SCJP 1.2 (100%, 7 August 2002)
Originally posted by Ron Newman:
...but isn't that what "constraints" are for?
Originally posted by Rudy Dakota:
At the end of the day, Date is very rigorous where it comes to terminology and definitions. He applies that to his own field, and he is not shy in acknowledging mistakes he made. This often results in very clear theoretical texts. Mind you: theoretical texts that often are very relevant for day-to-day work.
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Originally posted by Michael Matola:
Could this happen in an OO world?
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Originally posted by Mapraputa Is:
It makes the point the OOP isn't strictly defined, but that's why there's more than one OO language!
Otherwise, 2 + 2= 45 in one language and 138 an another? Is this what you are trying to advocate?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Mapraputa Is:
[QB"A third possibility exists: have the Animal class contain an object that has the appropriate movement behavior"
diagram:
class: Animal <---- class: AnimalMovement
/\
AmimalFly AnimalWalk
[end of quote]
Think about it: first we combine (for unknown reason) data and behavior in one object Animal. Then we, naturally, discover that this is a stupid thing to do in the first place, because tight coupling leads to inflexibility. Now we need to "encapsulate" variations in behavior and how can we do that if "everything is an object"?Right - apply a "pattern" and have a special class (two actually) that "implement" behavior!
So instead of simple non-OOP
[data] [behavior]
we have:
["data + behavior" that "implements" only data] - contains ["data + behavior" that implement only behavior] extended by two other "data&behavior" that implement only behavior.
[/QB]
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Mapraputa Is:
[b]Show me how is it different from what Relational Model called "normalization"?
Well, one difference is that there is a well-defined mechanism to implement normalization, and implement it rigoriously, so that once you done with it, *all* "what varies" is "encapsulated" , there is no need for Great Intellectual Quest any moreThat's why there is no need for "patterns" in RM.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Originally posted by Thomas Paul:
He is quite correct that UML, which claims to be a strict modeling language, lacks clarity. That is a problem that could be addressed. Why can't UML properly define what an object is?
OO requires a lot of up-front design but that is supposed to make it easier to maintain and enhance.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
It is sad that in this day and age -- and certainly in this society, where efficiency is one of the fundamental values -- there is a need to defend the general approach against the case by case approach.
Anything in particular you'd recommend?
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Originally posted by Frank Carver:
To add further fuel to this fire, someone recently pointed me to the following letter by Edsger Dijkstra.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Mapraputa Is:
Do not you think, when even leaders of industry cannot get OOP, something is wrong with it?
How useful is the methodology if people with track of "several fairly impressive designs and implementations in many industries" cannot ger it? What is use of patterns if people who "lead a design pattern study group" still cannot get them? Is this what you call "practical"?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Mapraputa Is:
Date's rant is about UML, not OOP.
This particular rant yes, but he has others, specially targeted at OOP![]()
Like this one examining problems with OOP inheritance model.
TYPE INHERITANCE: IS A CIRCLE AN ELLIPSE?
This is the point I was trying to make. There is always limited intelligence in every society, and OOP for my taste requires unrealistic amounts of it (and for no good reason!).
Now looking back at classes I took in college here, our instructors simply did not understand OOP. One of them for example, honestly admitted lack of understanding AWT design: "looks weird to me"
What then would you expect from students?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Mapraputa Is:
So, what do you think about that?
1 An Animal class
What if "something with responsibilities" is *not only* Animal? (admittedly contrived example: "people"). There is no such thing as multiple inheritance in Java, once inherited from "ape" you cannot inherit from your parents![]()
How about "Animal" interface instead?
that implements *data and behaviur* that is common to animals besides their specific movement strategies
In other words specific kinds of animals inherit it?
Joshua Bloch. "Effective Java" p.73
Item 14. Favor composition over inheritance.
"Unlike method invocation, inheritance breaks encapsulation.
<...>
Luckily, there is a way to avoid all of the problems described earlier. Instead of extending an existing class, give your new class a private field that references an instance of the existing class. This design is called composition because the existing class becomes a component of the new one. Each instance method in the new class invokes the corresponding method of the contained instance of the existing class and returns the result. This is known as forwarding, and the methods in the new class are known as forwarding methods. The resulting class will be rock solid, with no dependencies on the implementation details of the existing class."
How is this conceptually different from simply calling a non-OOP method?
And before I forget, remind me, what was called "redundance" before OOP?
- a Movement baseclass implementing *data and behaviour* that is common to all movement strategies (e.g. current direction and how to change it)
- and specific subclasses of Movement which implement *data and behaviour* that is specific to that movement strategy (e.g. current flapping frequency and how to do a nose dive)
This time interfaces without doubt, otherwise our ducks will never fly...
Let's start all over again: what is the point of combining data and behavior and call it "object"?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Mapraputa Is:
I didn't bother following the link, but I must say that this is a genuinely dumb statement.
Well, this is partly the problem with "C.Date - OO people" communication. Database people read a book and write response. OO people :
"Only glanced at the first couple paragraphs..."
"I didn't bother following the link..."
If you mean my anti-OOP rant, I overstressed here and there a little, partly for the sake of public entertainment.
![]()
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
What are you doing? You are supposed to be reading this tiny ad!
Smokeless wood heat with a rocket mass heater
https://woodheat.net
|