Hello, Folks! Today’s article is about hardware/software trade-offs. Make sure to check other articles of mine for other topics.

Speaking of design trade-offs today, I can say that it is impossible not to mention hardware when talking about software trade-offs, or vice versa. It is almost impossible not to think of the two of them together. There are territories of the compromise which are the sole preserve of the manufacturer and his hardware/software group. Various regions of the compromise are the duty of the client or autonomous hardware producers. Trade-offs can be found in almost any area of computer design…


Hello, Folks. In this article, we’ll be talking about architecture and some specific terms, stakeholders, views, and viewpoints. This topic might be new to most of us, enjoy!

I think to understand what a software architect does, we must first understand what an architect does. An architect is a person who plans, designs, oversees the construction of buildings, and makes the image in their head the reality. Architects create the overall look of buildings and other structures, but the design of a building involves far more than its appearance. …


Hey, Folks! This article might be useful for future software engineers. We will talk about patterns and explain why they are used. If you don’t know about patterns, don’t worry. Without further ado…

In software engineering, a design pattern is a repeatable solution to the frequently happening issues in software design. A design pattern is not a complete pattern; it cannot be transformed into code directly. A pattern is a template that can be used to solve a problem in different situations. We have different patterns for implementing the undo feature, and one of them is the Memento pattern. Therefore…


Hello, Folks. I hope the articles increase your interest in programming. First of all, let’s talk about the concept of concurrency. We will also talk about deadlock and race condition.

Concurrency control mechanisms help to increase program flexibility. It’s used when more than one task is done concurrently. For example, web browsers. They send and receive data to web servers at the same time. It’s usually confused with parallelism. The difference between concurrency and parallelism is that concurrency occurs in interfering periods of time. Parallelism is when tasks completely run at the same time, e.g., on a multicore processor.

Concurrency…


Hello, Folks. In this article, I wanted to dig deeper into concepts of Object-oriented Programming (OOP) and dynamic binding for the purpose of in-depth study and teaching. I hope that you will learn new things or refresh your knowledge through my articles. Meanwhile, this article will talk about dynamic binding too. If you have no information about binding, I would recommend reading my article called variables.

Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in…


Hello, Folks! Today’s topic is exception and event handling. We will talk about keywords, mechanisms, and differences shortly.

Exception handling is an unexpected problem that happens during the execution of a program. With the help of this mechanism, the control from one part of the program can be passed to another. The process eases determination of error handling and the mistake in the actual functionality of the program.

If there are exceptions in your program, you can handle that with some provision of code which will take care of that exception. There are three main keywords in C++ to handle…


Hello, dear programming lovers. I’m glad to see you again in another article of mine. Today we will talk about the most common topic, variable. Many of you probably don’t think about how deep the variables actually are but believe me, this topic is not shallow at all. To better understand them, let’s start.
Many programmers even think that variables consist only of a memory location. However, it can be characterized by 6 attributes, name, address, value, type, lifetime, and scope.

Name — A string of characters used to identify some entity in a program. Some names are common to…


Hello, programming geeks. Today’s topic is something we’re not mostly concerned about for running the code we wrote. I’d like to ask you a question before starting the subject. Did you know that before running the code, the source code should somehow be converted to machine code and there are two main ways to that? Also, make sure to check out other articles of mine to grasp the concepts of programming in an uncomplicated way.

Programing Languages can be implemented by 3 general methods. Translating programs to machine languages is called compiler implementation, which has the advantages of very fast…


Hello, Folks! I’ve been thinking for days about how to explain this topic so that newcomers understand it better and don’t need to read further. I think I found that way, but after reading the article, how about you tell me if I am right.

P.S. My code will be thoroughly commented.

pass-by-reference vs pass-by-value

When calling a function, the arguments in the function can be either passed-by-value or passed-by-reference. There are also callee and caller terms used as a function called by another and a function that calls another function(a callee) respectively. …


Hello and welcome back to the last-but-not-least language evaluation criteria article. If you haven’t read about readability, writability, and reliability, I encourage you to do so!

Icon by Icon-library

The cost of a language is dependent on many factors and criteria. Starting from the basics, there’s the cost of a new generation of programmers learning a programming language, which is a function of simplicity and orthogonality of the language. It even includes learning a new language by seniors. It is undeniable that no matter how professional we are, we cannot know every language.

Secondly, there is the cost of writing programs, which a…

Ilyas Karimov

Master of Computer Science and Data Analytics at ADA/GW Universities, Researcher, Psychology-lover, Meme-maker, Musician, Writer, AI & Sarcasms!

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