Scripting & Gardening
Monday, May 19, 1997 by Dave Winer.
A hot debate.
One is like C, and another is like English. It's an old debate that's still going on. The Unix folks, I imagine, tune out on AppleScript. It isn't a real programming language. If they look further they see a hacked-up partial implementation, something that looks good at first glance, but when you have to do something complex, the syntax gets ugly.
It isn't intuitive for complex things. It gives good demo, like so much of the software Apple has produced, but when it comes time to build a system, you're better off with parameter lists that look just like parameter lists.
It's an old debate that goes back to the arguments about Fortran versus Cobol. I remember them well. I chose Fortran, then Basic, then Simula, Pascal, and finally C.
The rules got progressively simpler. A procedure call is a name followed by a left paren, followed by a comma-separated parameter list, followed by a right paren. You can combine them to any level of complexity. That makes these languages scale up well. You don't hit walls as your programs get more complex.
Script writers don't get this. They think we're arrogant, but I write scripts too. I've learned what I've learned and I believe what I believe.
I started gardening seven years ago, and I'm still a beginner. I've never been to a class or a workshop, maybe I should, but I've read lots of books, and tried lots of experiments. This season I think I'm going to get some gorgeous Sunset-like displays of color. I'll let you know.
I've learned a lot. I dig fertile holes, plant flowers that will probably not get eaten by snails and slugs. I've learned what plants like what spots. I've got a great snapdragon spot. My roses are working. Roses are the best!
Even better, some of my projects of five years ago are starting to bear fruit -- quite literally. Tons of peaches, apples, plums and oranges. I keep them well watered and fed, and later this year they will feed me and my friends. A good deal. A win-win.
A couple of weekends ago a friend who has a wonderful professional garden came for a visit. I took her on a tour of my garden. At every spot she had advice. I saw my garden in a different light, I noticed the weeds, not the blooms. Too much this, not enough of that. I had a lot of trouble listening and later, every time I visit my garden I think of her advice instead of tuning into what my bushes and plants and trees are doing.
Yes. Even though there are better gardeners, gardening is a lifestyle, and I live in that style. I dream up new projects. I play with new ideas, I cut my losses on failed projects. I think I'm going to be a great gardener someday, and I don't care if other people have better gardens! I love mine, no one can take that away from me.
Script writers say they don't want to be programmers. I still don't get this, because I think they already are programmers. They ask the same questions programmers ask, they have to debug their code just like programmers. They want their scripts to run fast (at least some do) and they want them to be easy to use. These are the same things that good programmers worry about.
But in a recent debate on a scripting list, scripters are shouting loudly and religiously that they don't want to be programmers. It's the old debate, it comes up a lot, and now maybe I think I understand what all the angst is all about.
No one likes a superior attitude. It's distancing. I know something you don't. Your work isn't great, mine is. This kind of talk makes you run for the nearest exit. How to unsubscribe? Help!
In 1992 we started something new, and since then I've been doing a lot more scripting and website building than programming in C. I've been blazing new trails, I was among the first people to build websites, so there were no experts to pick at my work. I never had to worry that someone was doing it better, when I saw something I liked, I added it to my repertoire, easily and quickly.
So I understand that to script writers, well-intentioned advice is dissonant, as my gardening friend's is to me. I'm proud of my garden, and so are less experienced programmers who use scripting software.
For me, as a vendor of scripting software, the dissonance is a business problem. You can't be at odds with the customers, even some of them, even if it's based on a misunderstanding. It's my job to try to understand what people are saying and make appropriate peace offers.
Despite what I think, despite what the Unix geeks think, AppleScript must continue. In the chaos at Apple that doesn't seem assured.
There are lots of important applications, especially publishing applications, written in AppleScript. The implementation of AppleScript is flawed, but that doesn't mean that the language shouldn't go forward.
Let's come up with a new name for AppleScript, get a legal release from Apple, and port it to Windows and Unix, so it can take its proper place among the available scripting syntax choices.