Introduction

This article shares insights on how to pick up a new language. Languages, exist to solve a specific problem. Most of the time, one will be learning a new language or technology to use in a specific project. In short languages/technologies might change from job to job.

Let’s jump right in!

1. The basics

Pick up the basics. For a programming language, syntax might be a good place. Essentially, the syntax is “how things are placed” together physically and how and is adheres to the language grammar.

Pick up the basics, make it sufficient.

2. The Idioms

Learn the set of common idioms for the language. Each language has a set of “idioms” that are popular for the language and most developers find that a good way to do things, hence the lingo “idiomatic Java Code” etc.

Looking up the idioms for the language helps one avoid learning things that they would have to unlearn later.

3. Style guides and conventions

Next is to learn the style guides for the language. Picking up a project-tailored or popular style guide(backed by tech companies like MAANG(Metaverse, Airbnb, Amazon, Netflix, Google)). Conventions normally provide a way to:

  • Structure control statements
  • Structuring loops(for...loop, while..loop and do...while)
  • variable Naming
  • Strings, - some languages offer an option to use double quotes (""), single quotes (''), and backticks (````) for string interpolations
  • Code formating,- Indentation, tab size, and white spaces
  • Max line length Conventions are accepted “rules” for doing certain things

4. Ecosystem and libraries

Skimming through the ecosystem of the language is beneficial as it would help to know where to look. Let’s say I’m learning Python, I’m gonna need a library for say web sockets, etc, so learning about what options I have for a library that does web sockets-related work helps. The same applies to every other form of tooling.

5. Dependency management and building systems

Learning how to manage dependencies is helpful for the given language. Dependency management tools help make managing dependencies a lot less painful. Python has pip tool. Other languages(statically typed) offer a build system for handling both dependencies and the build process.

Learning the basics of each guarantees one to pick up a language easily.

Learn, apply, learn, repeat

Summary

Learning is a gradual continuous process. Following the above steps, one can easily pick up a language and start building. Programming constructs are not language-specific, the same goes for data structures. Knowledge acquired from learning to programming with language A can easily be transferred to another language.