Uploaded by Amsther Dale Paraiso 25thBAM

1.-Computer-Programming-History-and-Environment-1

advertisement
Computer Programming History
and Environment
Information Technology in Our Lives
• Digital Convergence
– Converting whatever we can in the physical and
communications world to binary on/off signals,
called bits
•
•
•
•
T. K. Yin, NUK-CSIE
Text
Voice
Picture
Movie
• At Home
– Email, Internet shopping, virtual museum,
banking transactions, news
– Small computers in VCRs, automobiles, airconditioning systems, washing machines,
T. K. Yin, NUK-CSIE
• At Play
– Group chatting, games, songs and movies from
Internet
T. K. Yin, NUK-CSIE
• At Work
– Mobile worker
– Office software, Database, ERP, SCM, CRM
T. K. Yin, NUK-CSIE
• At School or College
– Computer-based courses, distance learning
T. K. Yin, NUK-CSIE
The Language of a Computer
• Uses digital signals
– all 0's and 1's (binary)
– bits (Binary digits)
• Data and commands stored in binary
– 8 bits in a byte
– ASCII character stored in a byte
– Integers stored in 2 or 4 bytes
Evolution of Programming Languages
• Early computers programmed in machine
languages
– All binary numbers
• Assembly language used mnemonic codes
– Codes translated
into machine
language by a
program called
the "assembler"
1816-1852
ADA (Lady Ada Augusta Lovelace)
• The first programmer
• It is multipurpose language developed for and
used primarily by the U.S. Department of
Defense (DOD).
1957-1959
• FORTRAN (Formula Translation)
• LISP (List Processor)
• COBOL (Common Business- Oriented
Language)
Considered the oldest languages that are still
used today. High-level languages created for
scientific, mathematical, and business
computing.
FORTRAN
• The first popular high-level programming
language
• A team led by John Backus at IBM
• "The IBM Mathematical FORmula TRANslating
Lisp
• AI conference at Dartmouth, 1956: McCarthy,
Minsky, Newell, Simon
• Newell, Shaw and Simon demonstrate Logic Theorist,
a reasoning program written in IPL (Information
Processing Language)
• IPL had support for linked lists, and caught
McCarthy’s attention
• He wanted a language for AI projects, but not IPL:
too low-level and machine-specific
Chapter Twenty-Four
Modern Programming Languages
12
Lisp’s Unusual Syntax
• A Lisp program is a list representing an AST:
(+ a (* b c))
• The plan was to use some Fortran-like notation
• But McCarthy wrote a paper showing a simple Lisp
interpreter in Lisp: a function called eval
• To avoid syntax issues, he used the list-AST form,
both for eval’s input and for eval itself
• This eval, hand-translated into assembly language,
became the first implementation of Lisp
Chapter Twenty-Four
Modern Programming Languages
13
COBOL
•
•
•
•
COBOL is a high-level programming language
developed in the 1960s
and still used in business applications.
It is used extensively in the financial services industry
for large scale mainframe based applications.
• It uses instructions resembling English statements and
imposes an overall framework for a program.
• The design goal for COBOL was a language that selfdocumented so that it could be revised and maintained
easily.
Fortran, Lisp, Cobol
• Primary Uses: Supercomputing applications,
AI development, business software
• Used by: NASA, credit cards, ATMs
• Fun Fact: Action movie The terminator used
samples of Cobol source code for the text
shown in the Terminator’s vision display.
1964
PL/I (Programming Language/I)
• Was hailed as the answer to many of the
problems of existing programming languages
such as COBOL, and FORTRAN
1965
BASIC
• Is also used extensively on mainframe
computer systems, primarily for one time “
quick and dirty” programs,
• Variations on Basic, such as Microsoft’s
QuickBasic and VisualBasic
1967
LOGO
• Uses a “Turtle” to teach children geometry,
mathematics and programming
• Procedure-oriented language (are used in
business and taught in academic institutions.
1968
APL (A Programming Language)
• Is a symbolic interactive language that is
popular with engineers, mathematicians and
scientists
• A special keyboard with “shorthand” symbols
helps speed the coding speed
1970
PASCAL (After French Mathematician/ Blasie
Pascal
• High level
• For teaching structured programming and
data structuring
PASCAL
• Primary Uses: teaching programming object
Pascal, a derivative, is commonly used for
Windows application development
• Used by: Apple Lisa (1983), Skype
• Creator
1971
FORTH
• Used for device control applications, arcade
games, and robotics
• Procedure-oriented language (are used in
business and taught in academic institutions.
1972
PROLOG (Programming in Logic)
• Can manipulate relationships between facts
(used in the development of expert systems.)
• Procedure-oriented language (are used in
business and taught in academic institutions.
1972
C (Based on an earlier language called “B”)
• General- purpose, Low-level language
• Created for Unix systems
• Second most popular language (behind Java).
Many leading languages Java, Javascript, Perl,
PHP, and Python.
C
• Primary Used: Cross-platform programming,
system programming, Unix programming,
computer game development
• Used by: Unix (rewritten in C in 1973), early
WWW servers and clients
• Creator
1981
Modula -2
• Enables self-contained modules to be
combined in a program
• Procedure-oriented language (are used in
business and taught in academic institutions.
1983
C++ (Formerly “C with Classes “; ++ is the
increment operator in “C”)
• Intermediate-level, object-oriented
• An extension of C, with enhancements such as
classes, virtual functions, and templates
C++
• Primary Uses: Commercial application
development, embedded software,
server/client applications, video games
• Used by: Adobe, Google Chrome, Mozilla
Firefox, Microsoft Internet Explorer
• Creator
1983
OBJECTIVE C (Object-Oriented Extension of “C”)
• General-purpose, high-level, expanded on C,
adding message-passing functionality based on
Smalltalk language
Smalltalk Language
Alan Kay, Xerox PARC, 1972
Inspired by Simula, Sketchpad, Logo, cellular biology,
etc.
Smalltalk is more object-oriented than most of its
more popular descendants
Everything is an object: variables, constants, activation
records, classes, etc.
OBJECTIVE C
• Primary Uses: Apple Programming
• Used by: Apple’s OS X and ios operating
system
• Creator
1987
PERL (“Pearl” was already taken)
• General-purpose, high- level
• Created for report processing on UNIX systems
• Today it’s known for high power versatility
• Used by: IMDB, Amazon, Priceline,
Ticketmaster
PERL
• Primary uses: CGI, Database application,
system administration, network programming,
graphics programming
• Creator
1991
PYTHON (For British Comedy Troupe Monty
Python)
• General- Purpose, high- level.
• Created to support a variety of programming
styles and be fun to use.
• Used by: Google, Yahoo, Spotify
PYTHON
• Primary Uses: Web application, software
development, information security
• Creator
1993
RUBY (The Birthstone of one of the Creator’s
Collaborators)
• General-purpose, high-level
• Teaching language influence by Perl, Ada, Lisp,
smalltalk, ect.
• Designed for productive and enjoyable programming
• Creator (Yukihiro Matsumoto)
• Primary uses: Web application development, Ruby on
Rails
• Used by: Twitter, Hulu, Groupon
Ruby
• Primary uses: Web application development,
Ruby on Rails
• Used by: Twitter, Hulu, Groupon
• Creator
1995
JAVA (For the amount of coffee consumed while
developing the language)
• General-purpose, high-level
• Made for an interactive TV project
• Cross-platform functionality
• Currently the world’s most popular
programming language
JAVA
• Primary uses: Network programming, Web
application development, Software
development, graphical user interface
development
• Used by: Android OS/apps
• Creator
1995
PHP (Formerly “ Personal Home Page” now its
stands for Hypertext Preprocessor)
• Open-source, general-purpose
• For building dynamic web pages
• Most widely used open-source software by
enterprises
• Primary uses: Building maintaining dynamic
web pages, server-side development
PHP
• Used by: Facebook, Wikipedia, Digg,
WordPress, Joomla
• Creator
1995
JAVASCRIPT (Final Choice after “Mocha” and
Livescript”)
• High-level
• Created to extend web page functionality
• Used by dynamic web pages for forms
submission/ validation, interactivity,
animation, user activity tracking, etc.
• Used by: Gmail, Adobe Photoshop, Mozilla
Firefox
JAVASCRIPT
• Primary uses: Dynamic web development,
PDF documents, web browsers, desktop
widgets
• Creator
Download