TweetFollow Us on Twitter

March 93 - THE VETERAN NEOPHYTE

THE VETERAN NEOPHYTE

TOWER OF BABBLE

DAVE JOHNSON

[IMAGE 061-063_Neophyte_rev1.GIF]

I recently started learning MacApp. (I know, I know, I can see you shaking your great shaggy collective head, chuckling to yourself, asking where I was three years ago when MacApp was still news. Let's just say I'm a late bloomer.) People weren't kidding when they said that the learning curve is long and steep. They also weren't kidding when they said that it's absolutely worth it.

For me, it was a double whammy: learning MacApp and transitioning from THINK C to MPW. (See, if I'd only learned it in the MacApp 2.0 days I could have used THINK Pascal, but noooo, I had to wait till now.) I've been using THINK C for virtually all my programming since 1986 or so. Using MPW for my own little exploratory projects would be like calling in a highly trained, ultramodern, rapid- deployment mobile emergency medical team to remove a splinter from my thumb. The job would get done, and beautifully, but it'd be an absolutely colossal waste of time, effort, and expense. Frankly, I'd rather just have a good pair of tweezers.

But alas, if I want to use MacApp (and I do!) the days of coding on my PowerBook 100 in the backyard with loyal hounds lolling at my feet are gone for good. Now I need 16 MB of RAM minimum and atleast40 MB of hard disk space (120 to be really comfortable). And I'm not even going to mentionMacApp compile times; it hurts me too much.

But all that's really just logistics and can be gotten used to pretty quickly. The real difference is in the very nature of my interaction with the machine: It used to be that when I'd think of something that needed doing, I'd just go do it. It was like building a machine from scratch, piece by handcrafted piece. Now, using MacApp, when I think of something that needs doing I conduct massive, cross- referenced searches through megabytes of source code to figure out where it's already been done, because no doubt somebody already thought of it, or something very much like it, and implemented it better than I ever could. It's as though I'm running around on top of a giant, humming machine that stretches to the horizon on all sides, hunting for just the right place to reach down into the dark recesses, pull up a live, vibrating cable, and splice in my little special-purpose unit. Often I've spent an hour hunting around for the right place to insert some code, only to discover that to do what I want I just need to set the value of some out-of-the-way Boolean deep inside an object's remote ancestor.

Well, I could ramble forever about my learning experiences, but those of you who've been there know all about it, and those of you who haven't probably don't want to hear it. But this is the first time since I discovered the Macintosh and switched from FORTH to C that thefeelof programming has been completely transformed for me. It occurred to me that the fact that programming is the kind of thing that canhave a feeling to it is noteworthy. Programming computers is an activity unlike any other. It's a human-machine interaction, but because the machine is very special, interacting with it is also very special. Programming has a depth that other machine interactions don't, so it can assume qualities not normally associated with the operation of machinery. It can be a creative act, akin to building an intricate, glittering crystal clockwork out of gossamer strands of pure thought; and it can also be formidable drudgery, a mountain of mind-numbing details, endless in their intricacy, interrelatedness, and total irrelevance to the real task at hand. These are not normally the kinds of things you'd say about operating your dishwasher or toilet.

Computers are something truly new on earth. They're machines that can simulate any other machine; they're somehow potentiallyeverymachine in one. A well-known computer luminary put it this way:

It [the computer] is a medium that can dynamically simulate the details of any other medium, including media that cannot exist physically. It is not a tool, although it can act like many tools. It is the first metamedium, and as such it has degrees of freedom for representation and expression never before encountered and as yet barely investigated. -- Alan Kay, "Computer Software,"Scientific American, September 1984.

Other machines are physical extensions of ourselves; they let us sense and manipulate our physical world with more power and flexibility than we can by ourselves. But they're justphysicalextensions. Computers, though, manipulate and embody abstractions and symbols; they operate on patterns of electrical activity, on imagination, on mindstuff. If you can imagine a machine or a medium in detail, you can program a computer to simulate it. So programming computers is much, much more than telling them what to do -- it's telling them what to be.

Of course, all this philosophical and poetic mumbo-jumbo crashes to the ground when faced with reality. Try telling my friend Michele -- who wrote an entire book on her Macintosh SE and just recently realized that she can use Standard File dialogs to navigate her hard disk -- that her computer "has degrees of freedom for representation and expression never before encountered." Yeah, right. Admittedly, the computer is much more fluid-seeming to programmers than to users (someday, hopefully, a moot distinction), but there's still a large discrepancy between the promise and the realization. Computers still feel more like erector sets -- lots of hard, inflexible little parts -- than like clay.

Boiled down to its thick, syrupy essentials, computer programming is quite simply the creation and communication of detailed instructions. The creation is the really exciting part, and is (or should be) the main task. But the communication is what really defines the experience of programming; it's the part that has afeelto it.

All this touchy-feely talk smacks of natural language. Are programming languages really just another class of natural languages? Is that why programming can feel so rich? I found a great book that addressed this very question (among others):The Cognitive Connectionby Howard Levine and Howard Rheingold.

Programming languages and natural languages do indeed have deep similarities, and share essential features found in any language. They're both sets of abstract symbols that have meaning only by mutual agreement between communicating parties. They're both open-ended: they have an underlying structure and system of rules that allow an infinite variety of correct sentences to be constructed. (Even more remarkably, any correct sentence can later be deciphered by anyone who knows the language, even though they've never seen that sentence before.)

Linguists say that a language has three parts: phonology, syntax, and semantics. Phonology is the way a language is turned into sounds, and is irrelevant to programming languages since they're never spoken. Syntax is the set of rules that specify how the parts of the language -- words and phrases -- are put together to form sentences. Programming languages obviously have strict and unforgivingsyntax. But syntax by itself is an empty shell, telling us only whether a sentence is well formed, not what it means. That's the function of semantics.

Ah, sweet semantics! This is where the rubber meets the road, linguistically speaking, and where significant differences between natural languages and programming languages begin to appear. Howard and Howard illustrate one big semantic difference between natural languages and programming languages by comparing their dictionaries. (Dictionaries are, in a sense, the embodiment of a language's semantics.)

Natural language dictionaries are written in natural languages, so the language must be rich and flexible enough to describe itself. When you look up an English word in Webster's, you get a definition written in English. This is only possible because words in natural languages can have more than one meaning.

Programming language dictionaries, on the other hand, are never written in a programming language. When you look up the definition of a Pascal word, the description is written in English (or Portuguese or Swahili or whatever), not Pascal or C++ or LISP. Unfortunately, the duplicity of meaning that allows a natural language to describe itself opens the door to paradox and self- contradiction, something programming languages can't tolerate.

But there's another, even more apparent semantic difference between programming languages and natural languages. As the Howards so aptly put it:

. . . although philosophers and linguists have struggled for centuries to give precise meaning to the word "meaning," you don't need a degree in either discipline to realize that what constitutes meaning for a programming language is dramatically different from what constitutes meaning for a natural language.

Semantically, programming languages are only a sort of horribly stunted subset of natural languages, because the world they describe -- the operations of computers -- is only a sort of horribly stunted subset of the natural world. So "conversations" in a programming language aren't conversations at all; they're one-sided and one-dimensional commands whose conversational interest is on a par with the instructions on the back of a shampoo bottle: Lather, rinse, repeat.

We are, of course, in the infancy of our relationship with computers, still drooling and babbling experimentally most of the time. Look at MacApp: compared to other available methods of programming the Macintosh, it's astoundingly elegant and streamlined, but even MacApp's most vocal devotees don't want to stop there. Far from being the end product of the evolution of programming, MacApp is only one of the first teetering steps toward more natural and more fluent communication with computers.

A big question is whether our interactions with computers willever be totally fluent, where fluency means the complete subsumption of syntax, so that we can go directly from meaning to expression with no conscious effort. Some people insist it will happen, that there's a future of instant, effortless communication with computers, a wide and crystal clear pathway between us and them, but somehow I can't buy it. I suspect that instead, computer communication will just get more and more like natural communication.

Fraught with misunderstanding and misinterpretation, blocked by its implicit awkwardnesses and incompleteness, human language is nevertheless rich beyond depth. Its infinite flexibility allows it to carry and contain the full spectrum of human thought and feeling, and provides a ground for endless creativity. Indeed, there is an intense joy to using language --anylanguage -- well. If we get only half as far with our computers as we have with our words, we'll have come a very long way indeed.

RECOMMENDED READING

  • The Cognitive Connection by Howard Levine and Howard Rheingold (Prentice-Hall Press, 1987).
  • Scientific American, September 1984.
  • The Happy Birthday Present by Joan Heilbroner, pictures by Mary Chalmers (Harper & Row, 1962).

DAVE JOHNSON recently bought some Crash Dummies and peripheral equipment. These are little "action figures," modeled after real crash dummies, that fly apart in various ways upon impact. You can buy a car to crash them in, crash dummy pets (named Bumper and Hubcat), crash dummy babies in strollers or car seats, crash dummy pedestrians, and even a crash dummy torture chair with straps and clamps and cranks to pull the dummies apart more slowly, one limb at a time. Dave is convinced that if he preserves all the parts in their original packaging he can sell them for some huge amount of money in the future, or at least that's how he's justifying the expense. *

Dave welcomes feedback on his musings. He can be reached at JOHNSON.DK on AppleLink, dkj@apple.com on the Internet, or 75300,715 on CompuServe.*

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

EtreCheck 3.1.5 - For troubleshooting yo...
EtreCheck is an app that displays the important details of your system configuration and allow you to copy that information to the Clipboard. It is meant to be used with Apple Support Communities to... Read more
WALTR 2 2.0.8 - $39.95
WALTR 2 helps you wirelessly drag-and-drop any music, ringtones, videos, PDF, and ePub files onto your iPhone, iPad, or iPod without iTunes. It is the second major version of Softorino's critically-... Read more
Carbon Copy Cloner 4.1.12 - Easy-to-use...
Carbon Copy Cloner backups are better than ordinary backups. Suppose the unthinkable happens while you're under deadline to finish a project: your Mac is unresponsive and all you hear is an ominous,... Read more
Dropbox 16.3.27 - Cloud backup and synch...
Dropbox is an application that creates a special Finder folder that automatically syncs online and between your computers. It allows you to both backup files and keep them up-to-date between systems... Read more
Microsoft OneNote 15.29 - Free digital n...
OneNote is your very own digital notebook. With OneNote, you can capture that flash of genius, that moment of inspiration, or that list of errands that's too important to forget. Whether you're at... Read more
Spotify 1.0.44.100. - Stream music, crea...
Spotify is a streaming music service that gives you on-demand access to millions of songs. Whether you like driving rock, silky R&B, or grandiose classical music, Spotify's massive catalogue puts... Read more
SpamSieve 2.9.27 - Robust spam filter fo...
SpamSieve is a robust spam filter for major email clients that uses powerful Bayesian spam filtering. SpamSieve understands what your spam looks like in order to block it all, but also learns what... Read more
VueScan 9.5.62 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
Fantastical 2.3.2 - Create calendar even...
Fantastical 2 is the Mac calendar you'll actually enjoy using. Creating an event with Fantastical is quick, easy, and fun: Open Fantastical with a single click or keystroke Type in your event... Read more
PCalc 4.4.4 - Full-featured scientific c...
PCalc is a full-featured, scriptable scientific calculator with support for hexadecimal, octal, and binary calculations, as well as an RPN mode, programmable functions, and an extensive set of unit... Read more

Latest Forum Discussions

See All

Track Santa with these three festive app...
Christmas is fast approaching and that means it's time to prepare for Santa's yearly pilgrimage around the globe. Christmas Eve is an exciting time as parents help their kids get ready to welcome Santa. You've got the cookies and milk all planned... | Read more »
Galaxy on Fire 3 and four other fantasti...
Galaxy on Fire 3 - Manticore brings the series back for another round of daring space battles. It's familiar territory for folks who are familiar with the franchise. If you've beaten the game and are looking to broaden your horizons, might we... | Read more »
The best apps for your holiday gift exch...
What's that, you say? You still haven't started your holiday shopping? Don't beat yourself up over it -- a lot of people have been putting it off, too. It's become easier and easier to procrastinate gift shopping thanks to a number of apps that... | Read more »
Toca Hair Salon 3 (Education)
Toca Hair Salon 3 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: | Read more »
Winter comes to Darkwood as Seekers Note...
MyTona, based in the chilly Siberian city of Yakutsk, has brought a little festive fun to its hidden object game Seekers Notes: Hidden Mystery. The Christmas update introduces some new inhabitants to players, and with them a chance to win plenty of... | Read more »
Bully: Anniversary Edition (Games)
Bully: Anniversary Edition 1.03.1 Device: iOS Universal Category: Games Price: $6.99, Version: 1.03.1 (iTunes) Description: *** PLEASE NOTE: This game is officially supported on the following devices: iPhone 5 and newer, iPod Touch... | Read more »
PINE GROVE (Games)
PINE GROVE 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: A pine grove where there are no footsteps of people due to continuous missing cases. The case is still unsolved and nothing has... | Read more »
Niantic teases new Pokémon announcement...
After rumors started swirling yesterday, it turns out there is an official Pokémon GO update on its way. We’ll find out what’s in store for us and our growing Pokémon collections tomorrow during the Starbucks event, but Niantic will be revealing... | Read more »
3 reasons why Nicki Minaj: The Empire is...
Nicki Minaj is as business-savvy as she is musically talented and she’s proved that by launching her own game. Designed by Glu, purveyors of other fine celebrity games like cult favorite Kim Kardashian: Hollywood, Nicki Minaj: The Empire launched... | Read more »
Clash of Clans is getting its own animat...
Riding on its unending wave of fame and success, Clash of Clans is getting an animated web series based on its Clash-A-Rama animated shorts.As opposed to the current shorts' 60 second run time, the new and improved Clash-A-Rama will be comprised of... | Read more »

Price Scanner via MacPrices.net

Never Settle for Low Performing Wifi With iOS...
AppYogi Software has announced the release of WiFi Signal Strength Status App 1.0, the company’s new utility developed exclusively for macOS. WiFi Signal Strength Status App features a unique, single... Read more
New 2016 13-inch Touch Bar MacBook Pros in st...
B&H Photo has stock of new 2016 Apple 13″ Touch Bar MacBook Pro models, each including free shipping plus NY sales tax only: - 13″ 2.9GHz/512GB Touch Bar MacBook Pro Space Gray: $1999 - 13″ 2.... Read more
New 2016 15″ Touch Bar MacBook Pros in stock...
B&H Photo has new 2016 Apple 15″ Touch Bar MacBook Pro models in stock today including free shipping plus NY sales tax only: - 15″ 2.7GHz Touch Bar MacBook Pro Space Gray: $2799 - 15″ 2.7GHz... Read more
DietSensor App Targeting Diabetes and Obesity...
DietSensor, Inc., a developer of smart food and nutrition applications designed to fight diabetes and obesity and help improve overall fitness, has announced the launch of its DietSensor app for... Read more
Holiday 2016 13-inch 2.0GHz MacBook Pro sales...
B&H has the non-Touch Bar 13″ MacBook Pros in stock today for $50-$100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 2.0GHz MacBook Pro Space Gray (MLL42LL/A): $1449 $... Read more
Holiday sale: Apple TVs for $51-$40 off MSRP,...
Best Buy has dropped their price on the 64GB Apple TV to $159.99 including free shipping. That’s $40 off MSRP. 32GB Apple TVs are on sale right now for $98 on Sams Club’s online store. That’s $51 off... Read more
12-inch Retina MacBooks, Apple refurbished, n...
Apple has restocked a full line of Certified Refurbished 2016 12″ Retina MacBooks, now available for $200-$260 off MSRP. Refurbished 2015 models are available starting at $929. Apple will include a... Read more
Holiday sale: 12-inch Retina MacBook for $100...
B&H has 12″ Retina MacBooks on sale for $100 off MSRP as part of their Holiday sale. Shipping is free, and B&H charges NY sales tax only: - 12″ 1.1GHz Space Gray Retina MacBook: $1199 $100... Read more
Apple refurbished 13-inch MacBook Airs availa...
Apple has Certified Refurbished 13″ MacBook Airs available starting at $849. An Apple one-year warranty is included with each MacBook, and shipping is free: - 13″ 1.6GHz/8GB/128GB MacBook Air: $849 $... Read more
Apple refurbished iMacs available for up to $...
Apple has 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 available: - 21″ 3.... Read more

Jobs Board

*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
US- *Apple* Store Leader Program - Apple (Un...
…Summary Learn and grow as you explore the art of leadership at the Apple Store. You'll master our retail business inside and out through training, hands-on Read more
Automotive Detailer - *Apple* Used Autos -...
We are currently conductinginterviews and will be accepting applications for a part-time detailer. Apple Used Autos is a great place to work andstart a career. We 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
*Apple* Retail - Multiple Positions- Trumbul...
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
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.