TweetFollow Us on Twitter

May 92 - Why OODLs are Good for You

Why OODLs are Good for You

Jeffrey W Stulin

Jeffrey W Stulin Computer Software Consultants AppleLink: D1104

End of a Friendship?

During a recent visit to Florida, while staying with friends (a pair of authors), I had a frustrating, ninety minute, one a.m. argument about programming languages.

My friend Bob has had no formal computer education, yet he was able to create a sophisticated poker playing program written totally in HyperTalk. He proudly demonstrated the program running on his new Powerbook 170 (Yes, a 170. He is a best-selling author....)

After the demonstration we discussed Bob's plans for continuing his computer self-education. He wanted to know why he should learn another computer language. After all couldn't you program anything using HyperTalk?

I went into my usual b/s about Turing Machines, and yes you could theoretically use HyperTalk for all programming, but that HyperTalk was impractical for many problems.

"Like what?" he asked innocently.

During the next hour my blood pressure rose to 200 over 100; we wasted a tree trying to outline examples and counter examples; Bob went through half a bottle of scotch; both wives fell asleep in their comfy chairs (clearly not software ideologues); and I ranted eloquently about both practical and obscure issues in software development. But Bob just sat there shaking his head and repeating:

"Couldn't I just write a HyperTalk function to do that?"

What really annoyed me was that he was right: you can do just about anything with a HyperTalk function. At least anything that Bob could conceive of, since he has only had the HyperTalk language to express his programming thoughts.

Bob and I lacked a common vocabulary to talk about software concepts beyond his experience. Arrays, objects, structures, file management, and typed variables are a mystery to him.

End of my credibility in MADA?

This is the same problem I have in convincing those of you without significant dynamic language experience that OODLs-Object-Oriented Dynamic Languages such as Macintosh Common Lisp (MCL) and Smalltalk-are a good idea. We don't have a common vocabulary for communication.

Here is a statement that will get me into trouble. Putting aside the issue of runtime performance I claim that:

The set of interesting problems which can be reasonably explored and expressed using an object oriented dynamic language such as MCL is, while not a proper superset, much larger than the set which can be reasonably explored and expressed by a static language such as C++.

By "explored and expressed" I mean that, when faced with a problem, a programmer must first figure out how to solve it and then express the solution using a programming language.

Their ability to explore and express a large set of problems is the reason that dynamic languages have been the mainstay of Artificial Intelligence, which has tried to solve the "hardest" problems.

I can see that many of you are shaking your head in skepticism. After all, if OODLs are so good, why doesn't everybody use them? (You may also want to ask yourself why object-oriented programming didn't catch on in the 1960's when it was invented.)

The traditional answer (there are others, but this is the big one) is that their runtime performance characteristics are poor. They are slow, they use lots of memory, and they are occasionally interrupted by garbage collection. Which leads me to my second claim:

Advances in hardware and compiler technology will soon overcome the traditional runtime performance problems of OODLs.

In my yet-to-be-published third MCL article, I will note that figuring out how to squeeze performance out of MCL is not easy, but once done (or, in my case, once told how by the MCL development team), performance, as an issue, almost disappears.

Based on these claims, I draw a conclusion:

Sometime around the end of this decade, OODLs will be the mainstream tools used for developing software applications.

Don't take my word for it, I'm just some fool babbling over the link-waves. You can believe Larry Tesler, whose keynote address at the MADA conference said much the same thing. In fact, you don't even have to believe me about what Larry said; my understanding is that his speech is included on the conference CD. Watch him for yourself.

Is there Help for bob?

You may have noticed that this article is filled with philosophical hot air and is disappointingly thin on evidence, just like my argument with Bob. I admit my sins, ask forgiveness, and make a promise. If you, the MADA community, show an interest in OODLs, then I (and others) will write a series of articles exploring aspects of OODLs which will prove the claims stated here. Topics will include: What makes dynamic languages so expressive, dynamically vs. statically typed variables, automatic memory management, runtime performance of dynamic languages, etc. etc. And I will make Bob read them all.

I believe OODLs are in our professional future, that we can have a say in the direction of OODL development, and that programming with OODLs is more productive and pleasant than is programming using the current crop of static languages. That is why I am a co-founder of the new OODL/MCL SIG.

Interested? Join the OODL/MCL SIG and let me know.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

