The Soap-box - I LOVE OOP!

by Bruce Barrington

Published 1998-07-01    Printer-friendly version

(Editor's note: "The Soapbox" is an arena in which a reader can express his or her opinion on a Clarion-related subject. The viewpoints contained in this column are solely those of the author and do not reflect the opinions of Clarion Online or its staff. Submissions for "The Soapbox" should be non-inflammatory. Clarion Online reserves the right to refuse any submissions)

I LOVE OOP! Okay ... I said it! And many of you will recognize that statement as a confession. Because I have been lying on the trackbed of the OOP railroad since it left the station. Remember my arguments?

  • Polymorphism is a cruel hoax! Nobody wants to write a different version of a function for every type of parameter. And you can't solve the problem in the compiler by overloading function names. Sure you can reuse the label, but you still have to write a bunch of useless code. (We solved this problem in 1986 with automatic type conversions.)
  • Inheritance is a one way street! Do classes abstract the real world? Hardly! Do features usually constitute a hierarchy? In other words, when you want feature A and feature C do you always want feature B? Because you inherit it whether you want it or not. (We solved this problem in 1993 with templates that allow you to pick and choose features.)
  • Encapsulation leaks! Inheritance scatters virtual methods to the wind. So you have to look all over the place to find a method. If a class were truly encapsulated, then why would you need a class browser? (We solved this problem in 1997 by documenting the ABC library and gathering virtual methods in the Embeditor.)

I take it all back now that Clarion is an OOP language! Anyway, we're not just any old OOPL, we are the best OOPL. Better than Java. Better than Smalltalk. Better than everybody! I guess we are the best 4GOOPL in the business. (That's a fourth generation object-oriented programming language for the illiterati.) Maybe we are the only 4GOOPL. (I wonder how you would pronounce something like that? Hmmm.) Clarion can do object stuff that no other language does. Like conditional constructors and destructors, local virtual methods, and automatic instantiation. Add that to all the other stuff we are known for. Like clean syntax, powerful conditionals, decimal arithmetic, and cool business entities. Ask David Bayliss about this - he's the architect of the OOP extensions to the Clarion language. Be prepared to sit awhile.

But hold on a minute. It's not all peaches and cream. Is it, Robert? Because now you have to learn everything all over again! Right? You have to go OOP because now Clarion is OOP! Right? You can't change to another tool because they all went over to OOP before Clarion! And OOP sucks! You're between a rock and a hard place! Right Robert?

Wrong! You don't have to learn OOP now. And you probably don't ever have to learn OOP if you don't want to. Think of it this way: You said, "Templates are cool". Yes. Templates are cool. Just as they have been since we introduced them in 1993. But you don't have to write templates to use them do you?

Likewise, OOP is cool. Just as you say "OOP produces smaller code [and] executes faster". But that's not the reason we developed the ABC templates. And we didn't stop enhancing the Clarion templates to "focus all [our] energies on ABC". We hit the wall, Robert. We simply found that we couldn't change the Clarion templates without breaking your applications! We needed a new database application framework to build on. So we created the ABC library. That simplified template development enormously and gave it new life. We are currently working on a new generation of Wizard technology that will improve your productivity by an order of magnitude. This technology would be impossible without ABC and OOP.

We know that a lot of Clarion developers don't have the time or energy to learn a new programming paradigm. That's why we shipped two sets of templates. Just for guys like you. You should use the Clarion templates while the TopSpeed development Centre and our third-party developers do their thing with ABC. In a lot less than the five years you set aside to ignore the template language, you will be offered new wizardry and templatry that will boggle your imagination. With OOP, we can really be productive. In Clarion 5, you will probably be able to reproduce every application you have ever deployed without using any embedded code and without knowing a thing about OOP.

Even if you have to use embedded code, you probably won't have to know much about OOP. You have to choose an embed point. We are reorganizing the embed tree to help you with that. You have to know how to call a method and reference a property with dot syntax. That's a two-minute lesson. You will probably never need to declare or inherit a class.

Here's my point: You are gaining tremendous benefit from our conversion to OOP even if you never learn it yourself. Let us do our job so you can do yours. And you know what our job is: We leverage technology so you can do complicated things in an uncomplicated way.

So don't fight it. Be happy. It's good for you. And you're gonna love it.

Bruce Barrington

TopSpeed Corporation

Printer-friendly version

 
 

Search

 

Advanced Search
Topical Index

Related Articles

Subscribe to
ClarionMag

One year: $189

(includes all back issues since '99)

Renewals from $139

Two years: $289

Renewals from $239

More Info

Subscribe Now!

ClarionMag Blog

RSS Feeds

Updates via Email

Enter your Email


Powered by FeedBlitz

Quick Links