So—high school neighbor curious about coding is doing Coursera on Python… & I'm organizing my feelings.

is great first language buuut… well, you can't make web/mobile apps. Maybe you say that's fine, as a first language I'm ok with making mostly-command-line backendy apps. Fine.

But then why not for that? Or , which would let you write apps (and compiles to JS)?! Sure Python has superb TensorFlow/ML &c., but I think Go or Kotlin still have better value propositions.

So I know MIT switched from teaching their beginners Scheme to Python, what, fifteen years ago (because Python ran on their robot thing, apparently)—Go and Kotlin are ten~ish years old?

I know nullprogram taught his apprentices K&R C and of course Rust is cocaine—these might make a good first language for some people but probably not the masses of people learning about it during lockdown.

Then I'm reading what are they learning? HTML, JS, Ruby… 🤔

Show thread

"I don't think starting high makes it harder to pick up low-level intuition later. I don't think it's possible to honestly *master* Python or other higher-level languages and frameworks without that low-level intuition. For the craftsman, they're productivity tools, not replacements for the pesky details." — (in a comment, see

2 statements here:
① High → low-level is fine
② High without low-level is incomplete.

Worth pondering deeply.

Show thread

I mentored a remote hackathon for college students yesterday.

As much as I was disappointed by

① college coursework that claim to “teach Java” without teaching Gradle, Maven, JitPack, GitHub, leaving one confused group with a repo containing just a class file,

② tutorials that show how to build some thing in excruciating but near-useless detail,

I was blown away with students’ enthusiasm and curiosity—diving into Node and TensorFlow tutorials on their own and periodically asking me for help.

Show thread

The students were so enthusiastic and eager to figure things out because they were building something they wanted to build using tools they chose. I was proud to put myself at their service and work towards *their* goal instead of imposing a goal of my own on them.

My employer is moving hiring earlier—early college and high school. I’m pitching mentorships where we just help the student build whatever they want to build over six months to a year. At the end, I’d expect them to be very elite.

Show thread

It seems like a good time to boost 's phenomenal essay "Helping my students overcome command-line bullshittery":

"I strive to remove incidental complexity for my students, so that they can focus on the intrinsic complexity of their research."

I experienced this powerfully helping students at the virtual hackathon—there is so much incidental complexity in modern coding—JS, Python, machine learning—but with a guide to strip it away, the fun shines forth.

Show thread

(Um also what do we think of a professor of computer science who can't figure out durable web storage? Like, the banner at the top of the page, "WARNING: this website is inactive. Please do not link to this page since it may disappear at any time" is what made me link to's mirror. Please don't take this as a negative against Dr Guo's excellent ideas. His essay "Silent technical privilege" in my pinned toot changed my life.)

Show thread

"I've gotten very, very, very good at command-line bullshittery… the grimy, grungy, terrible command-line bullshittery required to set up a computing environment… tremendously frustrating for highly-capable and motivated students who just didn't happen to spend 10,000 hours of their youth wrestling with nasty command-line interfaces… I keep reassuring my students that this bullshit is not intellectually interesting in any way" —

God I forgot how awesome was!

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!