←back to thread

Thomas E. Kurtz has died

(computerhistory.org)
618 points 1986 | 3 comments | | HN request time: 0.617s | source
1. vincent-manis ◴[] No.42143274[source]
I was 13 when DTSS was introduced, so never had an opportunity to learn programming with Basic. Fortunately, that didn't harm me, and I've managed to compensate for this disadvantage.

I don't want in any way to minimize the impact of a language designed for non-experts. But, while Basic, and its many limitations, was the best that could be done with the relatively limited systems it was first implemented on, it doesn't scale. I recall, around 1970, building an interactive front end for an inventory system, using a commercial company's version of Dartmouth (or GE) Basic. It came to about 900 lines, and even I couldn't make sense of it.

It's a mistake to believe that non-experts write 20-line mortgage programs, or 50-line dice games. If what you're teaching them has any value, they will naturally want to write programs that grow organically as they understand the problem better. Dartmouth Basic is a language in amber, best understood as what could be done given the equipment of the 1960s, and the understanding of programming development at the time. It was neither better nor worse than other interactive languages of the time, for example, JOSS (which begat PIL, DEC's FOCAL, and even the horrific MUMPS, closer to our time).

I think that the true value of Kemeny and Kurtz's contribution was encouraging programming as a thing for “ordinary” people, rather than a priesthood. The language they invented was developed prior to clear understandings of structured, object-oriented, and functional programming, all of which have something to say even to non-experts. (And, yes, Microsoft continued to produce products with “Basic” in their names, but they have little to do with anything that was developed at Dartmouth.)

So, kudos to all the folks who learned their programming with Dartmouth-style Basic. But I think there are a lot of modern tools that not only help non-experts write short programs, but scale well as their knowledge and skill grows. Smalltalk was one system that demonstrated that, but in more recent memory, Python and Racket are also good examples.

By comparison with film, Georges Méliès did some amazing work in 1900, but nobody would confuse that with the work of modern directors.

(I don't want to get into a discussion of What Is The One True Introductory Language; I have my opinions on that, but they are not relevant here. Instead, I am trying to put the very significant contribution of Kemeny and Kurtz—democratizing computing—into what I see as a better perspective.)

replies(1): >>42143416 #
2. SoftTalker ◴[] No.42143416[source]
I mean, I don't disagree, but you might be surprised at the scale of systems that were written in BASIC, well into the 1990s and probably beyond that. And not the modern Microsoft Visual incarnation of it but the old, line-numbered, GOTO/GOSUB and everything-is-global classic style.

For a while I worked at a financial company and all their internal systems were in BASIC. They had dozens if not hundreds of internal users, all running on dumb terminals connected to a couple of servers that ran those BASIC programs. This was online transactional systems as well as nightly batch jobs. The programmers were mostly not computer science people but ordinary, smart people who understood the business and did a good job with the tools they had. It wasn't all a mountain of spaghetti, they had put a lot of thought into their standards and practices and documentation and it was pretty easy to work on.

It was used for far more than short programs and teaching.

replies(1): >>42144009 #
3. vincent-manis ◴[] No.42144009[source]
I am not surprised that large-scale programs were written in Dartmouth Basic, or that those programs satisfied the needs of their users. Some program libraries include programs in unstructured Fortran IV, which have been running satisfactorily for 60 years. Similarly, some very complex hospital systems were written in Mumps (aka M), in which, due to both the language and the programming style used, programs looked more or less like line noise.

I once consulted for a company that had a product written in Pick Basic. This product had been sold around the world, and was very successful in their market. They wanted to modernize the product, so they went to a big DBMS vendor with a target business problem; the vendor said it would take several months to produce a sample solution. The company gave me the problem description. The next day I went back with a PoC program, 50 or so lines of C++. I emphasized that I had used C++ just because it was convenient (and that really any standard language would do), explained what parts of the problem were not addressed, and estimated that the entire program would take about a week's work to do. The client agreed on this, but said (a) that they needed a solution that was compatible with Pick Basic, and (b) their programmers only knew Pick Basic and wouldn't be any good at learning anything else. I don't know what became of the client and their product. (The Pick system was a combination of a variant of Dartmouth Basic and a DBMS.)

I'm not in any way saying that Dartmouth Basic is useless. I am saying that creating this language was NOT the flash of genius Kemeny and Kurtz actually had, but that making computing accessible to non-experts was the actual point.