OOP is dying badly (offtopic from trendcontrol)
- Rook Zimbabwe
- Addict
- Posts: 4322
- Joined: Tue Jan 02, 2007 8:16 pm
- Location: Cypress TX
- Contact:
OOP is dying badly (offtopic from trendcontrol)
http://kawagner.blogspot.com/2006/08/oop-is-dead.html
{{EDIT:}} The author does have what looks to be limited experience with OOP however the second link here is far more interesting. The author has a lot of experience with OOP. I have worked with him in the past on several projects where OOP was involved.
I tend to agree with this... Your thoughts?
Oh, I liked this one too (author has OOP experience):
http://www.geocities.com/tablizer/oopbad.htm
{{EDIT:}} The author does have what looks to be limited experience with OOP however the second link here is far more interesting. The author has a lot of experience with OOP. I have worked with him in the past on several projects where OOP was involved.
I tend to agree with this... Your thoughts?
Oh, I liked this one too (author has OOP experience):
http://www.geocities.com/tablizer/oopbad.htm
Last edited by Rook Zimbabwe on Wed Jun 04, 2008 3:35 pm, edited 2 times in total.
It's very hard to "completely grasp OOP" without turning stupid, because the whole point of OOP is that it should model the real world accurately. The problem is, that the real world is not made up of objects. The object conceptualization is all in our mind, and has absolutely nothing at all to do with the real world.
I agree. But the whole point of OOP is to expand your toolbox to provide tools to more elegantly describe the problem your facing within your code. I'm currently studying design patterns in C# and to be honest its some of the most elegant and easily maintainable code I've ever seen. Yes, it does add complexity but that is easily overshadowed by the superior maintainability of the code, because lets face it all programs change and evolve. Some problems, while being able to be solved in a procedural language, are more intuitive and modular using an OOP approach.Trond wrote:The object conceptualization is all in our mind, and has absolutely nothing at all to do with the real world.
And thats the last i'll speak of OOP here as i don't want to fan the flames.

