Conversation

there are three kinds of programming tutorials:

  • “look man we both know you don’t wanna learn this shit so just install 30 GB of random frameworks and here’s the code to copy-paste if you wanna make a basic game and feel like you accomplished something. I’m not gonna explain how any of this works because nobody cares as long as your little guy jumps when you press spacebar”
  • “an endofunctor is a type of monoid which is a subcategory of monad that is variadic over the set of all impure lambdas - therefore all possible expressions in this language can be modeled after- wait where are you going?”
  • “this is called a variable! a variable is a little friend that can hold onto something called a value! variables love grabbing values and they can even carry them into functions! say hi, variable!”
46
481
920

@kasdeya honestly, i kind of like that third kind of tutorial, but they never seem to go on long enough to cover more advanced concepts in that same voice

3
0
5

@smolcasm I actually really do too lol. the cutesy comparisons hold my interest and help me understand things much better. I once found a FORTH tutorial that anthropomorphized all of the different FORTH keywords as different characters and machines and it was super cute

1
1
40

@kasdeya we have seen tutorials that clearly lay out "this will teach X, but not Y, and you are expected to already know Z. If you don't know Z, here are some resources to go start with. If you're finished learning X and need Y, here's where I'd go next"

. . . unfortunately we've seen all of like 2 that considered this, there really need to be more

1
0
6

@tempest I would love to see this more often tbh. I think it’s really important to consider what kind of audience you’re writing a tutorial for, and explain that at the start. it helps the reader a lot, but I think it probably also helps the writer too - so they explicitly know what audience they’re writing for

1
0
9

@kasdeya Brodie, "Starting FORTH", 1st ed, 1981 is a tour de force of the third category.

There's now a PDF:

https://www.forth.com/wp-content/uploads/2018/01/Starting-FORTH.pdf

0
1
1
@smolcasm @kasdeya "say hi monad! can you show us how you do the bind operation?"
1
0
2

@kasdeya A lot of tutorials I've seen struggle with just keeping a consistent level for a target audience
Like explaining how to set up an IDE and then not explaining basic programming concepts

1
0
1

@kasdeya oh wow, this just clarified a bunch of the "I use AI for programming" mentality for me.

1
0
1

@kasdeya Thanks, I hate all of them. 😂

0
0
1

@kasdeya

#3 is the entire "head first" series, and my #ADHD brain is totally here for that.

SQUIRREL!!!

0
0
1
@kasdeya 3 makes me feel like this is why people don't get pointers…

t. reads manuals instead of tutorials
1
0
1

@kasdeya I wonder where the NeHe tutorials fall in, as in here's a complete program in snippets and I'll explain each snippet, better pay attention..

0
0
0

@kasdeya

I was learning JavaScript and reference was made to an iterator, without any explanation as to what that meant. So I looked it up. The definitions I found were all some variety of "an iterator is something you iterate over." OK thanks.

0
0
1

@kasdeya Which is why most people are afraid of programming and/or see programmers as condescending assholes.

0
0
1

@kasdeya When I was first learning Python many years ago, I came across all 3 of these. The best ones always told you to go read the documentation, but as a newbie just starting out, docs are freaky. They're written for coders who already know how to code in other languages.

A lot of the docs include a tutorial now too, which is wonderful.

1
0
1

@smolcasm @kasdeya why the lucky stiff’s Poignant Guide to Ruby came close IMO.

1
0
0

@kasdeya Especially learning a functional language exposes you to the second one. "I want to learn Haskell!" "OK, start with understanding this academic PhD paper…"

0
0
1

@kasdeya Isn't there a fourth one where the person is figuring things out and building the thing as they go? It can be very good or bad depending, amongst other things, on how honest they are about it. It also often abruptly ends after a few chapters/episodes without any explanation.

2
0
0

@kasdeya if you want me to actually try learning a programming language imma need a tutorial that frames it in terms of casting magic spells cause as far as I'm concerned these are magic incantations

