Most active commenters
  • WalterBright(6)
  • DamonHD(3)

←back to thread

Thomas E. Kurtz has died

(computerhistory.org)
618 points 1986 | 16 comments | | HN request time: 1.284s | source | bottom
1. WalterBright ◴[] No.42150808[source]
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!

replies(6): >>42150847 #>>42150921 #>>42151230 #>>42153040 #>>42155368 #>>42203247 #
2. the_af ◴[] No.42150847[source]
Wow! I've read your comments many times on HN and I never realized you were the creator of D.
replies(1): >>42151545 #
3. Gibbon1 ◴[] No.42150921[source]
I was thinking that same thing recently with the embedded code I work on. I was thinking if BASIC could handle strings on Z80 with 4k of ROM and 16K (woo hoo!) of static RAM why do I have to put up with C strings on an ARM running at 48MHz?
4. DamonHD ◴[] No.42151230[source]
Arrrgh! I think that I may have unintentionally insulted you in about 1987 when (as a callow youth) I was trying to pick a language for an embedded/robotics system. I believe that I spoke to you on the phone about ... ahem ... C, which you answered politely but somewhat through gritted teeth...

In the end I went for C, and the OS ended up in this thing: https://www.youtube.com/watch?v=u8ZEUwwOYxo&t=72s

I still cringe about that call!

replies(1): >>42151458 #
5. WalterBright ◴[] No.42151458[source]
What was the call about?

Don't worry about it, I don't remember it! I have come to regret a lot of stupid things I said when I was younger.

replies(1): >>42151544 #
6. DamonHD ◴[] No.42151544{3}[source]
Well, it was a while ago... I was trying to choose a language to use for our start-up's tiny (2kB EPROM, 2kB RAM?) Z80A system, alongside some assembler, and I was basically having to write an OS/runtime for the robot that I designed the hardware for as well. I was about out of my depth. Candidate languages were, I think, BCPL, B, C and D, and I got mixed up and spoke to you about C. (It is possible that I spoke to the B or BCPL guy rather than you.) But in any case, asking one language's creator to extol the virtues of a different language is not clever! %-P Ouch!

Does the name "Grey Matter" ring any bells for you? (Software reseller, still seems to exist...)

replies(2): >>42152027 #>>42152085 #
7. samatman ◴[] No.42151545[source]
I still think of Walter as the creator of Empire, who later went on to create D.

The FM synthesis Hall of the Mountain King will be burned into my memories forever.

replies(1): >>42151779 #
8. WalterBright ◴[] No.42151779{3}[source]
I keep thinking about training an AI to play Empire. It would kick ass!
9. WalterBright ◴[] No.42152027{4}[source]
1987 predates D by about 15 years!

No, I don't recall the name. It was a long time ago. Sorry.

replies(1): >>42155316 #
10. WalterBright ◴[] No.42152085{4}[source]
Back in the 80s, a coworker (knowing I was in the C compiler business) came to me and asked "my husband wants to get into C programming, which compiler should he use?" (At the time, there were about 30 C compilers available for DOS.) I replied, Datalight C!

She laughed, touched my elbow, and said "oh no, not your compiler!"

Another coworker (Eric Engstrom, yes, that guy!) heard this and let out huge belly laugh. She suddenly realized what she had said, and got very embarrassed. (I won't print her name. I've long since forgiven her! I just thought it was funny.)

Good ole' Eric. Truly larger than life. I miss him.

11. GauntletWizard ◴[] No.42153040[source]
I'm going to give it my best guess- it will copy up to n bytes, including the null byte if present in n, but not adding a null if the nth byte isn't a null, requiring you to set the last byte to 0 manually, whether that's allocating n+1 bytes or truncating the nth.
replies(1): >>42155243 #
12. WalterBright ◴[] No.42155243[source]
Even if you're right, you said you were guessing, meaning you'd have to look it up.

To add insult to injury, snprintf does it differently.

replies(1): >>42169661 #
13. DamonHD ◴[] No.42155316{5}[source]
Ah, I may be off the hook. Thanks anyhow!
14. 8bitsrule ◴[] No.42155368[source]
BASIC was the language in all the magazines that responded to people who wanted to try ideas in their new microcomputers. Tens of thousands of us, at least (some so glad they took those high-school typing courses) simultaneously keying in those pages. And then, we'd think 'hey, I want to try this' and either succeeding or looking for more powerful BASICs ... leading to peeks, pokes, even assembler. A blast, and that feeling of empowerment!

Thank you, Thomas Kurtz!

15. GauntletWizard ◴[] No.42169661{3}[source]
Yes, it's the most obnoxious behavior I could think up - Which meant I was sure it was correct, but not the kind of sure I'd want to rely on.

I also refreshed myself on snprintf, and as un-ergonomic interfaces go, they did a good job with what they had... But I will gladly take my golang multiple return values, now that I have them.

    So, only when the returned value is non-negative and less than ‘n’, the string has been completely written as expected.
16. ◴[] No.42203247[source]