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

DiskCatalogMaker 6.4.12 - Catalog your d...
DiskCatalogMaker is a simple disk management tool which catalogs disks. Simple, light-weight, and fast. Finder-like intuitive look and feel. Super-fast search algorithm. Can compress catalog data... Read more
Macs Fan Control 1.3.0.0 - Monitor and c...
Macs Fan Control allows you to monitor and control almost any aspect of your computer's fans, with support for controlling fan speed, temperature sensors pane, menu-bar icon, and autostart with... Read more
Lyn 1.5.11 - Lightweight image browser a...
Lyn is a lightweight and fast image browser and viewer designed for photographers, graphic artists and Web designers. Featuring an extremely versatile and aesthetically pleasing interface, it... Read more
NeoOffice 2014.11 - Mac-tailored, OpenOf...
NeoOffice is a complete office suite for OS X. With NeoOffice, users can view, edit, and save OpenOffice documents, PDF files, and most Microsoft Word, Excel, and PowerPoint documents. NeoOffice 3.x... Read more
LaunchBar 6.4 - Powerful file/URL/email...
LaunchBar is an award-winning productivity utility that offers an amazingly intuitive and efficient way to search and access any kind of information stored on your computer or on the Web. It provides... Read more
Remotix 3.1.4 - Access all your computer...
Remotix is a fast and powerful application to easily access multiple Macs (and PCs) from your own Mac. Features Complete Apple Screen Sharing support - including Mac OS X login, clipboard... Read more
DesktopLyrics 2.6.6 - Displays current i...
DesktopLyrics is an application that displays the lyrics of the song currently playing in "iTunes" right on your desktop. The lyrics for the song have to be set in iTunes; DesktopLyrics does nothing... Read more
VOX 2.5.1 - Music player that supports m...
VOX is a beautiful music player that supports many filetypes. The beauty is in its simplicity, yet behind the minimal exterior lies a powerful music player with a ton of features and support for all... Read more
NetNewsWire 4.0.0 - RSS and Atom news re...
NetNewsWire is the best way to keep up with the sites and authors you read most regularly. Let NetNewsWire pull down the latest articles, and read them in a distraction-free and Mac-like way. Native... Read more
MacUpdate Desktop 6.0.6 - Search and ins...
MacUpdate Desktop 6 brings seamless 1-click installs and version updates to your Mac. With a free MacUpdate account and MacUpdate Desktop 6, Mac users can now install almost any Mac app on macupdate.... Read more

Biz Builder Delux (Games)
Biz Builder Delux 1.0.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.0 (iTunes) Description: Ah, there's nothing like the rhythmic bustle of a burgeoning business burg... especially when you're the one building it... | Read more »
Auroch Digital is Bringing Back Games Wo...
| Read more »
Carbo - Handwriting in the Digital Age...
Carbo - Handwriting in the Digital Age 1.0 Device: iOS Universal Category: Productivity Price: $3.99, Version: 1.0 (iTunes) Description: | Read more »
Draggy Dead (Games)
Draggy Dead 1.1 Device: iOS Universal Category: Games Price: $.99, Version: 1.1 (iTunes) Description: Ditch your dead end job and take up a rewarding career in Grave Robbing today!Guide the recently deceased to a fun filled life of... | Read more »
Bad Dinos (Games)
Bad Dinos 1.0.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.0 (iTunes) Description: | Read more »
The Apple Watch isn't Great as a Fi...
| Read more »
Show the World What You See With Stre.am...
Live broadcasting is getting popular on mobile devices, which is why you can now get Stre.am, by Infinite Takes. [Read more] | Read more »
PhotoTime's 2.1 Update Adds Apple W...
The latest PhotoTime update is adding even more functionality to the handy photo organizing app. Yep, including Apple Watch support. [Read more] | Read more »
Oh My Glob! Adventure Time Puzzle Quest...
Finn and Jake are taking over D3 Go!'s popular puzzle game series in the upcoming Adventure Time Puzzle Quest. [Read more] | Read more »
Earthcore: Shattered Elements - Tips, Tr...
At first glance, Earthcore: Shattered Elements seems like a rather simple card-battling game. Once you’re introduced to skills that will change quite a bit. Even more so once you start to acquire hero cards. But it’s not so complicated that we... | Read more »

Price Scanner via MacPrices.net

OtterBox Maximizes Portability, Productivity...
From the kitchen recipe book to the boarsroom presentation, the OtterBox Agility Tablet System turns tablets into one of the most versatile pieces of handheld technology available. Available now, the... Read more
Launch of New Car App Gallery and Open Develo...
Automatic, a company on a mission to bring the power of the Internet into every car, has announced the launch of the Automatic App Gallery, an app store for nearly every car or truck on the road... Read more
Memorial Day Weekend Sale: 13-inch 1.6GHz Mac...
Best Buy has the new 13″ 1.6GHz/128GB MacBook Air on sale for $849 on their online store this weekend. Choose free shipping or free local store pickup (if available). Sale price for online orders... Read more
Memorial Day Weekend Sale: 27-inch 3.5GHz 5K...
Best Buy has the 27″ 3.5GHz 5K iMac on sale for $2099.99 this weekend. Choose free shipping or free local store pickup (if available). Sale price for online orders only, in-store prices may vary.... Read more
Sale! 16GB iPad mini 3 for $349, save $50
B&H Photo has the 16GB iPad mini 3 WiFi on sale for $349 including free shipping plus NY sales tax only. Their price is $50 off MSRP, and it’s the lowest price available for this model. Read more
Price drop on 2014 15-inch Retina MacBook Pro...
B&H Photo has dropped prices on 2014 15″ Retina MacBook Pros by $200. Shipping is free, and B&H charges NY sales tax only: - 15″ 2.2GHz Retina MacBook Pro: $1799.99 save $200 - 15″ 2.5GHz... Read more
With a Mission to Make Mobile Free, Scratch W...
Scratch Wireless, claiming to be the world’s first truly free mobile service, has announced the availability of a new Scratch-enabled Android smartphone, the Coolpad Arise. The smartphone is equipped... Read more
First-Ever Titanium Alloy Curved iPhone 6 Scr...
One of the most common problems with mobile phones is damage to the screens. The slightest drop can cause a dreaded spider web of gashes and cracks in the glass panel surface that can cost $hundreds... Read more
Preorder new 12-inch MacBook, $10 off, save o...
Adorama has new 12″ Retina MacBooks available for preorder for $10 off MSRP including free shipping plus NY & NJ sales tax only. For a limited time, Adorama will include a free Apple USB-C to USB... Read more
Will iOS 9 Finally Bring Productivity Friendl...
Ah, the irony. From its original announcement in 2010, Apple has doggedly insisted that the iPad remain “simple,” thus arbitrarily limiting its considerable potential as a content creation and... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Architect / Senior Software Engineer, *Apple...
Changing the world is all in a day039s work at Apple . If you love innovation, here039s your chance to make a career of it. You039ll work hard. But the job comes with Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
*Apple* Pay Support Readiness Project Manage...
Changing the world is all in a day039s work at Apple . If you love innovation, here039s your chance to make a career of it. You039ll work hard. But the job comes with Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.