Many computer and programming terms pass us by that we do not understand and need to be explained. Here we will present the most prominent general programming terms that you will need to know when entering the world of programming.
1. Code
The meaning of the code is words that the computer understands, through which commands are sent to it.
A lot of people think that writing code is writing programming. But do you know Morse code? If you write text using Morse code, this is coding. Coding means writing something in another language that the other party can understand.
The most prominent example of the difference between coding and programming in HTML and CSS. language. HTML is markup language. It is a language, but not a programming language, because it does not contain logic, it is scripts that are translated into an interface.
CSS is a Styling language. That is, it is a language of patterns. But recent updates, let CSS have variables, iterate code, and have logic, so people disagree that CSS is a programming language. But in everyday use, it is used as not a programming language.
2. Machine Language
Machine language or binary language is a low-level programming language that is directly understood by a computer. People might classify the zero and one language into machine language, and they might classify a low-level language also into machine language, called assembly language.
Assembly language is the language that is translated directly by hardware into the zero and one language. People can learn the Assembly language, as it is more understandable than the zero and one language, of course, but the Assembly language is still very difficult for beginners to understand, as it has direct communication with the hardware.
Most programming languages convert to assembly first through a process called compiling. or translation. Then the assembly language is transformed into the zero and one language, or what is known as the Binary Language, through a process called assembling.
3. High-Level Language
It is a classification of programming languages. Since the computer language is a machine language consisting of zero and one, it is considered difficult for humans to understand, so humans invented a high-level language that they can understand, but in the end, it is translated by compilers into Machine Language.
4. Compiler
Each high-level programming language has its compiler. For example, the C language has its compiler, which translates it from a high-level language to a low-level language. But the question comes to many, how was this compiler programmed?
The compiler is considered one of the most interesting things in the computer world because it is a complex world and very clever use of the simple tools available. The compiler was initially programmed in the C language in the Assembly language. And now the C language is used to program Compilers for other languages such as Python, Java, and others.
It is worth noting that the Kotlin compiler was written using the Java language. Kotlin is programmed by Java, Java is programmed by C, C is programmed by Assembly language, and Assembly is programmed by machine language, zero and one.
Oh my god! Look where the human arrived. I won't make it more complicated, but currently, the C language is used to program the C language Compiler.
5. Operating System
An operating system is a huge program running on a computer, which is responsible for running other programs, such as Word and others. Examples of operating systems: iOS, macOS, Windows10, Android, and Linux.
6. Open Source
You cannot see the special code in the Word program unless you work for the Microsoft team. So it is not considered open source. As for the Python language, you can see the private code in it, and you can even modify it, and create your version of Python language in you, it is open-source, where people participate in the manufacture of the product.
Note if you click on the link, you will find that there are more than 1500 contributors to building the language, some of whom add great features, and some of them add simple suggestions and minor modifications. In this way, the programs grow on a freeway. And open-source programs are free to use, unlike some non-open source programs, which are not free, such as Word.
7. Front End
Front End Developer is a developer concerned with programming interfaces, the way components are displayed on the screen, the way they are colored, the effects that are attached to the components, in addition to all the logical operations that take place in the program without the need to connect to the Internet.
If the program does not have a sharing feature or an internet connection, you only need a Front End developer. It could be a front-end developer, a web interface developer, or an iPhone or Android software interface developer.
8. Back End
The backend developer is responsible for making the Frontend connect to the Internet and storing user data and all required information in online databases. There is no software usable by ordinary users in it only the Backend. The backend needs to be connected to the frontend through what is known as the API.
9. API
API is the abbreviation for Application Program Interface. Its literal meaning: Application Programming Interface. It is not a visual interface, but it is considered an interface through certain formats and protocols, in which the front-end agrees with the back-end in a way of receiving values, and data is sent through the API in the form of a specific protocol. There are two main types of APIs in web programming.
- Rest API
- GraphQL
Both use JSON syntax to handle data
10. Native Applications
When a programmer talks to you, and says, I will program for you Native iOS, that means that it will use the Native iOS programming language. That is, he will not make a web page, proportional to the size of the iPhone, and put it in the iPhone program, but rather he will program the interface from scratch through the original iOS language.
There are systems that you can use to program the Android and iOS applications through one language, and it is not considered Native, but rather Cross Platform.
11. Cross-Platform
Cross-Platform programs are programs that can run on more than one device without the need to change the language, as is the case with the use of Native.
For example, you can program a program that works on the browser, iOS, Android, and Linux, through one software system using one programming language. One of the most important examples of cross-platform
- React Native and uses Javascript
- Flutter uses Dart. language
- Xamarin uses C#
12. Data Science
Data science is a branch of computer science, mathematics, and statistics, with many ramifications, the most important of which is artificial intelligence and data analysis. Data science is concerned with the study of big data, cleaning it, analyzing it, and drawing conclusions from it, based on which certain decisions can be taken, and the machine can learn from the data so that it will be smarter and smarter in the future.
Imagine if you gave the computer the data of every game that happened in chess history, and taught the machine how it could benefit from the big data you gave it, and how it could learn and make the right decision. This is what is currently happening. Data science is one of the most pioneering sciences of this era.
13. Machine Learning
Human learns from experience, and the machine learns from data, which can form experiences by analyzing and cleaning data as we mentioned in data science. Through learning, machine learning can be used in search engines such as Google, in recognizing the facial features in your device’s camera, and in Siri and Alexa when they hear your commands and understand what you want.
Machine learning is a branch of artificial intelligence, and artificial intelligence is a representation of an application of data science.
14. Cybersecurity
Cyber means anything electronic. Cybersecurity is the security of electronic devices, often computers. The computer is always at risk, as long as it has an Internet connection, or Flash Memory, Hard Disk, CD, or others are inserted into it. Therefore, cyber security is a field that specializes in studying the ways attackers and hackers operate on a computer.
It also focuses on the aspect of hacker protection, and how we can make our programs and websites safe for use by everyone, without hacking. Cyber security is one of the most important areas because banks need to secure the data of their customers to be safe from hacking their accounts and stealing their money.
15. Automation
Automation might sound weird, right? But it is a word that has been adopted to translate automation, but what is the point of interpreting water with water, right?
What is important, is automation is the art of making procedures and machines run and work automatically, and Automation is the process of making things happen automatically without human intervention... You can do Automation for the progress of boring, repetitive work, and this is used in most factories, so that they automate the production processes of the product, from packaging, cutting, and weighing, and all operations are automatic without human intervention, and the human factor is a controlling factor only.
This is what you can also do in your computer workflow. The most prominent example that I encounter is the creation of honor certificates. Imagine you have a course, and you want to honor 150 subscribers in one day. Imagine writing a name on the certificate and printing it out. You will get tired and the percentage of errors will increase. So if you make a program that writes people's names automatically, and sends them certificates directly to the e-mail, this process will be very convenient.
16. SRS
It is an acronym for Software Requirement Specifications. And they are the system requirements..and identify the needs and benefits required of the program. It is considered a contract between the programmer and the client.
In it, the customer sees the way the program runs, the number of features and programs, and it contains the wireframe fee, the types of users, and the way each user uses the features available to him.
And these were some of the important terms in the programming world. If you have any terms you would like to add, share them with us here in the comments, and I will be happy to add them to this post.