4. Generations of computer programming
languages
• Pre-computer age
– Babbage, Ada Lovelace
– http://en.wikipedia.org/wiki/Analytical_engine
• 1st generation (1950s): Machine language
– 0s and 1s
• 2nd generation (1960s): Assembly language
• 3rd generation (late 1960s): High-level programming
– COBOL, Fortran, BASIC, Pascal, C, C++, Visual Basic, Java, C#
• Scripting: 3.5th generation
– JavaScript, Perl, PHP, ASP, CFML
• 4th generation: Meta languages
– SQL, HTML, XML
• 5th generation: Intelligent languages
5. Contemporary programming Languages
• Traditional procedural (Third generation languages—3GL)
– Basic, C, COBOL, Fortran
• Script languages (3GL)
– Perl, JavaScript, PHP, ASP, CFML
• Object-oriented (3GL)
– C++, Java
• Visual and component-oriented (3GL)
– Visual Basic, Visual C++, Delphi
• Markup and modeling (Fourth generation languages—4GL)
– HTML, XML, VRML
• Data querying (4GL)
– SQL
• Web services (4GL)
– Microsoft .NET, Java Web Services
– http://en.wikipedia.org/wiki/Web_service
6. The program translation process
1. Source code
– Human-readable instructions using programming language
2. Compilation/Interpretation
– Compilation: All at once, in advance
• Most 3rd generation languages and below
– Interpretation: Line-by-line, real-time
• All 4th generation languages and above (including all
scripting languages); also some 3rd generation languages
3. Machine language
– Computer-readable ones and zeros
– Sometimes intermediary object code
8. Internet Milestones
http://www.zakon.org/robert/internet/timeline/
http://en.wikipedia.org/wiki/History_of_the_Internet
• 1969: Originally called ARPANET, the Internet began as a
US military-academic network (originally 4 nodes)
• 1974: TCP/IP developed; later becomes lingua franca of
the Internet
• 1983: Milnet (for military) split off. After, Internet used
for academic, education and research only
• 1986: NSFNet created as US Internet backbone
• Around 1991: commercial access to the Internet begins.
• 1993: NCSA Mosaic Web browser
• As of 2004, the Internet had over 280 million servers and
934 million users. Growth in the use of the Internet
continues at a rapid rate.
(see http://www.clickz.com/stats/)
10. Open source software
• Richard Stallman and the Free Software Foundation
– The free software revolution
• GNU and the General Public License
– Copyleft
• Linus Torvalds and Linux
– Legitimization of the free software methodology
• Eric Raymond and the Open Source Initiative
– Free software becomes “open source”
– Commercial legitimization of free software
• Netscape and Mozilla
– First major traditional enterprise to go open source
– Mozilla Project successfully competes in consumer
market
12. Background of the World Wide Web
• 1989: Tim Berners-Lee invented HTML and the WWW
• 1994: World Wide Web Consortium (W3C) established to
guide Web standards
– HTML: Standard WWW markup
– XML: Customizable, data-oriented markup
– XHTML: Extensible, well-formed HTML
– CSS: Formatting
14. Example of an HTTP Request from a
Web browser
Command URL HTTP version
GET http://www.kelley.indiana.edu/ardennis/home.htm HTTP/1.1 ]- Request
Date: Mon 06 Aug 2001 17:35:46 GMT Line
User-Agent: Mozilla/6.0 ]- Web browser (this is Netscape)
Referer: http://www.indiana.edu/~aisdept/faculty.htm Request Header
URL that contained the link to the requested URL
(Dennis, 2004 Figure 2-9)
15. HTTP response from a Web server
HTTP version Status code Reason
HTTP/1.1 200 OK ]- Response Status
Date: Mon 06 Aug 2001 17:35:46 GMT ]- Date
Response
Server: NCSA/1.3 ]- Web server
Header
Location: http:// www.kelley.indiana.edu/adennis/home.htm ]- URL
Content-type: text/html ]- Type of file
<html>
<head>
<title>Allen R. Dennis</title>
</head>
<body> Response
<H2> Allen R. Dennis </H2> Body
<P>Welcome to the home page of Allen R. Dennis</P>
</body>
</html>
(Dennis, 2004 Figure 2-10)
16. History of web browsers
• Initial, and text-only
• NCSA Mosaic
– First GUI browser, with images—gave a face to the Internet
• Netscape Navigator
– First commercial browser
• Microsoft Internet Explorer
– Today’s #1 browser in market share
• Mozilla Firefox
– The best browser (in my own biased opinion)
• Other browsers
– Apple Safari, Opera, Konqueror
17. A grammatical note
• “Web” or “web”, “Internet” or “internet”?
• In English, you normally capitalize any noun that is unique in its entire
domain, except when it is very commonly used
– “The prime minister of India”—a description
– But “the Prime Minister of India”—a title
– “the Prime Minister”—unique, referring to the PM of Canada
– “the Milky Way Galaxy”, but “the sun” and “the solar system”
• Thus, it all depends on how unique and common you feel the Web and
Internet are
• My personal preferences:
• I always capitalize “the Internet”, even as an adjective, as in, “Internet
resources”. On the rare occasion that I refer to “the Net”, I also capitalize it.
• The Web is more complicated:
– The “World Wide Web” is always all capitalized
– When referring directly to the WWW, I always capitalize “the Web”
– When using the term as an adjective, I usually use small letters, as in
“web resources”.
– I spell “websites” and “webpages” as single words
19. Why Standards?
• Standards provide a fixed way for hardware and/or
software systems to communicate
• For example, since XHTML is a standard,
– Any web developer can create XHTML pages
– that can be reliably served by any HTTP server
– and that can be correctly viewed on any Web browser
– at least, that’s the idea
• By allowing hardware and software from different
companies to interconnect, standards help promote
competition
20. Types of Standards
1. Formal: a standard developed by an industry or
government standards-making body
e.g. USB, 802.11g, XML, CSS
2. De facto: standards that emerge in the marketplace
and are widely used, but lack official backing by a
standards-making body
Intel 4x86 processor, Microsoft Windows,
Macromedia Flash, Adobe PDF
21. The Standardization Processes:
Three Steps
1. Specification: developing the nomenclature and
identifying the problems to be addressed.
2. Identification of choices: identify solutions to the
problems and choose the “optimum” solution.
3. Acceptance: defining the solution, getting it
recognized by industry so that a uniform solution is
accepted.
22. Some Major Standards Making Bodies
• ISO: International Organization for Standardization
(www.iso.ch)
• ITU-T: International Telecommunications Union –Telecom
Group (www.itu.int)
• ANSI: American National Standards Institute (www.ansi.org)
• IEEE: Institute of Electrical and Electronic Engineers (see
standards.ieee.org)
• IETF: Internet Engineering Task Force (www.ietf.org)
• W3C: World Wide Web Consortium (www.org)
24. Components of website development
• Content
• Structure
• Format and design
• Dynamics and interactivity
– Forms
– Client-side programming
– Server-side programming
– Databases
25. Content
• Purpose, goal and objectives of the site
• Audience
• Structure of content
• Format and design of content
• Interactivity and enhancement of content presentation
26. Structure
• HTML vs. XHTML
– HTML: Anything goes
– XHTML: Strict conformation to standards
• Internal file structure
– Page sections
– Templates
• Site structure
– Folder hierarchy
– Content vs. resources
– Maintaining file links
27. Format and design
• Graphics and aesthetics
• Functionality, usability, and accessibility
29. Summary
• Computer programming languages of various generations
and complexities are used for various purposes
• The Internet connects computers worldwide to provide
various information resources
• The World Wide Web is the richest and most flexible
Internet service
• Standards are necessary to ensure a prolific and
competitive atmosphere for web development
• Components of website development:
– Content
– Structure
– Format and Design
– Dynamics and Interactivity