Page 1 of 8

Fuel for you OOP non-believers...

Posted: Mon Apr 03, 2006 2:50 am
by USCode

Posted: Mon Apr 03, 2006 6:12 pm
by Straker
Interesting. Now where is a link for busting the ".NET" myth? That's what I'd like to see!

Posted: Mon Apr 03, 2006 6:31 pm
by USCode
Straker wrote:Interesting. Now where is a link for busting the ".NET" myth? That's what I'd like to see!
As it's posted on MSDN I don't think it "busts" the .NET myth ... but it is an article on the .NET myth! ;-)
http://msdn.microsoft.com/library/defau ... 012004.asp

Posted: Mon Apr 03, 2006 8:48 pm
by Straker
Thanks! I like it! Almost sounds like a plug for Mono, because if you follow his logic, why stay bound to even a specific platform/OS? Mono takes .NET to other platforms.

He was right on the money with regard to CTOs.
I've heard it said by many a CTO in many a technical briefing that, "We're planning to port our whole system to .NET." Why spend 18 months converting your application, so you can arrive at the endpoint you're already at?
Classic. and sadly, so true.

Posted: Mon Apr 03, 2006 9:42 pm
by GedB
Here's a 7 minute view showing off dabble db:

http://dabbledb.com/utr/

Written in Smalltalk, it shows what OO can do.

Posted: Mon Apr 03, 2006 10:43 pm
by Dare2
Very nice (and useful) links, USCode. Thanks.

Posted: Tue Apr 04, 2006 1:51 am
by naw
Too true. I learnt BASIC at about 8 or 10 yrs old. OOP still leaves me cold at 37. C++ code is also particularly *fragile* when porting to different systems due to the horrendously comlex dependencies. C code is more self-contained than C++ and tends to port with little trouble.

Posted: Tue Apr 04, 2006 11:48 am
by GedB
Its horses for courses.

If you are writing a big application with multiple developers you really, really want to have good OO.

If your working on your own, OO can be more trouble than its worth.

Posted: Tue Apr 04, 2006 8:47 pm
by fsw
This list is pretty old even if he updates it from time to time.

This guy generalizes too much for my taste.

His whole goal seems to be to promote HIS idea of the holy grail.

:roll:

Posted: Wed Apr 05, 2006 9:54 am
by GedB
I find he has good criticisms, but his alternative approach is awful.

Take his SQL example.
http://www.geocities.com/tablizer/sqlcrit.htm

He is right to criticise this:

Code: Select all

  select name, lodging, age from worker w where age = 
    (select max(age) from worker where w.lodging = lodging)
    order by lodging
But his 'superior' alternative is this!

Code: Select all

  prev = "[init]"
  open "worker" as w
  addTempColumn(w, "mark", "")        // add a temp, empty column called 'mark'
  scan w order by lodging, age desc   // traverse each record with a loop
     if w.lodging != prev then w.mark = 'X'   // Mark 1st in new group
     prev = w.lodging
  endScan
  select * from w where mark = 'X'
Personally I find the first solution much better. The awkward sub query in the where clause wouldn't be needed if the table was properly normalised.

Posted: Wed Apr 05, 2006 7:17 pm
by josku_x
Thanks for the link USCode. Now I am really thinking that PureBasic should not have OOP. Before I read this, I always thought that it would be better to code OOP-ish in PureBasic, but now I just stay back, eat some pizza and enjoy life! :roll:

undecided

Posted: Wed Apr 05, 2006 8:30 pm
by USCode
Yeah, my original post was more of an FYI for those folks here who don't buy into the whole notion of OOP.

Personally I think both have their place depending on the application, team size, project size, etc. In my "real" day job I develop applications with an OOP language on a team with 10+ developers and OOP has it's place there but unfortunately, without a lot of discipline on proper OOP usage, I'm not convinced we're reaping all of the OOP benefits ... I wonder how many large projects actually do...?

Most folks here just try to get their stuff done ASAP and at that point OOP becomes just so much more overhead...

Posted: Wed Apr 05, 2006 8:54 pm
by Straker
As stated many times before OOP can already be implemented in PureBasic. Its primarily a technique anyway. You are already dealing with objects in PB anyway. Isn't a window an object? Aren't width and height object attributes? Aren't HideWindow() and CloseWindow() methods to be acted upon a given object instance?
:?:

// starts flame war and runs for cover...

Posted: Wed Apr 05, 2006 9:35 pm
by USCode
Straker wrote:As stated many times before OOP can already be implemented in PureBasic. Its primarily a technique anyway. You are already dealing with objects in PB anyway. Isn't a window an object? Aren't width and height object attributes? Aren't HideWindow() and CloseWindow() methods to be acted upon a given object instance?
:?:
Well, sorta, kinda, maybe ... actually, not really ...
Straker wrote:// starts flame war and runs for cover...
Ha, you got that right! ;-)

Posted: Wed Apr 05, 2006 10:07 pm
by Dare2
:D



He objects (as in "I object!") and in this.instance attributes his classy stance to the methodical obsfucation - and increasing complexity - of that which should be kept simple and easy to follow!

Oops. Sorry. Brainfart.