Languages that compile to executable binaries - which one would you recommend for cloud development with Python/Javascript?

Hi all,

I’m thinking about learning a language that compiles to binary executable to round out my programming capabilities. I mostly program in Python/Javascript now and I’m focusing on cloud development, specifically serverless phone/chat systems that may pull in other services. I believe C Python has strong support for C, but there’s also Go, Rust as more modern options. I believe Node.js has package support for Rust via the Neon packager. Does anyone have a preference when it comes to productivity and integration with Javascript/Python?

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.

  1. 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.

  2. 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)

  3. 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 :slight_smile:

2 Likes

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!).

1 Like