Learning new programming language

published at

I've been writing JavaScript ~6 years professionally both on client & server. I do have experience how Event Loop works, streaming, buffering, etc. Writing JavaScript makes me spark joy, even without static typing system; Weakly typed, and GC.

On Frontend, I care a lot with frame rate, idle time, and bundle size. The raise of UI frameworks like React & Vue makes User Experience better there are always drawbacks both for end user & developers.

My last job as "purely" Frontend Engineer was at KelasKita as their lead frontend, writing documentation, sdk, user-faced apps, and mostly its architecture for frontend was both challenging & fun. After that I'm no longer working as purely a Frontend Developers, I do write JavaScript both in client & backend.

The switch

I'm interesting with 2 new languages: Go & Rust. There are money in there in IT industries in Indonesia, obviously. Node.js adoption as a backend language relative small in here, most startups (and unicorn) I knew using Go on their production.

Beside Go, Ruby & Python still the best option. Also, the excellent Java in enterprise usage. Back to the context, I have 2 option: Go & Rust.

Go offers expressive & clean syntax, static typing with strong typed, and productivity. Many great softwares built on Go and shipped as executable binary like Docker, Terraform, CockroachDB, and more.

Rust offers me Reason-like syntax, safety (memory & thread), and performance via its incremental compilation. Rust promise there is no runtime or garbage collector, but with relative new concept like "ownership".

Both languages are backed by well-known company such as Google for Go and Mozilla for Rust. Even Go is the most promising language for me, but Rust really takes my attention.

Go vs Rust

I don't have enough capability to compare both language. Both Go & Rust supports Web Assembly as their build target with some configuration. Since I am relative new with Go, and there are so many Go developers in Indonesia, I choose Rust to reduce the "competition" in market.

Farewell to JS?

No, I can do much job with Node.js, from interacting with filesystem to querying the DNS.

Such a productive environment.

Beside writing JavaScript file, I'm learning Rust. I bring my mental model on writing Node.js program to Rust, helping Rust ecosystem in Indonesia and its adoption. I know some Rust developers in Indonesia, but choosing to silent is the best option for me since I'm relative new with this.

And relative too young.

I will share my journal on learning Rust here.

Discussion here.