Thomas E. Kurtz has died
I originally learned to program with BASIC. When I was designing D, I thought back to how easy and natural string manipulation was in BASIC, and what a festering swamp of bugs it was in C.
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!
The legacy of BASIC is outstanding. I learned BASIC because there's a BASIC ROM in the hardware of the Atari 800XL that I was fortunate to have access to when I was very young. The language was easy enough to pick up from sample programs in the back of its instruction manual, even for a kid who didn't know anyone who knew anything about computers.
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.
I wrote my first line of BASIC in 1976, if I remember correctly! I was 15 years old, and my dad and I went to a trade fair. There was an IBM booth there. A man invited me to try a moon-landing game. It was on an IBM 5100. I asked my dad what happened to the characters that scrolled off the top of the screen! Since he wasn’t at all into tech, he asked the IBM engineer to explain it to me. And that’s when I knew it was my thing! I wrote my first few lines of BASIC right there! The following year, there was a Hewlett Packard booth where an HP-9825A (I think?) was drawing Lissajous figures on a plotter. I was mesmerized! The next year, I start working during my holidays to buy an HP-25. The year after that, I got a TRS-80 Model 1 Level II and started programming it in BASIC. I didn’t know much at the time. I even bought the Editor/Assembler, thinking it would increase the screen resolution! After that, it was an Atari ST (with Megamax C and GFA BASIC), and then PCs with a whole variety of languages ...
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!
I interviewed Thomas Kurtz at his home in 2010 for my dissertation on the "computer utility" vision of the 60s and 70s (which foresaw a world of large computer utilities that would function like AT&T or an electrical power company, but for electronic services).
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.
Could we get a black bar for Dr. Kurtz, please?
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".)
Tom Kurtz and John Kemeny and BASIC changed my life, too. I wrote my first BASIC program in 1970 [0] and starting in high school the next year spent hours with the Model 33 Teletype in our school's computer room, programming in BASIC via the school district's HP-2000 time-sharing system. Ultimately I decided to go to Dartmouth because of their undergraduate computer philosophy. Any kind of computer access was a big deal back then, and being able to program really distinguished you compared to the rest of one's age cohort when it came to applying for grad. schools, jobs, etc. So I feel like I've been riding the crest of that early 1970s wave ever since, despite the explosion of skilled people in younger cohorts.
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.Like most of the programmers of my generation, BASIC was the first language I learned. BASIC was so pervasive in the 80s and 90s. Nearly every computer came with a copy of some flavor of BASIC. Even my 6th grade math textbook had an appendix with educational math games in the form of BASIC source code listings.
So long and thanks for all the fish Dr. Kurtz!
I also cut my teeth with BASIC. First was on the Apple ][s at school, then I got a Vic-20 at home. A lot of the cooler games for the Vic-20 were just a boatload of integer data you had to type in from magazines, not a very educational experience. Then I got access to an HP system with Rocky Mountain BASIC, which was a pretty sweet system. A few years later I got my first professional experience by working on the RM BASIC port to HP/UX as a tester. ~5 years later I came back to RMB working on a production test management system called Functional Test Manager, and I just had lunch with a guy I worked with on that a couple days ago.
BASIC was, I'm realizing as I write this, an integral part of my career. RIP Thomas.
What’s curious is how one of the reasons Pascal was derided was due to the limitations of the original system followed by the incompatibilities of the implementations that reached the market.
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.
Like many BASIC was my first programming language, Timex 2068 BASIC to be more exact.
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.
My first programming experience was with BASIC on my dad's TRS-80 machine. (In 2011.) It's crazy to think of the impact this man had - a whole generation of computers put scripting tools straight in the user's hands when they could easily have turned out purchased-software-only. A lot of devs were minted from Kurtz's tools.
Like several others here, my first programming language was BASIC. For this we owe Kurtz a debt of gratitude.
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.
BASIC was my programming mother tongue in my Swedish high school in 1975!
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!
I interviewed Tom Kurtz in 2017. He was so generous, and as brilliant as you'd expect. He wrote me a memo on "Grammatical Simplifications in BASIC." He loved memos--was an academic mathematician at heart, even at 89! It was his idea to make computing accessible--he (modestly) credits Kemeny with all the other ideas about BASIC and the Dartmouth Time-Sharing System (DTSS). I wrote about the interview here: https://annettevee.substack.com/p/thomas-kurtz-basic-and-com.... The Birth of BASIC documentary that Dartmouth did for the 50th anniversary is excellent and features him prominently: https://youtu.be/WYPNjSoDrqw
BASIC on the Sinclair ZX-81 was how I started somewhere around 1982. A whopping 1KB of memory. 24 lines of 32 characters each. Hooked to my parent's TV with me coding on the floor.
RIP
Old BASIC programmers don't die they just GOSUB and without RETURN
RIP. An interview [0].
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
A language that changed the lives of millions of people - myself included - who couldn't go to learn C or Pascal in grad school just to get started with coding. I imagine that modern alt-tech culture from hackspaces to hackathons - owes much to you as well. Also, I am heartened to learn that one of the first precursors of BASIC was DOPE.
Lighting the candle in a way Mr. Kurtz would have appreciated: https://graphics.social/@seism/113516128540983344
10 PRINT “WE REMEMBER KURTZ”
20 GOTO 10
He was my PhD first cousin twice removed. Although that doesn't actually mean anything, it's interesting to see the connections.
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.
In high school (late 1970s) I inherited (from my deceased father), a white book with red/yellow titling as "The Basic Programming Language" (the lettering on the front appeared to be in IBM check-writing font). In the appendix were about 10 basic programs including one in particular that would produce a meaningless technical report of arbitray length! I read the book, learned basic, and typed in a few of the programs (I had access to the UIUC CSL Dec-20 system). What a great time to be alive!
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! :-) :-)
It seems that it is all fond memories for people whose first program was written in BASIC ... I am one of them.
Thank you, Thomas Kurtz, for starting us on a life-changing adventure.
As user coffeemug said to me in an email a long time ago (relating to an old article https://web.archive.org/web/20090220121738/https://www.defma... https://news.ycombinator.com/item?id=452341 ), the ZX Spectrum computer has wabi-sabi . While the Spectrum had lots of very individual quirks, I think the same is true of old BASIC systems in general. Humble and fusty and clunky, it communicated a sense of patience with and love for the user.
QBasic was my first language! I recently stumbled across all my old QBasic programs from my childhood and resurrected them with DOSBox: https://origins.nathanfriend.com/
The B in BASIC stands for "beginner." AppleSoft BASIC on an Apple ][+ was my first programming experience -- in kindergarten (1979). I was 5, and with help from my brother and my dad, I was able to learn and program independently. When you turn a machine like that on, its default mode is just a blinking cursor and a BASIC REPL. But you could do amazing things right from BASIC with the ]['s colorful low-res graphics (and slightly less colorful hi-res graphics) using the family TV as the monitor. All the motivation I needed. Thank you Dr. Kurtz! (and Woz!)
Learning BASIC on a Commodore 64 as a teenager was a transformative experience. It allowed me to revive the excitement of playing Lego as a kid, but in a scalable way.
Thank you, Dr. Kurtz.
Damn, learning BASIC was one of the first things I did after my dad put together an Apple ][ clone. It paved the way for my lifelong technology enthusiasm.
pours one out
@dang, it would be really cool to see news.ycombinator.com/halloffame, or news.ycombinator.com/pioneers, or something like that as another item under news.ycombinator.com/lists for a list of these pioneers who get the black bar memorial. Learning more about the history of computers and the lesser-known pioneers who made it happen is always cool, though bittersweet when the black bar is up, of course.
Nearly 40 years ago, I typed these lines from a manual:
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.
What BASIC implementation would folks recommend to a young person starting out today?
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?
I can definitely say I wouldn't be sitting where I am -- a software engineer, professionally for 27 years, but tinkering with programming for much more than that -- had I not started by learning BASIC on my PC Jr. (I still have fond memories of this cartridge [1])!
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...
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.)
First programming language for me was Apple Integer Basic on the ][e. Got me hooked on coding.
I first learned to program in CBASIC on an Eagle II (Z80), then later TI-BASIC, and finally MSBASIC. Thank you, Mr. Kurtz, for introducing me to a wonderful career and fond memories of hacking “BASIC Computer Games” by David Ahl into my early PCs.
I, too, learned programming in BASIC. I wrote many programs, really useful ones, too. My mom is a pharmacist, I wrote a simple program to calculate price of some of the items they prepared. I wrote a flashcard like program to study foreign language, a quiz program to learn license plate codes in Turkey. I wrote screen saver animations, random circles, yin and yang, drawing flags. It was an amazing feeling as a child. I’d never looked up who created it, either. Now I know: Rest in peace, Thomas Kurtz!
As a teenager I went to a science fair organized by the Communist party (true story and obviously it wasn't in the US). A guy there was explaining how computers works and he took the time to show me BASIC. I wrote my first program that day and found it fascinating. I was enthusiastic about learning more so I asked my Dad for a computer. Said he "Study Math, it's exactly the same".
My next real contact with computers was 15 years later.
My first exposure to computers was at the age of 9, summer of 1982, my parents signed me up for computer camp and we learned BASIC on a TRS-80 with a cassette drive
10 PRINT "Joe is cool"
20 GOTO 10
ENTER
<Raises hand> "Help me!"
I guess I owe a lot to Mr Kurtz too.
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.
BASIC on an Apple IIe in the early 1980's was my first language.
RIP Kurtz.
96 RETURN
For better or worse, I wouldn't be where I am without this guy.
LibertyBASIC was my first programming language. My dad bought me the compiler as my ninth birthday gift and it forever changed my life.
RIP to a legend.
Not a good year for PL pioneers, starting with Nicklaus Wirth's passing.
We all owe Basic a lot. No "modern" tech has filled that position. Rest in peace.
"DTSS was unveiled on May 1, 1964, along with BASIC. By that fall, hundreds of students were exploring BASIC on the 20 terminals around campus."
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!
I grew up to my friends 'LOAD “*“,8' even before knowing what a programming language was. Actually I did not have a C64, but later typed of listings from magazines in Amiga BASIC.
BASIC was my gateway to missing over two weeks of classes because I cobbled together a fishing game during my freshman year of high school that apparently was worthy of winning at the regional and state science fairs for 4 consecutive years without changes.
Mission Accomplished.
Thank you, Dr. Kurtz.
QBasic was the first language I learned so I still feel a fondness to it 40 years later. I even wrote a modern version of it for the web.
So sad, he helped lots of us kids learn something that would later turn into a productive career.
BASIC (QB, and VB6) were my earliest exposures to programming. As a high schooler in 2001, only a very few were interested in learning programming (yes the geeks). Good old times.
Eventually I switched to Java because of mobile apps (J2ME), and still make a living from it.
RIP Thomas Kurtz.
I am eternally grateful to Dr. Kurtz for his work on BASIC. I'm sure I'm not alone in saying that BASIC was my first foray into programming as a young teen, and it sparked my love for programming. RIP
https://youtu.be/WYPNjSoDrqw Birth of BASIC, Dartmouth, 38 min, 2014
As someone who learned most pf what I know about programming in BASIC back in the very early 1980s, this is sad news. We seem to be losing good people all the time these days.
However
My first programming job was writing QBASIC and later Microsoft Professional Basic. It ran in nuclear power plants. Thanks Thomas.
basic gang stand up
I learned software starting with BASIC and I suspect I’m not alone.
A monumental contribution to practical computer science.
RIP.
Note that [Istvan Nemere](https://en.wikipedia.org/wiki/Istv%C3%A1n_Nemere) also died (Hungarian novelist, wrote more than 700 books), died at 80.
1977 I typed my first program into an ASR33 (connected by serial to a PDP-11/10):
10 PRINT "HELLO"
20 END
RUN
I was hooked.
C64 BASIC got me started in my career. So grateful!
Is the HN black bar for Kurtz?
[dead]
How do we get a black bar for this?
96! Lived a full life. RIP.
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.