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
There's worse. Perl. Anything that mutates its own syntax. Most assembly languages. Deliberately pathological languages like the BF family

The hardest thing for me to learn about C, though, was all the things that aren't C - the build tools and the macro language. If a tutorial was to start with one and two file programs and teach the most used 20% of the standard library before diving into compiler concepts and command switches for more complex builds, it wouldn't suck. I was able to work around the lack of that kind of learning tool by studying an existing codebase where someone else had already set up the build system

But I'm also really curious about this valve data structure

@yaaps @tindall @hope @meena I would unironically argue that Perl is a better first language than C. bash is a better first language than C. awk is a better first language than C. Scheme, Tcl, Python and Ruby are all more readable and consistent languages than those and they make excellent first languages. All of the above except awk also have REPLs, which is *chef's kiss* for learning programming.

Anything that allows you to play with higher-order concepts without having to understand anything about segfaults is better than C. Don't learn DAlg, compilers, interpreters, distributed systems or any other informatics in a segfault-oriented language like C or C++.
Follow

@clacke @tindall @yaaps @hope Ruby's pry is, unironically, what gave me the confidence to call myself a programmer, igalic.co/thoughts/2017-09-06-

Sign in to participate in the conversation
Cathode Church

A place for trans makers, coders, tinkerers and dreamers.