yes sir i am emailing you about an undergraduate presentation you gave on a strange data structure you invented in 1976 which i heard about it because of my dad who was your classmate and colleague. no i'm not kidding i promise

@hope legit this is part of what got me into programming

my dad went to UNC and one of his colleagues invented something called a "valve" which is basically a mutex that switches the flow of control in threads that subsequently attempt to lock the mutex using some very specific implementation but I could only ever get secondhand information about it

but today my dad got back in touch with him and he emailed me basically saying "what the heck is this all about" so we'll see how much i get out of this

@hope and i heard about this first when i was, like, 13? and i was like "wait you can just Make Up Data Structures holy shit" and that's how I decided to learn C by reading K&R in a single sitting. it did not work even a little bit and i didn't actually learn C until like 3 years later but still

@tindall @hope isn't C like the worst programming language to start learning programming in?, she asks, having started learning programming in C


@meena @tindall @hope

C has some advantages:

1. Calls to user code are visibly distinct with clearly-marked inputs and outputs.

2. Each feature of the base language is very simple.

3. The base libs are also predictable and well-documented.

The footguns are still there but modern tooling and MMUs help a *lot*.

C really expanded BASIC-trained mind when I learned it because I realized I could add to the language.

ยท ยท Amaroq ยท 2 ยท 0 ยท 1

@meena @tindall @hope

Too late; mind was blown by C. (Then Perl and Smalltalk, but that's another story.)

(Although if someone had taken teenaged-me aside and explained that that Logo language we were all making fun of was actually just Lisp in disguise and that Lisp was a super power hacker language, I'd probably have learned more sooner.)

@meena @tindall @hope

Also, I like to brag that I've written more Lisp systems than non-trivial Lisp programs. Which is probably true.

@meena @tindall @hope

A co-worker of mine did some computer pedagogy research in grad school and told me that his group had been pretty successful in teaching programming using C as a first language. I was surprised too.

Although I suppose a C dialect with memory safety and memory leak detection might be a better option.

@suetanvil @tindall @hope Zig seems nice as a contender for replacing C

(and Rust for C++)

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!