In Memoriam: Thomas E. Kurtz, 1928–2024
Thomas E. Kurtz, co-inventor of the BASIC programming language and Dartmouth Timesharing System, passed away at 96. He significantly advanced accessible programming and held key roles in computer science education.
Read original articleThomas E. Kurtz, an influential figure in computer science, passed away on November 12, 2024, at the age of 96. He was a mathematician and co-inventor of the BASIC programming language, developed alongside John Kemeny at Dartmouth College. Born in Oak Park, Illinois, Kurtz graduated from Knox College and earned his PhD from Princeton University. In the 1960s, he recognized the need for accessible programming languages for undergraduates, leading to the creation of BASIC and the Dartmouth Timesharing System (DTSS), which allowed multiple students to access computers simultaneously. DTSS was a pioneering achievement in academic computing, launched in 1964, and facilitated the widespread use of BASIC across various computing platforms over the decades. Kurtz held several significant positions at Dartmouth, including director of the Kiewit Computation Center and the Office of Academic Computing. He later co-founded True BASIC, Inc. to develop educational software. Throughout his career, Kurtz contributed to various committees and standards organizations, including the ANSI standard for BASIC. He was recognized as a Fellow of the ACM in 1994 for his contributions to the field.
- Thomas E. Kurtz co-invented the BASIC programming language and the Dartmouth Timesharing System.
- He played a significant role in making programming accessible to undergraduates in the 1960s.
- Kurtz held various leadership positions at Dartmouth College and contributed to educational software development.
- He was involved in establishing standards for BASIC and served on multiple influential committees.
- Kurtz was recognized as a Fellow of the ACM for his contributions to computer science.
Related
Edsger W. Dijkstra
Edsger W. Dijkstra was a Dutch computer scientist known for his contributions to programming and theoretical computer science, including the shortest path algorithm and the first ALGOL 60 compiler. He received the Turing Award in 1972.
Basic–The Most Consequential Programming Language in the History of Computing
BASIC, created in 1964, made programming accessible to students and hobbyists, fostering a culture of experimentation. Its legacy persists in education and among enthusiasts despite declining professional use.
Basic – The Most Consequential Programming Language in the History of Computing
BASIC, created in 1964, made programming accessible to students and hobbyists, fostering interest in coding. Its legacy influences modern languages, despite its decline in popularity among professional developers.
Ward Christensen, BBS inventor and architect of our online age, dies at age 78
Ward Christensen, co-inventor of the bulletin board system, died at 78. He developed the first BBS in 1978 and created the XMODEM protocol, emphasizing community and knowledge sharing.
Ward Christensen, BBS inventor and architect of our online age, dies at age 78
Ward Christensen, co-inventor of the bulletin board system, died at 78. He developed the first BBS in 1978, significantly impacting online communities and technology, including the XMODEM protocol.
- Many users share personal stories about how learning BASIC shaped their careers and sparked their interest in programming.
- There is a common sentiment that BASIC was an accessible entry point for many into the world of programming, democratizing technology.
- Several commenters express nostalgia for their early experiences with BASIC, highlighting its simplicity and creativity.
- Many acknowledge the significant impact of BASIC on the development of future programming languages and tools.
- There is a collective call for recognition of Kurtz's contributions, with requests for memorials or tributes.
I wrote a lot of QBASIC. 1986-90ish, old Bangalore. I was 12. There was no Mac or Unix or Windows in India those days. Only MSDOS. I had a 386 box. I would insert a 5.25" floppy, boot into command.com, then CD to GWBASIC.EXE and enter GWBASIC. Wrote a lot of GWBASIC to annoy friends and family by emitting high pitched sounds. You could do SOUND 2000+i, j, where i is the frequency & j was duration. You could even control volume from BASIC. I would put that in a WHILE WEND loop and make it go crazy. People didn't know how to turn it off once it got going. Then suddenly one day DOS went away and we had something called MS WINDOWS 3.1 and you had to insert a white round ball into a mouse and click on icons, no more command line, and even GWBASIC was gone, they put QBASIC and it came with snake program. Then I got into the graphics craze. We had a CGA & so I did SCREEN 2, then used LINE and CIRCLE to my heart's content. Few colors only. Then we upgraded to VGA monitor then SCREEN 12 was a full 640x480, I wrote QBASIC to make annoying sounds while drawing. It was an amazing childhood, thanks to this miracle language. BASIC led to something called CLIPPER, then I did some FOXPRO, got paid actual rupees to write an inventory control system in FOXPRO, then MFC, Borland C++...all the way upto today.
But it all started with BASIC. Amazing language. Thank you, Dr. Kurtz.
Having strings as easy and correct in D was a major priority, and history has shown that this was a success.
P.S. Whenever I review C code, I first look at the string manipulation. The probability of finding a bug in it is near certainty. Question for the people who disagree - without looking it up, how does strncpy() deal with 0 termination?
Thank you, Thomas Kurtz!
I never met Kurtz personally but I owe a lot to that language for the access to virtually limitless creativity that computers and computer programming have offered. My life would be very different if I didn't have the opportunity that the language provided, especially because it is both approachable and (somewhat) capable.
Sure, it's not the best language for large scale or complex efforts, but it was enough for a child to be able to build text adventures and blit pixels to the screen (it would be another decade before I found out that INT was about interrupt, not integers). Then, as a teenager fooling around with writing games for the class calculators in TI-BASIC, even though that's a bit farther down the language family tree, that also had a positive impact on my growth as a developer and it was the first of many "same but different" experiences that you so often get in the realm of programming. I was also quite fortunate, that launched an early game dev career for me.
To be honest, I wouldn't have recognized the name Thomas E. Kurtz before yesterday, but my mind will light up with dozens of fond memories at the mention of BASIC. I'm not surprised that he was so involved in instructional computing (but I am surprised I never looked into the author(s) of BASIC before, a little ashamed, but I'll remember his name). I actually still have the same Atari 800XL from my childhood and I'll think of him when I see it now.
What has always impressed me is that some people managed, in just a few days, weeks, or months, to invent languages used by millions of people, sometimes for their entire lives! What an impact!
Mr. Kurtz, you may not have created the best language, but what you did create brought joy and inspired a whole generation of young programmers. Joy that, I feel, has somewhat faded today. Unless you’re coding in Rust!
Thank you, Mr. Kurtz!
He was long-since retired, but still living in the hills of New Hampshire near Dartmouth. Unfortunately I can't find my interview notes right now, but I do remember that he was very kind and welcoming. What he and John Kemeny did at Dartmouth was truly remarkable. For them the technology (time-sharing and BASIC) was a means to an end of educating and empowering students, and ultimately society as a whole.
It was a remarkable and fleeting time. If I were 13 years old now, I don't know of a comparable skill that could so effortlessly propel a person forward.
[0] Here it is:
10 LET N=5^2.5
20 PRINT N
30 END
The answer (55 and something) was a revelation. I didn't know about logarithms then, so the meaning of fractional exponents was a complete mystery. I had to ask my math teacher to make sense of the answer.The legacy of BASIC on our industry can hardly be understated. The language and its mission at Dartmouth was innovative.
BASIC had immeasurable secondary effects simply by being the first programming language so many new computer users were exposed to (particularly near the dawn of personal computers).
Edit: I got sucked into some nostalgia.
Here's the 1964 edition of the Dartmouth BASIC reference: http://web.archive.org/web/20120716185629/http://www.bitsave...
It's really charming, and I think it gives you a bit of the feel for the time.
(I also particularly like, on page 21, the statement "TYPING IS NO SUBSTITUTE FOR THINKING".)
So long and thanks for all the fish Dr. Kurtz!
BASIC was, I'm realizing as I write this, an integral part of my career. RIP Thomas.
Meanwhile, BASIC, which I think it could be argued was the backbone of the mini and micro computing industry for 20 years, was all over the map in terms of implementation and features.
None of the BASICs I used were compatible outside the fundamentals of expressions and the core data types, and even then they all handled strings differently.
Followed by GW-BASIC and Turbo BASIC.
Not only it was my entry path into the computing world as a kid, it also showed me how to do systems programming in a language kind of safe, alongside Z80 and 8086 Assembly.
Turbo Pascal was the next in the learning path, after those BASIC variants.
Many thanks to Dr. Kutz and Dr.Kemeny, and those that built upon their work, for setting me free into the computing world without being tainted C is the true and only path to systems programming.
I know Dijkstra is famous for having said that we're mentally mutilated beyond hope of regeneration, but you know, I kinda think we didn't turn out half bad.
It took a while before I let go of my suspicion of languages without line numbers :)
Maybe I would have picked up programming later some other way, but I'm not at all sure. So BASIC may have set me on a very rewarding path in life!
RIP
I started learning Logo as a kid on a TI-99/4A, and I was fortunate to have a personal teacher who introduced me to BASIC on an Apple II/e-compatible computer (Franklin ACE 1000). This early exposure allowed me to explore programming in all directions and share my knowledge by teaching and helping friends on various platforms like Commodores (including the Amiga), Sinclairs, Texas Instruments, MSX, BBC, and more. BASIC truly was everywhere.
BASIC also served as a bridge to Assembly language [1], with powerful features like PEEK, POKE, CALL, and SYS. It’s remarkable that Visual Basic later became such a success, ultimately passing its legacy to .NET in more recent times. There was also a trend of microcontrollers supporting BASIC around the 2000s.
On a personal note, I was amazed as a kid when I discovered the power of MID$ and used it to write my own programming language. That experience felt like pure magic.
[0] https://www.dartmouth.edu/library/rauner/archives/oral_histo...
[1] http://swain.webframe.org/tshirts/peek_and_poke_zoom.jpg
10 PRINT “WE REMEMBER KURTZ”
20 GOTO 10
I wrote my first BASIC programs in 1977, and promptly wrote a compiler for a restricted subset of BASIC into Z80, in the restricted subset, compiled the compiler, and had a machine language compiler for BASIC into Z80, all running in 14 KB of RAM.
Heady times.
Thank you Thomas Kurtz ... I wish I'd had the chance to meet and chat with you.
I am aware that the first STAR TREK game was written in Basic, using 10x10 quadrants and maybe a 10x10 quadrant universe. I eventually wrote an enhanced version of this called "Swords and Sorcery" but using a fantasy theme, not a space theme ...
I was so enamored with the BASIC programming language that a couple of years later I wrote a miniature interpreter on the PLATO system, at first trying to do a primitive BASIC language, but later I settled on doing a forth interpreter because RPN was so much easier to execute ...
Thank you, Dr. Kurtz. Your project helped make my youth a never ending joy of discovering new things! :-) :-)
Thank you, Thomas Kurtz, for starting us on a life-changing adventure.
Thank you, Dr. Kurtz.
Lighting the candle in a way Mr. Kurtz would have appreciated: https://graphics.social/@seism/113516128540983344
pours one out
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.)
10 CLS
20 FOR I = 1 TO 10
30 R = 10 * I
40 COLOR I
50 CIRCLE (320, 240), R
60 NEXT I
70 END
I didn’t understand a single symbol, but when I saw the output, I was instantly hooked — it felt like magic. This was during the twilight years of the Soviet Union. Fast forward to today, and I’m now in the U.S., working in a FAANG company.
It was such a fun and easy language to start out with (around 10 years old). I had no idea at the time that it would lead me to where I am today. I can't imagine the number of people that have been influenced by him and BASIC.
Thank you, Dr. Kurtz.
[1] https://en.wikipedia.org/wiki/IBM_PCjr#/media/File:IBM_PC_Jr...
My initial inclination would be to suggest:
https://github.com/VBAndCs/sVB-Small-Visual-Basic
but I really wish that there was a more capable option.
Scratch is great until one wants to make a "normal" looking graphical program...
Is there a good walkthrough of how to access GUI objects in Visual Code Studio? Some other option? Livecode seemed promising until the opensource option was taken away. Is Twinbasic a good option? Possibility of Gambas getting ported to Windows?
My next real contact with computers was 15 years later.
10 PRINT "Joe is cool"
20 GOTO 10
ENTER
<Raises hand> "Help me!"
The first time I signed into a dial-up BBS, it asked me to make up a handle. My GWBasic manual was sitting in front of me. I still use that name to this day.
RIP Kurtz.
We all owe Basic a lot. No "modern" tech has filled that position. Rest in peace.
RIP to a legend.
My first programming class officially started basic.
How far have we come! I just looked up and Dartmouth had about 3000 students at that time, so one time sharing terminal per 150 students!
Mission Accomplished.
Thank you, Dr. Kurtz.
Eventually I switched to Java because of mobile apps (J2ME), and still make a living from it.
RIP Thomas Kurtz.
However
A monumental contribution to practical computer science.
RIP.
10 PRINT "HELLO"
20 END
RUN
I was hooked.
Related
Edsger W. Dijkstra
Edsger W. Dijkstra was a Dutch computer scientist known for his contributions to programming and theoretical computer science, including the shortest path algorithm and the first ALGOL 60 compiler. He received the Turing Award in 1972.
Basic–The Most Consequential Programming Language in the History of Computing
BASIC, created in 1964, made programming accessible to students and hobbyists, fostering a culture of experimentation. Its legacy persists in education and among enthusiasts despite declining professional use.
Basic – The Most Consequential Programming Language in the History of Computing
BASIC, created in 1964, made programming accessible to students and hobbyists, fostering interest in coding. Its legacy influences modern languages, despite its decline in popularity among professional developers.
Ward Christensen, BBS inventor and architect of our online age, dies at age 78
Ward Christensen, co-inventor of the bulletin board system, died at 78. He developed the first BBS in 1978 and created the XMODEM protocol, emphasizing community and knowledge sharing.
Ward Christensen, BBS inventor and architect of our online age, dies at age 78
Ward Christensen, co-inventor of the bulletin board system, died at 78. He developed the first BBS in 1978, significantly impacting online communities and technology, including the XMODEM protocol.