I feel like this is me spinning in circles deciding on “the best language” to use for a side project, never committing, and then inevitably losing momentum.
Frameworks and languages are a software engineer’s “kit”, I guess?
I think so, but even things like focusing too much on a perfect design or well-tested system can bog you down on a side project if you actually want to finish it.
I know for me I used to spend way too much time trying to organize my code and folders just right. If I learned a new design technique, I'd incorporate it into the project. I was obsessed with doing things right, which I think is fine if my goal was to learn, which it partly was. However, I also wanted to ship!
Over time I relaxed my requirements on perfect design and testing and was able to ship things.
I agree with this 100%, every time i've wanted to get into a new tech stack I start a new side project more-or-less as a thinly veiled reason to learn it and hit my head on real world roadblocks within it. If nothing else you can learn beforehand that you'd never want to use it as a daily driver and drift on to the next big thing.
This is the way. A combination of the two would be prototyping in the language you know best (b), and then once you have it working rewriting it in (a). That way you’re only dealing with one novel thing at a time.
For me that’s Python (b) and any shiny object (a), respectively.
This is why you should about companies touting their choice of an exotic language as a perk. Rather than hiring people who want to build a product, they hire people who bikeshed language debates.
There's two main groups on hacker news. The people who think Go and Java are the only reasonable languages, and the people who think Rust and TypeScript are the only reasonable languages.
You'd think so, but from what I've seen, the overlap between enjoyers of Go and Java is tiny. The languages may occupy the same niche, but their design philosophies are at opposite ends of the spectrum.
When I was a kid, I was super into programming languages. Read all about the different kinds, learned about Haskell, self-modifying code, dependent typing, and of course I wanted to design my own language. Now I just want whatever breaks the least and let’s me get the job done.
It’s funny because my family always used to ask why I went into engineering instead of computer science, and I said it was because as soon as programming became a job, it would suck the fun out of it. Well I veered away from engineering into data science, and sure enough, I don’t seem to get quite the same joy out of coding that I did when I was younger.
Frameworks and languages are a software engineer’s “kit”, I guess?