1
0
2

@kasdeya in these days there’s a forth one:
„Use ClaudeOG, Opus and SonettGPT agents to vibecode the first 10 million LoC, the resulting abomination will then refactor and maintain itself, obtaining generic singularity within the next three weeks“

0
0
1

@kasdeya @smolcasm
I learned to program in BASIC from a book that depicted the 8-bit computer as a cartoon character
https://archive.org/details/getting-started-with-color-basic-1984-edition

This inspired Taylor and Amy to create a physical mascot
https://youtu.be/lsOtBIVRnyE

1
0
1

@mayintoronto @kasdeya
Early Python documentation was able to adopt the gradual baby steps tutorial approach because it didn't yet have very many advanced programming features. No need to teach newbies about lambdas, list comprehensions and generators!

0
0
1

@kasdeya There are exceptions, of course. The book and tutorials are fabulous.

Ultimately though tutorials are intentionally stupid; if you can't read the manual, the best we can do for you is patronize you into thinking you can be a programmer, without reading the manual.

1
0
0

@kasdeya

Say hello my little variable!!!

1
0
0

@danlyke @kasdeya
People new to programming treat any confusing computer science jargon (WTF is a monad?) in the tutorial like a deep rabbit hole or distracting side quest that risks derailing them from what they wanted to accomplish—"I just wanna make a cool 3D interactive animation for my twitch stream/social media" so turn to AI then hit the discord for help when their slop doesn't run. The discord regulars don't take kindly to this, refuse to help, and so get accused of "gatekeeping"

0
0
0

@kasdeya true! But how about a fourth category that would be :
"Indian developer goes straight to the fucking point with very down-to-earth explanations"

2
0
0

@bornach @kasdeya @smolcasm oh that book got me through 9th grade

1
0
0

@kasdeya i've been a proffessional programmer for fifty years and i'll take door three, please. hello, little variable! nice to meet you!

0
1
1

@khleedril @kasdeya
And it is at that point they go ask ChatGPT to generate the code. Who has time to read a tutorial and consult manuals when there is a social media channel demanding regular content uploads?

0
0
0

@mdreid @smolcasm @kasdeya we need weird as well as cute. he was the picasso of programming tutorials. we were so, well, lucky.

0
0
0

@lanodan @kasdeya i start with the cute tutorial, and then at some point i have the manual open too and read them both at the same time…

1
0
0

@raymierussell @kasdeya
That brings back memories.

I feel like I'm 9 years old again reading this

0
0
0

@kasdeya recently found https://learnxinyminutes.com/lua/ which doesn't fit really, and is pretty neat :-)

0
1
1

@RoseThorndyke
Yeah, I was trying to classify CodeCrafters in this, but they're more like, "Let's build Redis! First, you should listen on a port and echo what's sent to you."

That may be a subtype of the endofunctor example?
@kasdeya

1
0
0

@ciourte
Isn't that less tutorial and more self-exploration?
@kasdeya

0
0
0

@kasdeya Every time I've tried to learn, it's ended up being type 2. My brain does not enjoy type 2.

0
0
1

@AbsentAbigail @kasdeya I think that happens because they understand that part well enough to teach it, but they're fuzzy on the rest so they gloss over the bits they don't understand about the more advanced material.

0
0
0

@kasdeya
Mainly this + dating and version mapping, boldly right at the top!
@tempest

0
0
1

@fishidwardrobe @lanodan @kasdeya ideally the tutorial will provide relevant references to the manual

1
0
2

@kasdeya You nailed it.

There is one more though: "In this series of tutorials I will teach you everything you need to know to make a metroidvania." --Part 3 of 20, on hiatus for 5 years.

0
0
0

@6d03 @lanodan @kasdeya i love it when they do that. i end up with two dozen tabs open

0
0
2

