Programming Fundamental Concepts - Cyvoryn
![]() |
| Fundamentals of Programming You Must Know Before Starting |
Computers solve problems based on the instructions we provide using a programming language. Programming forms the base for Software Development. Beginners who want to learn programming should have a basic understanding of how software/web application/mobile application/computer works. In this article, we will learn basic terminology related to Programming. Topics that we will cover are Programming, Problem solving, Programming Languages, Translators, Generation of Language, Algorithm and Flowchart. Each topic will consist of a very brief definition along with an example. These concepts will help you to create a base for your Programming knowledge before you learn other advanced topics.
Programming
Programming is the process of
designing, writing, testing and maintaining the instructions that tell a
computer how to perform specific operations. A programming language like
Python, C++, Java etc. is used to write these instructions. Programming allows
us to create software, websites, mobile applications and games.
Example: Write a python
program that accepts two numbers from the user, adds them and displays the
result on the screen.
Problem
A problem can be defined as any
situation/task that needs solving. For computer science, a problem refers to a
task that can be solved through logical steps and by a computer program. Before
coding can happen, the programmer must first understand the problem and what
input is needed, what process will happen, and what the output should be.
Example: Calculating the
average marks of students from their obtained marks is a programming problem
that requires a logical solution.
Problem Solving
Problem solving generally means
working through details of a problem to reach a solution. It can be defined as
the act of finding a problem, gathering its requirements, creating a solution
and applying that solution to the problem effectively. In programming this
means comprehending the problem, contriving an algorithm, coding the program,
testing the program and debugging (fixing mistakes) if needed.
Example: To find the
largest number in a list, a programmer compares each value one by one until the
greatest value is found.
Programming Language
A programming language is a
language that we use to tell a computer what to do. It has its set of rules and
words that programmers use to make software. We use programming languages to
make all sorts of things. Programming languages can be simple or complicated.
The programming language is like a set of instructions that the computer can
understand. We have programming languages that're close, to the computer
hardware and programming languages that are not.
Example: Python is used
for artificial intelligence, Java is widely used for Android applications, and
C++ is commonly used for system software and game development.
High-Level Language
A high-level language is a
language that people can easily read and write. This language uses words
that're similar to the English language and it does not show the complicated
parts of the computer. High-level languages make it easier for programmers to
do their job. They can finish their work faster. The main thing, about
high-level languages is that high-level languages are easy to understand and
use. High-level languages are good because high-level languages help
programmers and high-level languages make the work of programmers easier and
faster.
Example: Python allows
programmers to print a message simply by writing print("Hello
World"), making it beginner-friendly compared to machine-level
instructions.
Low-Level Language
A low-level language is a type of
programming language that works closely with the computer’s hardware. The
computers hardware is what makes the computer work. This low-level language is
really good, at telling the computer’s hardware what to do. The computers
hardware is very important because it is what makes the computer work. When we
talk about a low-level language we are talking about something that works with
the computer’s hardware. So, a low-level language gives you control over these
things. You have to know a lot about the computer to write in a low-level
language. It is not easy to learn and use a low-level language. Low-level
languages are good for tasks because they can run very fast on the computer.
Low-level languages are faster, than high-level languages. This is why
low-level languages are useful. Low-level languages are a type of programming
language that can do things that other low-level languages and high-level
languages cannot do. Low-level languages are special because of this.
Example: Assembly language
allows programmers to directly manipulate processor registers and memory,
making it suitable for embedded systems and operating system development.
Machine Language
The computer language that is
made up of digits which're 0s and 1s is called machine language. Machine
language is the language that the computers processor can understand. It does
what machine language says without needing anything to translate machine language
first. The computers processor can just read machine language. Do what machine
language says. Writing machine code is difficult because machine language
instructions are lengthy and hard to remember. Machine language is just made up
of 0s and 1s so it is not easy to write machine language.
Example: An instruction
like 10110000 01100001 represents a machine-level command executed directly by
the CPU.
Compiled Language
A compiled language is a type of
programming language where the entire program is changed into machine code
before it is run. This means that the program is put into a file that the
computer can read fast. The program made with a compiled language works quickly.
When we turn a compiled language program into machine code it also helps us
find mistakes before we even try to run the compiled language program. We can
find these mistakes before we run the compiled language program, which's really
helpful.
Example: C++ programs are
compiled using a compiler, producing an executable file that can run
independently without recompiling each time.
Interpreted Language
When we talk about an interpreted
language we are talking about a programming language where the computer does
things one step at a time. It. Runs the instructions one at a time. This is
what an interpreted language does. An interpreted language is really helpful.
It finds mistakes when the program is running. So, an interpreted language is
great, for finding errors. It shows us what is going wrong with the program as
the interpreted language is running. The interpreted language helps us because
it finds mistakes as it is running.
Example: Python programs
are executed by the Python interpreter, allowing programmers to run scripts
without creating a separate executable file.
Dynamically Typed Language
A typed language figures out what
kind of data a variable holds while the program is running instead of before it
starts. Programmers don't have to say what type of data a variable is, which
makes writing code easier. Sometimes problems, with the type of data can show
up when the program is actually running.
Example: In Python,
writing x = 10 and later x = "Hello" is valid because the variable's
type changes automatically.
Statically Typed Language
When you use a language that is
statically typed you have to tell the computer what kind of data a variable can
hold before you even run the program. The computer checks everything
beforehand. This is really helpful because the computer can find a lot of
mistakes that you might have made when you are working with typed languages.
Typed languages are good, at finding mistakes early on which is a big plus when
you are using statically typed languages to write your code. This makes your
program more reliable because the language that is statically typed helps you.
Example: In C++, int age =
20; stores only integer values, and assigning text to the variable causes a
compilation error.
Compiler
A compiler is a kind of software
that takes a program written in a high-level language and turns it into machine
language that the computer can understand. The compiler looks for mistakes, in
the program like syntax errors and fixes them. It also makes the program run
faster by generating code that the computer can execute quickly. This whole
process of compilation only happens one time unless someone goes in and changes
the program, which is called the source code. The compiler does all this work
before the program is actually run. The computer can just execute the program
without having to do any extra work.
Example: GCC is a popular
compiler used to compile C and C++ programs into executable machine code.
Interpreter
If we use an interpreter, it's
equivalent to having somebody who knows what the computer needs to do. One of
the instructions is written each line, and the interpreter reads them. Follows
directions. The interpreter does not create a file which can be played
independently by the computer. Very useful if we are looking for errors in
instructions, as when it discovers something that does not make sense, it turns
away. This will make it easier for you to correct our errors in the
instructions you give the interpreter. The interpreter is very helpful to those
who make instructions and to computers to help them understand what is
happening and to ensure that everything is functioning properly.
Example: The Python
Interpreter reads each Python statement, translates it into machine
instructions, and executes it instantly.
Assembler
An assembler is a kind of system
software. It takes assembly language programs. Turns them into machine language
that the computer can understand. This system software translates instructions
like MOV, ADD and SUB into binary code. The computer processor can understand this
binary code. People mainly use assemblers when they work with embedded systems
and low-level programming. They use assemblers to write programs for these
systems. Assembler software is very important, for this kind of work.
Example: An assembly
instruction like MOV AX, 5 is translated into its corresponding binary machine
code by an assembler.
1G (First Generation) Language
First Generation Language (1GL)
refers to machine language, which consists entirely of binary digits. It is
directly understood by computer hardware without requiring translation.
Programming in 1GL is extremely difficult because programmers must write long
sequences of binary instructions.
Example: Writing CPU
instructions using combinations of zeros and ones to perform arithmetic
operations is an example of first-generation programming.
2G (Second Generation)
Language
The Second-Generation Language or
2GL for short is actually the assembly language. This assembly language uses
symbols and codes called mnemonics, of the binary instructions that the
computer understands. An assembler is what converts these mnemonics into the
machine language that the computer can understand. The Second-Generation
Language or 2GL is easier to work with than the machine language. You still
need to know a lot, about the hardware to use it.
Example: Instructions such
as ADD AX, BX or MOV CX, 10 are written in second-generation programming
languages.
3G (Third Generation) Language
Third Generation Language or 3GL
for short is a type of language that makes it easy for people to write
programs. These Third-Generation Languages are, like English so they are simple
to understand. They also support a few ways of organizing code like structured
and object-oriented programming. When people make software, they usually use
Third Generation Languages because they are so easy to work with. Most new
software is made using Third Generation Languages.
Example: Python, Java, C,
C++, and C# are third-generation languages used to build desktop applications,
websites, games, and enterprise software.
4G (Fourth Generation)
Language
Fourth Generation Language or 4GL
for short is really good at solving problems with lines of code than other
languages. We use Fourth Generation Language for things like managing databases
making reports and building applications quickly. The thing about Fourth
Generation Language is that it tells you what to do not how to do it. This
means you do not have to know all the details, about how the computer will do
the task you just tell the Fourth Generation Language what you want to happen.
Example: SQL is a
fourth-generation language used to retrieve, update, and manage data stored in
relational databases.
5G (Fifth Generation) Language
The Fifth-Generation Language is
made to help with intelligence and expert systems and logical reasoning. This
language is really different because you do not have to write out all the steps
to solve a problem. You just tell the Fifth-Generation Language what you want
to happen or what rules to follow. It figures out how to do it. The Fifth-Generation
Language is used to solve problems by setting goals or constraints. Then the
system finds a way to make it work.
Example: Prolog is a
fifth-generation language commonly used in expert systems, knowledge
representation, and logical problem-solving applications.
Algorithm
An algorithm is a set of steps
that you follow to solve a problem. You do one thing, another and so on. A good
algorithm is easy to understand. It works well. It always gives you the answer
when you use it correctly. People usually figure out what the algorithm is
before they start writing the code for the program. This way the algorithm
helps them make a program that does what it is supposed to do.
Example: To calculate the
sum of two numbers: start, input two numbers, add them, display the result, and
stop.
Flow Chart
A flowchart is a picture that
shows how an algorithm works. It uses symbols that are connected by arrows.
These arrows show what happens first and what happens next in the algorithm.
Flowcharts are really helpful, for programmers because they can see the logic
of the program before they start writing the code. Flowcharts also make it
easier for developers to talk to each other about the program they are making.
The flowchart helps them understand how the program is supposed to work.
Example: A flowchart for
checking whether a number is even includes input, decision, output, and
termination symbols connected in logical order.
Summary of Article
Programming fundamentals give the
knowledge needed to create software properly. Ideas like programming, solving
problems, programming languages, tools that translate code, types of languages
ways to plan steps and diagrams that show processes help new people see how
computers follow instructions and handle real-life issues. Getting good at
these basics makes it much simpler to learn subjects like data structures,
object-oriented programming, databases, artificial intelligence and building
software properly. It also gets students for good jobs, in computer science.


Comments
Post a Comment