My Learning Wishlist

·

2 min read

There are always new tools we want to play with. But some of them require a lot of studying, and sometimes the curve is steep. Sometimes we give up and even forget about some of them, otherwise shiny desire objects.

I'll list here, from the top of my head (well, to be honest, I had already written down some of them into my paper notebook) those who seem more appealing to me at this point of my professional life:

Rust

I'm a big fan of JavaScript, and very happy it can work as a backend language. But sometimes it may seem unfit for the task. Rust is a multipurpose "systems language", which makes it suitable for embedded devices or high-concurrency backend engines.

It was developed by Mozilla and it's at the core of WebAssembly, which also powers CosmWasm, a smart contracts language.

DenoJS, a complete rewrite of NodeJS, is also built in Rust. Having said all that, it's more than worth giving it a try.

React Native

I'm already very experienced with React and any web app can be run from a phone using a browser. But the native experience is engaging at other levels. Also, there is a lot of work demand for RN projects which may share some codebase with React (web) code. It's a must

Lisp

  • or some Lisp "dialect"

It is said that, if JavaScript is the English language, Lisp is Latin. It may look like "Babylonean" for some. It's out of discussion that is at the root of the functional-style tree of programming languages. The famous MIT book "SICP - Structure and Interpretation of Computer Programs" uses it to teach programming.

GraphQL

It's like an evolution of REST APIs. Although I have worked in projects where it was heavily used, most of the wiring was already established and I merely repeated the patterns I saw in the codebase - aided by GraphQL documentation. I really like the concept and, even when it may not be the best tool for all APIs, I think it's adoption is going to keep growing. I must master it to some degree.

Solidity

It's the "de facto" language for smart contracts. Originally built for Ethereum's EVM, it is now compatible with several blockchains based on - or inspired by - the EVM. It is very simple as a language, what is complex is the ecosystem around it. One has to be very aware of memory issues, and new "citizens" like addresses, as your program is going to be run in a network distributed runtime. Awesome!