Merry Hannukah! I’ve been trying very hard not to think about anything tech related this week, but also want to keep to a weekly schedule of newsletters. Can’t let y’all down! To not let you down and also not have to think about tech, I’m sharing a first draft on learning new languages. It gets a pass because I wrote it two months ago. Enjoy!
(Yes, I’ll change the title for the final draft.)
I want to do $THING. Normally I do my hacking in Python, which is alright, but has lots of frustrations. My friends tell me Yarlsnarth is better for doing $THING. After going through the online tutorial, I can see why. Maybe I’ll try Yarlsnarth for this project! Just a few things I need to figure out first:
Screw this, I’m going back to Python.
[[Things are much more rough-drafty past this point]]
Most of my problems with learning a language fall in two categories:
It’s not about how mind-bending the language paradigm is, or how it’s architectured. I just getg frustrated relearning how to do specific things that I already know how to do, where I have to spend a lot of time searching how this language does it. Kind of like accidental vs essential complexity.
What I need is an “X for Y”, but better. Something like To Ruby from Python or Go for Python Programmers only cover the core. They don’t cover the peripheral libraries or the lagangue ecosystem. Hyperpolyglot is better, but doesn’t talk much about the ecosystem. It also doesn’t compare across language families, which could be very helpful here.
Beyond that, I’d also need a beginners overview of the ecosystem. If you look at the Python docs, it recommends you use pytest for testing and requests for HTTP calls. That should all be in one place.
Another thing that’s helpful: boilerplate starter apps. Something where all of the libraries are already integrated for you and you can modify them to figure stuff out. The downside is it’s less clear what’s part of the core language and what’s an addon, so those should be clearly marked.
All of these require a lot of non-technical work from the community, something that’s scarce for most open-source projects.
[some kind of finish]