Choosing a tool

One thing I'm thinking about lately is the tools I choose, specifically in the context of Programming Languages. Learning new programming languages is something that drew me towards hobbyist coding; the trouble is, it also throws up roadblocks towards me actually finishing projects. The trouble I have is that I'm not actually a *good* programmer, yet. So, in addition to having to deal with my relative lack of skill, trying to constantly use new languages means having to fight to learn how to do the little I do already know in the new language.

There are two paths: using a language/tooling that I'm fairly familiar with (regrettably, probably Java), or continuing to try new tools. Maybe that means new languages (Haskell, Lisp, Ada, and Go are ones that have interested me); maybe that means new editors (vanilla vim/emacs, preconfigured vim/emacs, helix, other IDEs). Using the Java/IntelliJ stack I use for school reduces the friction a bit - everything's already installed, and any research I have to do on capabilities is more refreshers than new knowledge. With that, when I program, I'm not having to learn the language at the same time I learn to code. Maybe that helps with reducing executive dysfunction.

At the same time, though, trying new tools is fun. It also forces me out of the patterns Java kind of forces. Haskell and Lisp are functional; Haskell and Ada have crazy type systems; Ada has formal verification. Maybe using those things would make me a better programmer in the long run, because I'd be exposed to alternative paradigms and have to approach the same problems in new ways.

What's also true, however, is that I'm not very ambitious about hobbyist code. The only project I'm really considering right now is a new generator for my gemlog; the current one, nytpu's gemlog.sh, has the limitation of only one post per day, and has no metadata. I was considering a video game as a long-term project, but I've lost a lot of steam with that. Partially because a lot of game engines use dynamic languages, and I'm not much a fan of those.

So, for my one little project: new tool, or use old tools to create something new to me? Pros and Cons for both.