(IT ) Week7 Programming Language
(IT ) Week7 Programming Language
Programming
Language
손 우형
[email protected]
Where we are
• Part 1. Hardware • Part 3. Communications
• Computer 구조 • Internet
• Bit, Byte • WWW
• CPU • Security & Privacy
Program
- a concrete statement of every step that a real computer must perform to accomplish a task
- a building
A program has to worry about practical problems like insufficient memory, limited
processor speed, invalid or even malicious input data, faulty hardware, broken network
connections, and human frailty.
Fortran
- “Formula Translation” developed by IBM
- Alive and well today
Cobol
- “Common Business Oriented Language” aimed for business data processing
Basic
- “Beginner’s All-purpose Symbolic Instruction Code” available on the first Personal Computer
How Compiler works
Evolution of programming languages,
1970's
"System programming" languages: C
- Efficient and expressive enough to take on any programming task
- Writing assemblers, compilers, operating systems such as UNIX
- C compiler converts into assembly language programs
- Enormous advantages:
Accessible to much wider population of programmers
Same program can be translated for different machines (portable)
Faster, cheaper hardware helps make this happen
Evolution of programming languages,
1980's
"Object-oriented" languages: C++
- Better control of structure of really large programs
- Better internal checks, organization, safety
- C++ compiler converts into assembly language or C programs
- Enormous advantages
Same program can be translated for different machines (portable)
Faster, cheaper hardware helps make this happen
https://www.y
outube.com/w
atch?v=YqxeLo
dyyqA
Why so many programming languages?
Notation is important
- "Language shapes the way we think and determines what we can think about." (Benjamin Whorf)
- The more natural and close to the problem domain, the easier it is to get the machine to do what
you want
Higher-level languages hide differences between machines and between operating systems.
We can define idealized "machines" or capabilities and have a program simulate them --
"virtual machines".
Programming Language Components
Syntax: Grammar rules for defining legal statements
- What's grammatically legal? how are things built up from smaller things?
Semantics: What things mean
- What do they compute?