hi
Yin and Yang Surfboard

Kamis, 09 Oktober 2014

Chapter 2 : Evolution of the Major Programming Language


From Book : Concept Of Programming  Languages 
By : Robert W. Sebesta


REVIEW QUESTION :

16. In what way are scheme and Common LISP opposites of each other ?
Answer :
In its sizes, complexity, adn scoping(scheme: static scoping, Common LISP: both dynamic and static scoping).

17.What dialect of LISP is used for introductory programming courses at
some universities?

Answer :
Scheme is mostly used for courses in functional programming.

18. What two professional organizations together designed ALGOL 60 ?
Answer :
GAMM and ACM (Association for Computing Machinery).

19. What was the goal for developing C ?
Answer :
C has adequate control statements and data-sructuring facilities to allow its use in many application areas. It alse has a rich set of operators that provide a high degree of expressiveness.

Read More


20. What were the significant modifications to ALGOL 58 to produce ALGOL 60 ?
Answer :
The concept of block structure was introduced, two different means of passing parameters to subprograms were allowed, procedures were allowed to be recursive, stack-dynamic arrays were allowed.

PROBLEM SET :

16. What is your opinion of the argument that languages that are too complex are too dangerous to use, and we should therefore keep all languages small and simple?
Answer :
     I strongly disagree with that argument. Languages that are too complex, in my opinion is not dangerous at all – in case that the programmer who use the language knows exactly what he / she is doing. High complexity means that the program will be able to do more than simple coded programs, as complexity is defined as orthogonality. There is no use in keeping all languages small and simple. Since if there’s a language that some thinks too complex, people just don’t have to use it as standard. Instead, they can use simple ones as the standard.

17. Do you think language design by committee is a good idea? Support your opinion?
Answer :
      Yes I think it is a good idea because committees make languages standards, without them every individual may implement the language according to their needs, which will make the application maintenance impossible because of the differences in syntax and semantics of the languages. Committees also plan the things better than the individuals are able to do. So the final product lives much longer and from generation to generation.

18. Languages continually evolve. What sort of restrictions do you think are appropriate for changes in programming language? Compare your answer with the evolution of Fortran.
 Answer :
     A good deal of restraint must be used in revising programming languages. The greatest danger is that the revision process will continually add new features, so that the language grows more and more complex. Compounding the problem is the reluctance, because of existing software, to remove obsolete features.

19. Build a table identifying all of the major language developments, together with when they occurred , in what language they first appeared, and the identities of the developers . 
 Answer :
  • Years 50: Creation of high-level languages ​​(closer to humans).
  • Years 60: Expansion of specialized languages​​. Forth. Simula I. Lisp, Cobol. Trying unsuccessfully to impose general languages​​: Algol, PL / 1.
  • Years 70: Duel between structured programming with Pascal and efficiency of C language. Basic generalized on personal computers from 1977, until the late 80s.
  • Years 80: Experimentating other ways including objects. ML. Smalltalk. On computers, we now use C, Pascal, Basic compiled.
  • Years 90: Generalization of object-oriented programming with the performance of microcomputers. Java, Perl, Python languages ​​in addition to microphones.
  • 2000s: Internet Programming (and future innovations, see end of text).
  • Years 2010: Concurrency and asynchronicity. JavaScript and Go languages among others help to create online fluid applications.

20. There have been some public interchanges between Microsoft and Sun concerning the design of Microsoft's J++ and C# and Sun's Java. Read some of these documents, which are available on their respective Web sites, and write an analysis of the disagreements concerning the delegates.

 Answer :

These are the documents 

Delegates are a redundancy polluting object-oriented paradigm. Most of the posts on the subject are missing a big picture. 

Tidak ada komentar:

Posting Komentar