Clarification: round out my programming capabilities
What I mean is write functions for more computationally-heavy tasks that I can call from the higher-level language. Not so much write entire applications.
I don’t do this, but I do have “some leads” on a few leading languages for “computation heavy tasks” that are “close” to what I currently do.
Java - Java is high level, but Java is Java. Its used heavily in a lot of industries, has stood the test of time, and there are plenty of jobs for it. It isn’t really that “fun” or new compared to alternatives, but it gets the job done. I’d consider other languages that run off the JVM to be in a similar position, like Kotlin.
Rust - Rust is continuously ranked as one of the “favorite” languages by programmers. I personally haven’t looked into it much, but I know it would be what I’d look into if I needed to write low-level high performance code. Its basically C but with guard-rails to prevent the “foot-guns”. I’ve heard its not an easy language to learn though, but its done that way to help prevent the common pitfalls seen with languages like C and C++. (foot-guns)
Go - The alternate to Rust that is more friendly and simpler to learn. I like to think of GoLang as the “Python” of lower level high performance options. You’d get bonus points for using Go with Google Cloud Platform, as it gets higher priority on some services (like Google App Engine) as its developed by Google. I have played around a little with Go, and I like the opinionated tooling that comes with the language itself. However, the language itself still has some interesting decisions like lack of generics.
I’m probably not the best, more well versed in other options or even the options I provided, I can only throw out what I’ve learned about each of em as a data point
In a lot of cases, you won’t get much easier/straightforward that working with interfacing to C. That said, working in C lacks some certain modern niceties and its really easy to write bugs in C. I personally like Rust for low level stuff, but I’ve only done mixed language work with Rust + C or Python + C or Julia + C or Fortran + C (don’t do that, Fortran is painful!).