In order to unfold the concept of recursion in an approachable way, let’s start by clarifying two concepts that need to be really clear before moving any forward: stack and heap.
Stack is a special area of the computer memory which stores temporary variables created by a function. Is stack, variables are declared, stored and initialized during runtime. It is a temporary storage memory. When the task is complete, the memory of the variable will be erased.
The heap is the actual memory space available for the computer’s CPU to use. …
Moving forward into learning software engineering, will inevitable put you against the concept of Object Oriented Programming, or OOP for short.
From Wikipedia:
“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 the form of procedures (often known as methods).”
Referring specifically about Python, it is an extremely versatile programming language and that versatility comes from its object-oriented nature. As the title says, everything in Python is considered an object. Everything.
But what does this…
A class is a code template for creating objects along with related data and functions. Objects have variables and behavior associated with them. In Python a class is created by the keyword class
.
An object is created using the constructor of the class. This object will then be called the instance
of the class. In Python we create instances in the following manner
Instance = class(arguments)
A class by itself has no purpose unless there is some functionality associated to it. These functionalities are defined by setting attributes, which act as containers for data and functions related to those attributes…
The more code we write, the more we realize that some parts or chunks of code are repeatedly used in many programs. Something as repetitive like a mathematic operation can be re-used over and over in virtually every program we write.
A library allows us to have those repetitive functions outside the specific programs and be able to utilize them whenever we need. There are huge advantages associated to that, being the most evident not having to re-write the code over an over again every time we need to use the same function.
Libraries are already-compiled and usage-ready functions to…
“ls” it is probably the first and most often used command you will learn whenever you start working on a Linux based shell.
In the simplest possible way to say it, the “ls” command is used to list the contents of a directory. When used with no extra arguments within the command line (meaning when you type only “ls” and hit enter), the system response will display a list with whatever files (and sub-directories) exist at that moment within the current directory you are positioned at.
(This article applies for UNIX systems only.)
What is a C static library?
A C library is just a set of named functions.
Static libraries (also known as archives) have been around as long as C itself. Like a .zip file, they’re just a bag of object files — containing functions, of course — with a table of contents in front giving the address of each name. Static libraries are created from object files using a librarian utility of some kind. One such programs is ar (ar as in archive).
Functions in static libraries are joined to a program’s main…
Whatever we get to see in a device’s screen, such as a computer, smart phone or even our TV sets nowadays it is originated in a set of text instructions written in one of many available computer programs. This applies for web-sites, games or pretty much anything else you could think about.
C is a programming language designed by Dennis Ritchie back in the 70's. It is what is known as a low-level language, meaning that it provides little or no abstraction from a computer’s instruction set architecture — commands or functions in the language map closely to processor instructions…
You can make links to files and directories, and you can create links (shortcuts) on different partitions and with a different inode number than the original.
If the real copy is deleted, the link will not work.
A soft link (symbolic link) acts as a pointer or a reference to the file name. It does not access the data available in the original file. If the earlier file is deleted, the soft link will be pointing to a file that does not exist anymore.
2. Hard Links
Hard links are for files only; you cannot link…