I’m a retired Unix sysadmin. Over the years I’ve built things in COBOL, FORTAN, C, perl, rexx, PHP, visual basic, various Unix shells and maybe others. Nothing has been a real “application” - mostly just utilities to help me get things done.
Now that I’m retired, and it’s cold outside, I’m curious to try some more coding - and I have an idea.
The music communities here seem to post links to YouTube. I generally use Lemmy on my phone but don’t use YouTube, or listen to music, on my phone if I can help it. I’d like to scrape a music community here and add the songs posted to a playlist in my musicbrainz account.
Does that sound like a reasonable learner project? Any suggestions for language and libraries appreciated. My preferred IDE is vim on bash and I have a home server running Linux where this could run as a daemon, or be scheduled.
If Python isn’t clicking with you and you want to try a newer language with a good standard library, maybe try Go. It is based on C but, is a bit easier to iterate in development. Plus, it was designed with network applications in mind so, it handles JSON pretty well. As an added bonus, it is compiled, making (from my perspective) running a daemon a bit more straightforward.
As an aside, I am currently a software engineer and use (Neo)vim as my IDE, because of the comfort that I built up with the terminal and vim as a sysadmin. It works great as an IDE, especially with LSP and other QoL plugins.
I’m a little determined to stick with Python because I feel that I should - everyone should be able to code Python :-)
The main problem I have with it is the complex, relaxed, data structures. I’m finding that the type() command in interactive mode is helping a lot. I’m having lots of moments like - “Ah, I’m not down to the dict yet, I’m still in the list…”
The way that I see it is that some languages will “click” while others may not. Nothing wrong with that. I like your determination!
I’d say, from your stated problem, that you may be selling yourself short a bit. My colleagues and I frequently run into the same when debugging. And the approach that you are using to work through it is exactly what I’d recommend as well (along with type hinting). I also find the Python interactive shell great for testing concepts and do one-off things that are easier in Python than Bash.