Topic :Introduction To Programming Language:

What is Programming?

Algorithm : Programming algorithm is a computer procedure that is look like a recipe ( called a procedure ) and tells our computer precisely what steps to take to solve a problem or reach a goal. The ingredients are called inputs, while the results are called the outputs.

Encoding: is the process of Converting data into a format required for a number of Information processing needs, Including
» Program compiling and execution.
» Data transmission, storage and compression/decompresion.
» Application data processing, such as file conversion.


Programming is the Process of taking an Algorithm and Encoding it into a Notation, a Programming Language, so that it can be executed by a Computer.

In simple, a program is a precise sequence of steps to solve a particular problem. When We want to control Our computer, you need a way to speak to it. Unlike Our dog or cat, which have their own inscrutable languages, computer have Programming languages created by People.

Computers are incredibly Stupid. They do exactly what we tell them to do: no more, no less. unlike human beings. The computer can't think for themselves. in this Sence, they differ from human beings.

For Example: If someone asks, What is the time? Time Please? or just Time?. we will understand anyway that he is asking the time. but a computer is different. Instructions to the computer should be explicitly stated. The computer will tell us the time only if we ask it in the way we have Programmed it.

A computer Program is a piece of text, like a book, or an essay. but with its own Particular structure. The language, while comprehensible to humans, is more strictly structured than a normal language, and the vocabulary is much smaller.

Once we have written a computer program, you need a way for the Computer to Run it. to interpret what we've written. This is usually called executing our Program. The way we do this will depend on our Programming language and environment. we'll talk more about how to execute our Program soon.



Programming Languages:

There are Many Programming Languages, each with their own different structure and vocabulary, but they are in many ways very similar. Once we have learned one, learning the next will be easier. Different Languages have different Purpose, so it makes sense to talk about Different kinds or types of languages, Some types are:



Programming Types, Programming language: infobrother

Machine Languages:

Machine Language can be directly understood by computer, without any conversion. Machine language is easily understood by computer, but for humans its too difficult to use because they consist entirely of Numbers. Therefore Programmers use either a high level Programming languages of an Assembly Languages.
Machine code is usually written in Hex. Example for the Intel 64 Architecture:


89 F8 A9 01 00 00 00 75 06 6B C0
03 FF C0 C3 C1 E0 02 E8 03 C3 00 


Assembly Languages:

NASM: The Netwide Assembler (NASM) is an assembler and disassembler for the intel x86 architecture. it can be used to write 16-bit, 32bit and 64-bit programs. NASM is considered to be one of the most pupular assemblers for Linux.

MASM: The Microsoft Assembler (MASM) is an x86 assembler that uses the Intel syntax for MS-DOS and Microsoft Windows. Beginning with MASM 8.0 there are two versions of the assembler. one for 16-bit and 32-bit assembly sources, and another (ML64) for 64-bit sources only.

An Assembly Language is basically just a simplistic encoding of Machine code into something more readable. It does add labeled storage locations and jump targets and subroutine starting address, but not much more. Assembly Language is converted into executable Machine code by a Utility Program referred to as an Assembler like NASM and MASM etc.

section    .text
    global_start   ;must be declared for linker (ld)
     
_start:              ;tells linker entry point
    mov    edx,len   ;message length
    mov    ecx,msg   ;message to write
    mov    ebx,1     ;file descriptor (stdout)
    mov    eax,4     ;system call number (sys_write)
    int    0x80      ;call kernel
     
    mov    eax,1     ;system call number (sys_exit)
    int    0x80      ;call kernel

section    .data
msg db 'Hello, world!', 0xa  ;string to be printed
len equ $ - msg     ;length of the string


High-Level-Languages:

A Programming Language such as C, FORTRAN, or Pascal that enables a Programmer to write Programs that are more or less independent of a particular type of computer. Such Languages are considered high-level because they are closer to human languages and further from machine languages. In contrast, assembly languages are considered low-level because they are very close to machine languages.

The main advantage of High-level languages over low-level languages is that they are easier to read, write, and maintain. Ultimately, Programs written in a High-level language must be translated into machine language by a compiler or interpreter. There are dozens of different High-level languages including Ada, Algol, BASIC, COBOL, C, C++, FORTRAN, LISP, PASCAL, AND PROLOG.



program hello
Print *, "Hello World!"
end program Hello


High Vs Low Language

System Languages:

System Programming Languages differ from application Programming languages in that they are more concerned with managing a computer system rather that solving general Problems in Health care, Game playing, or Finance. System languages deal with:










Scripting Languages:

Scripting Languages are used for wiring Together systems and Applications at a very high level. They are almost extremely expressive and usually dynamic. These Programming Languages are Often Procedural and May comprises object-Oriented Language elements, but they fall into their own category as they are normally not full-fledged Programming languages with support for the development of large systems.

For example, They May Not have compile-time checking. Usually, these languages require tiny syntax to get started.
Some of the Most Widely used Scripting languages are JavaScript, VBScript, PHP, Perl, Python, Ruby, ASP, and TCL.



scripting language, programming language: infobrother

Object Oriented Programming Languages:

A type of Programming where data types representing data structures are defined by the Programmer as well as their Properties and the things that can be done with them. With Object-Oriented Programming, Programmers can also create relationship between data structures and create new data types characteristics from another one.

In Object-Oriented Programming, data types defined by the Programmer are called classes.
, For Example, A Programmer can create a data type that represents a Car - a Car Class. This class can contain the Properties of a car like its color, Model, year etc, and Its Functions that specify what the car does like drive, reverse, stop etc. Some Popular Object-Oriented Languages are Java, C++, C#, Python, PHP, Ruby, Perl, and Objective-C.



High Vs Low Language, object-oriented programming: infobrother

Visual Programming Languages:

A Visual Programming Languages (VPL) is any Programming Languages that lets users create Programs by Manipulating Program Elements Graphically rather than by Specifying them Textually.

Visual Programming Languages enables the development of software programs by Eliminating Textual software code with a series of visual graphics Elements. VPL incorporates these Graphical Elements as the Primary context of the Language arranged in a Systematic Order. The graphics or icons included within a visual Program serve as input, Activities, connections and/or output of the Program. Visual Language has a few types, such as Icon-based Languages, Diagramming Languages, and Form-based Languages. Visual Languages should not be confused with a GUI-based Programming language as they only Provide graphical program authoring services. However, their code is completely textual. Kodu, Blockly, and Executable UML are Popular Examples of Visual Programming Languages.



visual language: infobrother





I Tried my Best to Provide you complete Information regarding this topic in very easy and conceptual way. but still if you have any Problem to understand this topic, or do you have any Questions, Feel Free to Ask Question. i'll do my best to Provide you what you need.

Sardar Omar.
InfoBrother





WRITE FOR INFOBROTHER

Advertising






Advertisement