Programming Fundamentals

Over the past decade, programming has emerged as an indispensable tool, enabling us to tackle challenges previously thought impossible. However, the vast array of programming languages, each tailored to address specific needs, can be overwhelming. The silver lining is that once we master the fundamentals of a language and understand how computers work, learning new languages becomes a breeze.

In this Series, we will spend time understanding how to write code in some of the most popular languages, such as Python, Julia, Rust, Scala, TypeScript, SQL, and DAX, along with niche or lesser-known options such as Erlang, Elixir, OCaml, Haskell, Crystal, and even Assembly.

Throughout a collection of carefully-curated articles, we’ll delve into each language’s theory and historical context, provide a detailed installation process, recommend suitable IDEs for each case, discuss relevant extensions, explain key components, and offer hands-on examples that will hopefully bring clarity and serve as a reasonable starting point to further embark on this journey.

Get Started

Destructuring is a very powerful & widely-used syntactic construct that allows us to decompose a given object or structure…
In our previous article, What Is Julia, and Why It Matters?, we discussed why Julia is so relevant today and…
Elixir is a compiled, dynamically-typed, general-purpose, functional programming language developed by Brazilian software developer José Valim, first released in…
Programming paradigms play a crucial role in the realm of computer science. They act as blueprints or frameworks to…
Rust is a compiled, multi-paradigm, low-level, statically-typed, general-purpose programming language emphasizing performance, type safety, and concurrency. It was originally…
Data science has its roots in statistics, computer science, and data analysis in the 1960s. It has since evolved…
Regular Expressions, also known as RegEx, is a pattern-matching tool used to find patterns in strings. We can think…
Formally, a type class is a type-system construct that supports ad hoc polymorphism. This is achieved by adding constraints to type variables…
Julia is a reasonably new, open-source, high-level, dynamically-typed programming language. It’s a multi-platform language supported on Linux, macOS, Windows and FreeBSD….

All content on this post is licensed under a Creative Commons Attribution 4.0 International license.

Request Full Resume