Hacker News new | ask | show | jobs
by tashian 556 days ago
I learned C by running a MUD — a DikuMUD derivative. I was in high school, in the 90s, and I didn't know any programmers in my town who could teach me how to really code. My high school computer science teacher didn't know.

What I loved about the MUD as a learning environment was the players. On a busy night we'd have over a hundred people playing. So, I got to cut my teeth on a real, live production system with actual users. That motivated me. There were mild consequences if I broke things. And, if I made things better for the players, it felt good.

For me, this environment was so much better than doing programming problem sets by myself, writing code that no one would ever use.

https://tashian.com/articles/how-i-learned-to-program/

7 comments

+1 — cut my teeth on learning C in middle school by hacking up a DikuMUD derivative. So many great memories of that period.

And not just C but Linux (Slackware!), sockets, even kludging the single-player DOS port to be two-player by playing over a serial cable to another PC. And annoying my future Dropbox teammates by including an extra space after/before parens in function calls (and if/for/switch statements), putting { on its own line, etc as was the convention in that code base IIRC.

Ditto... loved me those old DikuMUD variants. Cut my own teeth on Shadows of Isildur!
I was in highschool in the 2000's and learned C# working with the RunUO emulator for Ultima Online which MUDs were the predecessor for.

I always thought a programming class with assignments to add spells/new weapons/quests/etc on a shared class server would be great.

I also learned C by running a MUD, and I'm amazed how many people shared that experience with us LOL.
I knew a little C, but I learned about sockets and files (and later databases) and various other things but hacking on DikuMUD, CircleMUD, and SocketMUD, and later writing my own MUDs.
Over 100 simultaneous users is quite the success for a MUD back then and especially today. I also learned C by forking DikuMUD too, it was so accessible and easy to tweak.
It was indeed quite the success, but there were a number of MUDs in the 90s and 00s that would hit 100+ regularly. The MUD I mostly played at that time (WoTMUD) was hitting 200+ regularly for awhile.
Is that a wheel of time MUD? I feel like I missed out on something amazing…
I also learned C this way (with ROM 2.4 in my case), but what I really should have learned is social skills. Instead, once I got good enough at C to make the playerbase my mostly unwilling playthings, all pretense of being anything other than the most insufferable insane dictator in human history went right out the window, and I was so drunk on my own "power" that I was entirely blind to it until it was far, far too late.