Why was TypeScript developed when we already have JavaScript? What are the advantages of TypeScript and should it replace JavaScript altogether? If you are curious to find out the answers, look no further! This article will also include an example to clarify key points, a review of their differences, and additional resources for extended learning along with some relevant memes. Let’s dive right in!

Why was TypeScript developed when we already have JavaScript?

Although JavaScript was originally developed as a client-side programming language, developers realized it could also be used as a server-side programming language. As JavaScript grew overtime it became more complex and was not able to reach…


What is CRUD?

If you are new to programming, seeing “CRUD” in the title may raise concerns considering that the Merriam-Webster dictionary defines crud as either “a deposit or incrustation of grease or a slang for a contemptible person.” As fun as it may be to expand on that definition, this is not what we will be expanding on for this article. In the computer programming world, CRUD is an acronym worth knowing. We will review what CRUD operations (aka CRUD functionalities) are and why it is an important fundamental to learn early on.

CRUD is an acronym that stands for Create, Read…


In my previous articles we discussed the GoF, design patterns and reviewed the creational pattern. For this article we will briefly review classifications of design patterns before taking a closer look at the structural patterns. There will be an overview of the seven (classic) structural design patterns as well as the pros and cons to each.

Classification Review

Not only are design patterns useful, but are considered best practices by experienced object-oriented software developers. Since design patterns differ by their level of detail, complexity and scale of applicability, it is important to categorize them by their intent, or purpose. The purpose criteria…


With many unofficial and undocumented patterns out there that you might find useful in certain situations outside of the classic 23, how do you know which one to study or apply? A good place to start is by taking a look at the different classifications of design patterns. Although there are three main classifications, for the focus of this article we will be the creational design pattern. Together we will review what design patterns are, and the criteria used to categorize them before diving into the creational patterns in greater detail.

Design Patterns Review

In my previous article, we discussed that design patterns…


What is REST? No, not the kind of rest you feel when you relax as you code from a hammock in the Bahamas. I’m referring to an architectural style that was first introduced over 20 years ago. If you knew that already, can you recall the last time you used a RESTful API? Whether you are new to programming or would like a quick refresher, this article will review what REST is before diving into the 6 guiding principles.

REST Overview

What is REST?

REST stands for REpresentational State Transfer and is an architectural style that was first presented by Roy Fielding in 2000. …


What is JSON?

Frustrated with web browser limitations, Douglas Crockford developed JavaScript Object Notation (JSON) in 2012. JSON is a lightweight text-based open standard designed for human-readable data interchange that is primarily used to transmit data between a server and web application (as an alternative to XML). You may have noticed that JSON is generally used in the REST (Representational State Protocol) request and response API (Application Program Interface) services, unlike the traditionally used XML (Extensible Markup Language), which contains syntax and tags.

In other words, JSON is a ‘self-describing’ and easy to understand text format for storing and transporting data. Since JSON…


Behavioral Patterns

In my previous articles we introduced the creational and structural design patterns. By now you know design patterns are considered best practices by experienced object-oriented software developers and how they are classified by intent. For this article we will focus on the behavioral design pattern, which defines manners of communication between classes and objects as well as interactions between the objects.

With 10 (classic) behavioral patterns to review, we will go ahead and dive right in!


If you are relatively new to programming you may be asking yourself who gang of four is and what they have to do with design patterns. In this article, I will briefly cover what designer patterns are, benefits to learning them, and how to get started!

Gang of Four (GoF)

Gang of Four Design Patterns is the collection of 23 design patterns from the book “Design Patterns: Elements of Reusable Object-Oriented Software”. This book was first published in 1994 and is still considered one of the most popular books to learn design patterns today. The gang of four authors, Erich Gamma, Richard Helm, Ralph…


React Overview

What does Facebook, Amazon, Tesla and Netflix all have in common? You guessed it! They all use React. React is a popular frontend framework, which is built entirely out of JavaScript, using a combination of dependencies. Although React is a JavaScript library for building fast and interactive user interfaces, we use JSX (an extension of vanilla JavaScript with a specific syntax) to separate our data out into components to form a fully working web application. …


What is a function?

A function is one of the fundamental building blocks in JavaScript and is an object that contains a sequence of statements to perform a task or calculate a value. Every function has an input, code and an output, which all rely upon what you are trying to do (print a message, calculate values, etc.). Basically, functions combine a series of steps under a name. Although there are other ways to write a function, we will be focusing on function declarations.

In order to define a function, we should follow the function syntax:

  1. Use the function keyword, followed by the name of the function you give it. Although function names are arbitrary, it…

Avelon Pang

Full stack software developer with a passion for applying new technologies and a zest for technical problem solving. Bilingual in English and Mandarin.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store