HELLO!
We are group 10
Lê Trường Giang
Trần Trung Anh
Nguyễn Chí Dũng
Nguyễn Văn Linh
1
TABLE OF CONTENTS
Definition
• Programming language is any set of rules that
converts strings, or graphical program elements in
the case of visual programming languages, to
various kinds of machine code output
• In simple terms, programming languages are the
tools we use to write instructions for the computer to
follow
What are programming languages used for ?
• Application
Development – creation
of programs that perform
tasks
• Artificial Intelligence (AI)
– simulation of human
intelligence in machines
What are programming languages used for ?
• Database Development
– creation of databases
which store data
• Web Development – the
work involved in
developing a website for
the Internet
History Of Programming Language
1883: Ada Lovelace wrote the instructions for the Analytical Engine,
the first computer program
1949: Assembly Language
1952: Autocode, the first compiled computer programming language
1972: C language (developed by Dennis Ritchie), the first high-level
programming language
1991: Python (developed by Guido Van Rossum), a simplified
computer language
1995: PHP (developed by Rasmus Lerdorf) for Web Development
2000: Microsoft developed C# as a combination of C++ and Visual
Basic
500+
Is the number of programming languages
in the computer world
Â
Classification
Programming Language Classification
Low abstraction
High abstraction
Low-level
Programming
Language
High-level
Programming
Language
1
3
Abstraction
1
4
▹ It refers to how detached or separated a
language is from the core computer concepts
and language
▹ Higher level language = More abstraction
High abstraction
Low abstraction
More abstraction = Less details
Low-level
Programming
Language
Low-level
Programming Language
▹ Very close to writing actual
machine instructions
▹ Provides little or no
abstraction
▹ Machine dependent
1
7
Machine Language
• Instructions in binary form
• Can be directly understood by
the computer without
translating
Assembly Language
•
•
•
Instructions using
symbolic/mnemonic codes in
English language
Between Machine language and
High-level languages
The Assembler converts the
assembly code into machine code
Assembler
Pros
▹ Very fast and efficient
▹ Complete control
▹ Great for OS/Firmware
Cons
▹ Hard to read, write, debug
▹ Machine dependent
▹ Not commonly used
High-level
Programming
Language
High-level
Programming Language
▹ Close to human languages
▹ Strong abstraction
▹ Highly compatible
→ Easy to use and understand
2
3
2
4
Compiler & Interpreter
▹ Compiler: Converts entire program into
Machine Code → Creates .exe file before
running
▹ Interpreter: Converts each line of code into
Machine Code → Does not create .exe file
before running