COMPUTER PARADIGMS ASSIGNMENT
DO THE FOLLOWING
Programming: computing lifeblood
The table below shows 40 years of development of major programming languages and scripting systems. One can see some clear patterns. First, there are now more major languages to learn. Typically in a Net-based system there will be HTML, JavaScript, Java, C, C++, or Visual Basic, and increasingly some XML dialect. Only one language, Cobol, has lasted throughout the period as a major presence. Some other languages appear as shooting stars, important for part of a decade, then quickly disappearing.
Programming/scripting language evolution
1961-1970 Algol, Cobol, JCL, Fortran, RPG
1971-1980 Algol, Basic, C, C-Shell, Cobol, Fortran, JCL, Pascal, PL/1 RPG
1981-1990 123, Basic, C, C++, C-Shell, Cobol, dBase, Focus, Fortran, JCL, IFPS, Pascal, PL/1, Progress, Rexx
1991-2000 C, C++, C-Shell, Cobol, Excel, Foxpro, HTML, Java, JavaScript, Perl, PowerBuilder, Visual Basic
2001+ C++, C, Cobol, HTML, Java, JavaScript, Python, TCL/Tk, Visual Basic, VBA, XML
***What is structured programming?
(COBOL, FORTRAN), ALGOL
'70s-'80s. Eliminate "goto". Break task into functions. Assign types to data and variables. Declarations. Specific language for flow control and loops. Easier to read, debug, analyze.
***What is object-oriented programming?
Idea: Object=Data+Functions (more accurately, Variables+Methods) Object=a little "expert". You "ask" it to do things. If format of data changes and/or implementation of functions, no one "outside" has to know. Hence, less changes to code required.
Makes language easily extendible. Lots of checking for you. Code is much more self-documenting. Code is reusable.
Other more technical stuff!
***Why C++?
Pascal traditional first language. Specifically designed for teaching. Strongly typed. Functions know what they are getting. Designed for STRUCTURED PROGRAMMING.
C designed to replace assembly language for operating system implementation: UNIX.
C was originally untyped. Even now it is barely typed. You have to subvert typing to allocate memory. I/O functions do no type checking!
The noise you get from an acoustically coupled modem!
Talk by Bjarne Stroustrup: C++ is good for at least one application! Major emphasis: reuse of code. Object orientation.
***Why JAVA?
The folks at Sun wanted to create a language that would be SECURE enough for internet applications. You don't want to run someone else's JAVA program and have it destroy your computer.
To be provably SECURE, a language has to be as SIMPLE as possible. In general, there is only ONE WAY to do each thing. This simplicity also makes the language good for TEACHING.
JAVA also has other advantages.
It's FREE.
It runs on any machine that runs Netscape.
It's got good support for graphical user interfaces within a web browser.
If you set things up properly, anyone anywhere can run your program and see your neat graphics.
The one thing that JAVA is NOT right now is EFFICIENT.
***Why both?
Some of the clothes you are wearing might have been made more cheaply thanks to software my students and I wrote. This software needs to do a lot of computations, and it is written in C++.
Right now, I want other companies to see my software. I am creating a JAVA interface so all they need to do is visit my web page to try it out!
Part A
Please read all the following web pages. After reading all the pages, choose any two, and then word process half a page summary on each. Please do not cut and paste (plagiarize) from the Internet pages, without quoting and footnoting. 10 marks each.
http://www.soft-design.com/softinfo/objects.html
http://www.bearhome.com/books/samp-vb5
http://www.uow.edu.au/~hasan/buss930/prog/paradigm.htm
http://www.uow.edu.au/~hasan/buss930/prog/prlangs2.htm
http://www.uow.edu.au/~hasan/buss930/prog/prlangs1.htm
PART B
Programming: computing's lifeblood
The table below shows 40 years of development of major programming languages and scripting systems. One can see some clear patterns. First, there are now more major languages to learn. Typically in a Net-based system there will be HTML, JavaScript, Java, C, C++, or Visual Basic, and increasingly some XML dialect. Only one language, Cobol, has lasted throughout the period as a major presence. Some other languages appear as shooting stars, important for part of a decade, then quickly disappearing.
Programming/scripting language evolution
1961-1970 Algol, Cobol, JCL, Fortran, RPG
1971-1980 Algol, Basic, C, C-Shell, Cobol, Fortran, JCL, Pascal, PL/1 RPG
1981-1990 123, Basic, C, C++, C-Shell, Cobol, dBase, Focus, Fortran, JCL, IFPS, Pascal, PL/1, Progress, Rexx
1991-2000 C, C++, C-Shell, Cobol, Excel, Foxpro, HTML, Java, JavaScript, Perl, PowerBuilder, Visual Basic
2001+ C++, C, Cobol, HTML, Java, JavaScript, Python, TCL/Tk, Visual Basic, VBA, XML
1. Which language has survived from the sixties onward and why? 5 marks
2. Name the two programming paradigms.5 marks
3. Where do Pascal, c, c++ and java belong? 4 marks
PART C
After reviewing the powerpoint and notes and using the basic concepts of object technology, you are to think of an object. Given that object, identify examples in each of the following areas. 2 marks for each blank or question