Nice quote though
Look at what it's done to DB programming! ADO wrapper around the ODBC wrapper around a DB driver, when I used to to VB programming all that Recordset object, DB connection object, etc etc used to drive me nuts.
(compare that with the ease of the SQLite API)
My biggest whinge about OOP in a general sense (and VB 5 and 6 didn't really enforce this as much as Java etc which is really evil IMO) is that for some tasks I really DON'T want to use OOP for them, but in the OOP world the answer to that is "tough!" or "you're just not understanding the elegence of it all" (shame on Kale for slipping that cliche into his post
)
I'd be happy to see OOP in PB, but if PB became a full fledged OOP language I'd swallow my pride, apologise to Bob and go back to powerbasic! (thankfully that doesn't look likely
)
Personally while I think OOP can be useful, I think it's more of a straight jacket than a tool.I am frankly jealous of OOP's cliches; or to be more specific, jealous of OOP's "cliche-ability". The cliches sound so convincing on first impression, yet take many pages and many tedious change-scenario analyses to de-hype. Like socialism, bashing capitalistic greed is easy to do and makes for great, gut-level sound-bytes. A counter-argument to such is rather long, and assumes a decent education and attention span.
Look at what it's done to DB programming! ADO wrapper around the ODBC wrapper around a DB driver, when I used to to VB programming all that Recordset object, DB connection object, etc etc used to drive me nuts.

My biggest whinge about OOP in a general sense (and VB 5 and 6 didn't really enforce this as much as Java etc which is really evil IMO) is that for some tasks I really DON'T want to use OOP for them, but in the OOP world the answer to that is "tough!" or "you're just not understanding the elegence of it all" (shame on Kale for slipping that cliche into his post

I'd be happy to see OOP in PB, but if PB became a full fledged OOP language I'd swallow my pride, apologise to Bob and go back to powerbasic! (thankfully that doesn't look likely

Paul Dwyer
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
You obviously don't get OOP if you can't see the elegance of good OOP code design. Oh yes, i admit there are bad examples, but when done right it is a joy to support.pdwyer wrote:My biggest whinge about OOP in a general sense (and VB 5 and 6 didn't really enforce this as much as Java etc which is really evil IMO) is that for some tasks I really DON'T want to use OOP for them, but in the OOP world the answer to that is "tough!" or "you're just not understanding the elegence of it all" (shame on Kale for slipping that cliche into his post)
Your argument about the objects involved in VB (ADO) DB programming is odd as you are focusing too much on the objects themselves and not realising how and why they work and how they are used in larger frameworks. If SQLite does your job then don't complicate matters with huge overkill solutions. Remember OOP and related frameworks are a tool to be used when needed.
Arggg, i'm drawn back in... lol!
So you would say that there should never be a need for non OOP programming?
My point is that I don't think it's always appropriate and hate being forced to use it in such situations.
(hopefully a double negative won't turn this into a flame debate
My point is that I don't think it's always appropriate and hate being forced to use it in such situations.
(hopefully a double negative won't turn this into a flame debate

Paul Dwyer
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
OOP done well is a easy to work with and is joy read.
Procedural programming done well is easy to work with and is joy to read.
There is a key statement there: "Done Well".
My problem is that most publicly available code and a lot of "coders" (mainly coding monkeys that do it for a job rather than for pleasure) do both badly.
But because PP is extremely linear it does lend itself to being the easiest of the two to fix.
Personally, I don't mind either way, as long as you have a method of jumping straight in to test a theory.
With .net I draw a button, double click and have a function ready for me to play with. Because of this, I now have a "WindowsApplication1" with approximately 50 buttons, all testing different theories. I have a couple of hang off forms and classes all to do with my testing project.
With PB, I have a folder called "Research" where I put all my theory testing in individual pb files.
It's the same difference, and as long as I can just straight in to test something, I don't care if it's OOP or PP.
Procedural programming done well is easy to work with and is joy to read.
There is a key statement there: "Done Well".
My problem is that most publicly available code and a lot of "coders" (mainly coding monkeys that do it for a job rather than for pleasure) do both badly.
But because PP is extremely linear it does lend itself to being the easiest of the two to fix.
Personally, I don't mind either way, as long as you have a method of jumping straight in to test a theory.
With .net I draw a button, double click and have a function ready for me to play with. Because of this, I now have a "WindowsApplication1" with approximately 50 buttons, all testing different theories. I have a couple of hang off forms and classes all to do with my testing project.
With PB, I have a folder called "Research" where I put all my theory testing in individual pb files.
It's the same difference, and as long as I can just straight in to test something, I don't care if it's OOP or PP.
- Rook Zimbabwe
- Addict
- Posts: 4322
- Joined: Tue Jan 02, 2007 8:16 pm
- Location: Cypress TX
- Contact:
- Rook Zimbabwe
- Addict
- Posts: 4322
- Joined: Tue Jan 02, 2007 8:16 pm
- Location: Cypress TX
- Contact:
Then I think C++ with it's multiple inheritance and (not so much on the OOP side) the overloading of absolutely anything from functions to operators :roll:Elegant: Adj:
1. tastefully fine or luxurious in dress, style, design, etc.: elegant furnishings.
2. gracefully refined and dignified, as in tastes, habits, or literary style: an elegant young gentleman; an elegant prosodist.
3. graceful in form or movement: an elegant wave of the hand.
4. appropriate to refined taste: a man devoted to elegant pursuits.
5. excellent; fine; superior: an absolutely elegant wine.
6. (of scientific, technical, or mathematical theories, solutions, etc.) gracefully concise and simple; admirably succinct.
"gracefully concise and simple; admirably succinct" isn't something I'd append to one of those wall chart sized object models for .net or Java either
But then, neither would I say that about assembly language

Paul Dwyer
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
Elegant: Adj:
1. tastefully fine or luxurious in dress, style, design, etc.: elegant furnishings.
2. gracefully refined and dignified, as in tastes, habits, or literary style: an elegant young gentleman; an elegant prosodist.
3. graceful in form or movement: an elegant wave of the hand.
4. appropriate to refined taste: a man devoted to elegant pursuits.
5. excellent; fine; superior: an absolutely elegant wine.
6. (of scientific, technical, or mathematical theories, solutions, etc.) gracefully concise and simple; admirably succinct.
7. PureBasic. Period.
