Your First Babystep In The World Of Coding
Welcome to your first baby step in the world of coding
Are you a master in programming or have just taken your first step in this world, getting an insight into the basics is essential at every point in time, and starting with it is the best way to go for.
This blog is made for the beginners in coding and programming world to get started with their technical career well. In this article, we will start with the basics of what is programming, how and where it is used, some important technical terms, and its real-world applications.
There are numerous programming languages that have different syntax, purposes, and applications and we usually start our programming career with C or C++ programming language. C language is used in the implementation of low level software and operating system while C++ has its applications in graphics and gaming apps which require fast-track performance and results. When it comes to web development Python, JavaScript, and PHP are the languages used. Artificial Intelligence and Machine learning use Python, Ruby, or R languages. Java and Kotlin are best known for making Desktop applications and mobile applications. Concisely, Python is ruling the world with its wide range of applications in the world and is taking over many other languages in every field.
Now, when you have some knowledge about programming and real-life applications of different languages in various domains, we can go towards the more technical terms that are basic and essential to know.
Translators
These are software that converts our handwritten codes or source code into machine understandable language or machine code, i.e. in binary language.
Compilers
Compilers read the entire code in one way and convert the code written in any of these languages into an intermediate code or an object code.
C, C++, and Java are called Compiled languages as these languages use compilers for their code translation.
This can be understood in the form of when we write our code in C or C++ programming language, we write our code in a file with .c or .cpp extension, and then, this file is converted into .obj file which is the object code or the intermediate code. After the formation of this intermediate code, the execution of the program takes place by the operating system. The process takes place as follows:
Source Coded file (Hard Disk) - > Source Coded file (RAM) -> Preprocessor (Imports Header file ) -> Compiler ( converts to Object File ) -> Linker ( Import Library Files ) -> Executable File (.exe extension) -> Loader ( Loads the .exe file in ram ) -> Operating System ( Finally executes .exe file).
The linker then adds Library files to that object file and converts it finally into an executable file and then the operating system runs and executes the program. Recompilation of the file is necessary whenever we make any changes in our code.
Interpreters
Interpreters read the code in a line-by-line format and directly send it to the operating system for final execution. There is no creation of an object file or intermediate file in the interpreter. Then the question arises of why interpreted languages are slower than compiled languages. The answer to this question is hidden in the process of working on these two languages.
JavaScript and Python are the most commonly used Interpreted languages and these languages are slower than C, C++, Java, and other compiled languages because the interpreter carries line by-line execution of the code and depends on the operating system for final results and if the operating system is busy in some other file, there is a delay in the output. On the other hand, compiled languages read the entire code in one go and convert it into an object code, and thus operating system executes it completely.
Assemblers
Assemblers convert assembly languages into low-level languages Hard Disk to RAM, RAM to processor (CPU), CPU to Cache memory, and then to registers. Assembly operations occur at the CPU.
Now, it's time to end this discussion here as we gonna continue our discussion about software and hardware parts in the next section. Till then, Happy Coding!!
Comments
Post a Comment