@kasdeya
I suspect good tutorials
a. Pitch to the intended audience at an appropriate level
b. Pick ONE intended audience
c. Pick ONE concept/goal to use the tutorial to explain
d. Have a reference to the appropriate docs at the top
e. Put installing the product details in a separate tutorial and make it a link in the start of the main tutorial (eg make installing Nginx a separate tutorial from how to setup Nginx as a reverse proxy)
f. Make it obvious what version this applies to + a date
g. If there are different alternatives for parts of the process, then acknowledge that and perhaps describe how and why to choose and even have sub tutorials for not just your favourite. Eg there are many Web servers you could install.

Could go on, no doubt...

0
0
0

@dpflug @kasdeya I was more thinking of Unity tutorials that go like "first, we're going to create a game object. Then, we place it on the screen. Then, we create a script in the script folder and attach it to the game object."

Straightforward.

0
0
0

"Use the source, Luke."

@kasdeya

0
0
0

@kasdeya I learned the basics from this:

0
0
1

@RoseThorndyke maybe I'm unlucky, but the Indian tutorials are like #3 with creepy, distracting graphics and mentions of "love" thrown in like it's an uncomfortable requirement.

@kasdeya

1
0
0

@kasdeya the third category reminds me of why's poignant guide to ruby which is one of the few books on a programming language that I read entirely

0
0
0

@kasdeya 2 made me laugh and 3 made me recognise my own teaching style (a little less cute but in principal that is it)

0
0
0

@kasdeya 4th: https://sourceforge.net/projects/graphics-programming-bb.mirror/
Or old-school 6502 assembly books. Toss you in the deep end, you learn what you need or drown.

0
0
0

@kasdeya I feel like I learn more by figuring things out myself rather than reading a tutorial

0
0
0

💡𝚂𝗆𝖺𝗋𝗍𝗆𝖺𝗇 𝙰𝗉𝗉𝗌📱

@kasdeya
You forgot the very common hybrid of the last two...

0
0
0

@bornach @glassresistor @smolcasm @kasdeya i inadvertently taught myself to read so that i could read this book, then i started kindergarten reading at a third grade level

0
0
0

@elexia there’s a Minecraft mod called Trickster that is literally “what if casting magic spells was a type of programming?” and it honestly fits so well lol

2
0
1

@kasdeya i love when im trying to go for the second one but i end up with the third for 30 minutes as they explain how to setup the environment. meanwhile the one thing i wanted to learn from the tutorial is at like 33 minutes 42 seconds in

0
0
1

@kasdeya hi, variable!

0
0
0

@kasdeya Which makes you realize the gold you've struck when you find a tutorial that takes the best of all 3 and dumps the worst parts of them.

Such a small fraction it would be dishonest to not call them outliers.

0
0
0

@kasdeya I usually run across a fourth kind: "Get started by installing this package and running this command..." which turns out to be six weeks out of date, NOBODY uses that package any more, if you try running those commands you'll just get an obscure error. The forums are full of people reporting that error. One in ten posts get a reply saying "that doesn't work any more". One in fifty has a reply of "Use this other thing instead", without explaining how.

0
0
1

@kasdeya and they all drive me insane!! Sometimes i know the basics i just dont feel like spending another 5 hours in the documentation

0
0
0

grob (teeth era) 🇺🇦🏳️‍🌈🏳️‍⚧️

@kasdeya hi variable! Nice to meet you flan_wave

0
0
0

@kasdeya
Which category is having to strictly follow a step by step physical book to make a (very basic, no html) website in Google Sites?

I feel like probably the first

My highschool tech classes were... sad

0
0
1

@kasdeya I'm gonna have to go with Door #3, Monty.

0
0
1

@kasdeya
I want 3 slowly digging down towards 2 ;-)

0
0
0

@kasdeya @elexia oh hey, i remember playing with this during (if i remember correctly) the blanketcon 2025 mod fest! was a cool mod :3

0
0
0

@kasdeya I have seen others, but neither many nor were they all so much better than your archetypes. But yours are much funnier.

0
0
0