Ali AslRousta

Sign in

Why do we need multi-paradigm programming languages?

Image taken from Burst

Building Blocks

Softwares are made of several interacting elements. Whatever we call these elements (functions, classes, structures, etc.), they can be categorized into the same concepts.


It’s remarkably hard to think about a programmer who doesn’t own a copy of an algorithms textbook. Programming is all about algorithms, right? At least, this…

Practical Function Composition in Go

This article introduces a practical approach for implementing the function composition in Go. If you are too impatient to read the whole story, you can directly go to the source code


One of the most interesting features of functional programming languages is the ease of composing functions. The function composition…

Building Natively Scalable Microservices

Image from


Almost anyone familiar with microservices architecture, has heard about scaling. Scaling is the process which enables load balancing by running multiple instances of a service (container).

In any of the existing orchestration platforms, scaling can be done either automatically or manually. But, both approaches require some sort of administration deciding…

A Microservices Architecture Inspired By Living Beings

Red Blood Cells from


While being a devoted programmer, I like to spend my spare times on art and drawing. In fine arts, it’s known to make better figure drawings, it’s required to have at-least a slight understanding of human anatomy. This’s how I got acquainted to the body structure.

According to the anatomy…


A while ago, I was asked to implement an Auth¹ microservice supposed to run on a low-resource machine². …

From an Intermediate’s Point of View

It’s not just about performance!

Recently, I more frequently hear many say “C++ is just about performance!”. Is that it? I mean. It’s great to learn a performant¹ programming language, but is it enough to prefer one language over another? Then, why not C, for example. …


When two or more clients want to update the same record, a conflict may occur which is known as a race condition. To prevent such a conflict, a pessimist system assumes the worst, i.e., the updates always occur at the same time. Thus, it eliminates the race condition by locking…

Ali AslRousta

Passionate Developer

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