How to manage your time in Bakery Blitz
It can be tricky, especially when you risk burning your kitchen to the ground if you forget a cake in the oven, so make sure to use these time management tricks to keep your bakery running smoothly. Don’t collect the money right away [Read more] | Read more »
Model 15 (Music)
Model 15 1.0 Device: iOS iPhone Category: Music Price: $29.99, Version: 1.0 (iTunes) Description: The Moog Model 15 App is the first Moog modular synthesizer and synthesis educational tool created exclusively for iPad, iPhone and... | Read more »
How to deal with wind in Angry Birds Act...
Angry Birds Action! is a physics-based puzzler in which you're tasked with dragging and launching birds around an obstacle-littered field to achieve a set objective. It's simple enough at first, but when wind gets introduced things can get pretty... | Read more »
How to get three stars in every level of...
Angry Birds Action! is, essentially, a pinball-style take on the pull-and-fling action of the original games. When you first boot it up, you'll likely be wondering exactly what it is you have to do to get a good score. Well, never fear as 148Apps... | Read more »
The beginner's guide to Warbits
Warbits is a turn-based strategy that's clearly inspired by Nintendo's Advance Wars series. Since turn-based strategy games can be kind of tricky to dive into, see below for a few tips to help you in the beginning. Positioning is crucial [Read... | Read more »
How to upgrade your character in Spellsp...
So you’ve mastered the basics of Spellspire. By which I mean you’ve realised it’s all about spelling things in a spire. What next? Well you’re going to need to figure out how to toughen up your character. It’s all well and good being able to spell... | Read more »
5 slither.io mash-ups we'd love to...
If there's one thing that slither.io has proved, it's that the addictive gameplay of Agar.io can be transplanted onto basically anything and it will still be good fun. It wouldn't be surprising if we saw other developers jumping on the bandwagon,... | Read more »
How to navigate the terrain in Sky Charm...
Sky Charms is a whimsical match-'em up adventure that uses creative level design to really ramp up the difficulty. [Read more] | Read more »
Victorious Knight (Games)
Victorious Knight 1.3 Device: iOS Universal Category: Games Price: $1.99, Version: 1.3 (iTunes) Description: New challenges awaits you! Experience fresh RPG experience with a unique combat mechanic, packed with high quality 3D... | Read more »
Agent Gumball - Roguelike Spy Game (Gam...
Agent Gumball - Roguelike Spy Game 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Someone’s been spying on Gumball. What the what?! Two can play at that game! GO UNDERCOVERSneak past enemy... | Read more »

Price Scanner via MacPrices.net

13-inch 2.5GHz MacBook Pro on sale for $999,...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $999 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more
Apple refurbished 2015 iMacs available for up...
Apple now has a full line of Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are... Read more
Indian Smartphone Market Grows Annually by 12...
India’s smartphone market grew by 12 percent year-over-year, with 24.4 million units shipping in Q1 2016. The top five vendors stayed the same, with Samsung in the lead, followed by Micromax, Intex... Read more
Get Notifications When Your Friend’s Phone Ba...
Calgary, Canada based Stonelight Pictures has announced the release of Battery Share 1.0.1, its new utility for iOS 9 supported devices. The company notes that people are spending more time on their... Read more
11-inch 1.6GHz/128GB MacBook Air on sale for...
Amazon has the current-generation 11″ 1.6GHz/128GB MacBook Air (sku MJVM2LL/A) on sale for $749.99 for a limited time. Their price is $150 off MSRP, and it’s the lowest price available for this model... Read more
Price drops on clearance 2015 13-inch MacBook...
B&H Photo has dropped prices on clearance 2015 13″ MacBook Airs by up to $250. Shipping is free, and B&H charges NY sales tax only: - 13″ 1.6GHz/4GB/128GB MacBook Air (MJVE2LL/A): $799, $200... Read more
Mac minis on sale for up to $100 off MSRP
B&H Photo has Mac minis on sale for up to $100 off MSRP including free shipping plus NY sales tax only: - 1.4GHz Mac mini: $449 $50 off MSRP - 2.6GHz Mac mini: $649 $50 off MSRP - 2.8GHz Mac mini... Read more
13-inch Retina MacBook Pros on sale for up to...
B&H Photo has 13″ Retina MacBook Pros on sale for $130-$200 off MSRP. Shipping is free, and B&H charges NY tax only: - 13″ 2.7GHz/128GB Retina MacBook Pro: $1169 $130 off MSRP - 13″ 2.7GHz/... Read more
Apple price trackers, updated continuously
Scan our Apple Price Trackers for the latest information on sales, bundles, and availability on systems from Apple’s authorized internet/catalog resellers. We update the trackers continuously: - 15″... Read more
SanDisk Half-Terabyte SSD Optimized for Every...
SanDisk Corporation has announced the SanDisk Z410 SSD, a cost-competitive, half-terabyte solid state drive (SSD) that enables manufacturers to design for a broad range of desktop PCs and laptops.... Read more

Jobs Board

Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation WHY YOU LL LIKE IT You ll be the Big Apple You ll solve problems You ll get to show your ability to handle the stress and Read more
*Apple* Retail - Multiple Positions (US) - A...
Job Description:SalesSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
*Apple* Subject Matter Expert - NTT Data, In...
…in Owings Mills, MD has a 6+ month contract position available for an Apple Subject Matter Expert. TITLE: Apple Subject Matter Expert LOCATION: Owings Mills, Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.