Home

July 2009

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
Powered by LiveJournal.com

A Failure of Sarcasm

As people who have known me a long time will understand, I was clearly not born to dance, appreciate opera, or play competitive sports. I may also be incapable of sarcasm, perhaps because I don't use it much and nobody expects it.

Ok. A couple of people have written to me in shock with respect to my May 12, 2007 entry, in which I said this:

In that never-to-be-sufficiently-despised language Pascal, you can take a string buffer and strip out any character not falling into a predefined set of characters using one (short) line of code.

They took me literally and wondered why a famous Pascal guy would say that. Egad. Full-bore sarcasm here, people! I carry few grudges, but there is one that is probably eternal: My grudge against the dorks and flamers who waged war on my "kiddie language" way back when Pascal and C were considered peers. They slandered it in the press. They slandered it in the streets and on the rooftops. They slandered it in my face. The war is over, and my side lost a long time ago. I won't argue the merits anymore, though I have long had powerful suspicions (unconfirmable as long as source code is not revealed) that the vast majority of buffer overflow exploits tormenting us these days can be traced to the unbounded string functions in the standard C library. Perhaps the technology industry gets the kind of programming language that it deserves.

Anyway. My point was to state that Pascal can handle a particular programming challenge with virtually no effort. My real target was lazy programmers, or perhaps insufficiently powerful runtime libraries of server-side languages that I'm not good at. In this particular case, I wasn't criticizing C, but was simply making the point that my often-slandered kiddie language could easily solve an issue that online programmers are either unwilling or unable to solve.

I have fooled with a great many programming languages. I'm good at a few, and I hold a few in high regard. (The two sets don't completely overlap.) But when pressed, I will say two things:

1. I am an assembly language programmer, and
2. I am a Pascal programmer.

If CodeGear ever releases a Turbo Erlang I will give it a go. (Parallel processing is in many respects the Last Frontier in coding.) But in the realm of high-level languages, I have only one love, per omnia saecula saeculorum.

Comments

You are correct, most buffer overflows are caused by using sloppily-coded libraries. In that case, it isn't really the coder's fault, since he/she may not know the problems in upstream libraries. This is why my company does extensive code audits on our OS and the packages that go on it. ;-)

In general, C is a really bad language for networking. It's passable for local stuff, but practically anything else? No.

PET BASIC rulez.




Wow, have you seen this?

http://www.wheels.org/spacewar/stone/rolling_stone.html

Alan is designing a hand-held stand-alone interactive-graphic computer (about the size, shape and diversity of a Whole Earth Catalog, electric) called "Dynabook." It's mostly high-resolution display screen, with a keyboard on the lower third and various cassette- loading slots, optional hook-up plugs, etc. His colleague Bill English describes the fantasy. thus:

"It stores a couple of million characters of text and does all the text handling for you - editing, viewing, scanning, things of that nature. It'll have a graphics capability which'll let you make sketches, make drawings. Alan wants to incorporate music in it so you can use it for composing. It has the Smalltalk language capability which lets people program their own things very easily. We want to interface them with a tinker-toy kind of thing. And of course it plays Spacewar."

The drawing capability is a program that Kay designed called "Paintbrush." Working with a stylus on the display screen, you reach up and select a shape of brush, then move the brush over and pick up a shade of half-tone-screen you like, then paint with it. If you make a mistake, paint it out with "white." The screen simultaneously displays the image you're working on and a one-third reduction of it, where the dot pattern becomes a shaded half-tone.

A Dynabook could link up with other Dynabooks, with library facilities, with the telephone, and it could go and hide where a child hides. Alan is determined to keep the cost below $500 so that school systems could provide Dynabooks free out of their textbook budgets. If Xerox Corporation decides to go with the concept, the Dynabooks could be available in two or three years, but that's up to Product Development, not Alan or the Research Center. Peter Deutsch comments: "Processors and memories are getting smaller and cheaper. Five years ago the idea of the Dynabook would have been a absolutely ridiculous. Now it merely seems difficult..."

ROLLING STONE ยท 7 DECEMBER 1972

Re: Wow, have you seen this?

Better yet: I was there when some of that stuff was going on, and knew a few of the people who were doing it. I worked for Xerox from 1974-1985, and PARC had a facility outside of Rochester NY. Some of the PARC guys were in the Xerox ham radio club, and I spent a fair amount of time talking to them. My department had an Alto, and I conned my boss into buying a spare disk pack for it so I could mess around with it, and get my first experience with Smalltalk.

Back in the very early 80s I was given a copy of Personal Dynamic Media, an in-house PARC book that explained Alan Kay's vision in detail, and had pictures of the Dynabook mock-ups that eerily prefigured laptops. I posted a scan of the mockup on Contra in my March 8, 2006 entry:

http://www.duntemann.com/march2006.htm#03-08-2006

Xerox was famous for having great ideas and then being totally incapable of monetizing them, and the reason was nothing more than incompetent management. When I left Xerox, that was about 40% of the reason; the other 60% was the huge raise that Ziff-Davis offered me to move into technical publishing. Egad, had Xerox been better managed I might still be there.

Re: Wow, have you seen this?

A 1977 excerpt from Personal Dynamic Media can be found here:

http://mrl.nyu.edu/~noah/nmr/book_samples/nmr-26-kay.pdf

I have never seen a posting of the full book, which is 75 pages long and was published in 1976. I don't think it was ever distributed outside of Xerox.

(Anonymous)

re: A Failure of Sarcasm

I mostly program in C-like languages (including Java) but I do program in Pascal (via Delphi) from time to time. It is interesting to me that, in order to program in an objected ordered manner, C had to be complete morphed into C++, Java or even greater into Objective C. Then to work with dotNET, another great change had to occur to get C#. During this time Pascal pretty easily became Objective C and this can now be used in dotNET. Pretty good architecture for a "kiddie" language. And a lot of folks point out that C# looks a lot like Pascal (due to Anders Heljsberg).

Jim Dodd

(Anonymous)

Re: A Failure of Sarcasm

I'm sorry for such a confusing message. I meant to say, "...in order to program in an object oriented manner,..."

And I also meant to say, "During this time Pascal pretty easily became Object Pascal..."

Unfortunately, these kinds of mistakes keep showing up in my code, too - both in C-like languages and Pascal.

Jim Dodd

(Anonymous)

my own kiddie language

Over the years, I have tried repeatedly to work in C and C++, but each experience has been painful. It's possible -- for the most part -- to write C++ that is readable, but I can't say the same for C.

A friend of mine, who I think you may know as well, Jack Crenshaw, told me a couple of years ago that after using C++ for 20+ years, he still didn't comprehend all the ways of using const in that language. Jack's an awfully bright guy, and that's an appalling criticism to level at any language, that something as close to the core as const could remain such a puzzle.

OTOH, it may have to do with the fact that since C and C++ have traditionally been supported(?) by perfectly horrible documentation, the only real path to understanding has always been through experimentation.

Contrast that with the perfect clarity of the Pascal "railroad track" diagrams.

You can pry my kiddie language tools from my cold dead fingers!

Bill Meyer

(Anonymous)

Re: my own kiddie language

De profundis clamavit ad te Borland,
CodeGear exaudi vocem meam...

You know, I just can't be bothered using anything else, if a programming language is poorly designed, and makes life difficult in stupid ways.

So that makes me Delphi bigot for life, too.

+W+

Here you go.

http://community.livejournal.com/vintagecomputer/50298.html

I'm slightly surprised to not see you in that community - though come to think on it, I'm sure you have better things to do...