Class Note for CS 403 at UA-Programming Languages (19)
Class Note for CS 403 at UA-Programming Languages (19)
Popular in Course
Popular in Department
This 7 page Class Notes was uploaded by an elite notetaker on Friday February 6, 2015. The Class Notes belongs to a course at University of Alabama - Tuscaloosa taught by a professor in Fall. Since its upload, it has received 16 views.
Reviews for Class Note for CS 403 at UA-Programming Languages (19)
Report this Material
What is Karma?
Karma is the currency of StudySoup.
You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!
Date Created: 02/06/15
CS 403 9242002 Exam 1 date Oct 8 Writing assignment 2 and programming journal due today New writing assignment Today Finish Chapter 4 ALGOL60 Elegance Reading Assignment for Tuesday Chapter 5 No class Thursday 103 EDayquot mum as w mum Associa Ion of Computing Machinery The First Seciety in Cumputing FWS Meeting ane Veai Thuvs ayi SeptemberZEiZDDZ Time and Piece EE tie am an in In Join us cinniuiseaytcii FREE F000 and anneuncements cit upccimiiie ACM events inciueine a pieeiammine EDMES1 Guest Speaker Shane Mem a UA cs Wadi cuiieiitiy mrectnr m uetwnrk and Cnmnullng Sunrm at Seebeck FDYmDYE mini Visit us at acm ene Lia eeu mum as w mum Reading Quiz mum as w mum 43 Design Elegance Elegance is partly an aesthetic concept How beautiful is the code It has a direct effect on How readable how understandable is the code Which leads to How maintainable is the code Remember Maintenance costs dominate the total cost of software mzmz c 0330255 Nous p t Design has three dimensions Efficiency Economy Elegance Textbook uses the analogy of building a bridge to help clarify these issues What other analogies could apply mzmz c 0330255 Nous p t Ef ciency Goal minimize the resources used Sometimes your program must run in less that 512K RAM Realtime programming must have a response time ofless than e epsilon ie 001 second Problems with runtime On3 must run efficiently But don t confuse compile time with run time etc Some languages take forever to compile but run yew efficiently COBOL is one example of this mzmz c 0330255 Nous p Economy Maximize bene t vs cost 9 a social issue Bridges must be relatively cheap but must provide reliability safety etc Each new generation of computer languages was driven by certain costs that were getting out of hand First 9 Second Programmer cost gt computer time cost Second 9 Third Cost ofbugs was growing Third 9 Fourth Cost of maintenance gt development Lots of costs and bene ts Backers ofa language Dept of Defense ACM GAMM Social forces and personalities mm c 0330255 um p a Elegance Mathematical analysis is always incomplete Remember the Tacoma Narrows bridge It failed because no one thought to do an aerodynamic stability analysis The best engineers use elegance as a major design principle mm c 0330255 um p 5 Elegance amp Simplicity There are two ways of constructing a software design One way is to make it so simple that there are obviously no de ciencies and the other way is to make it so complicated that there are no obvious de ciencies The rst method is far more dif cult CAR Tony Hoare The first way is the essence ofelegance mm c 0330255 um p Elegance If it looks bad it probably is bad If it looks good it s much more likely to be good Function follows form Structure Principle Elegance Principle Confine your attention to designs that look good because they are good mzmzc lcbssllutns p em Beauty and Work Have you toured the Gulf States Paper Co offices You should It s free Jack Warner believes that employees work better in the midst of beauty He didn t get to be one of the richest men in the state by making stupid decisions You will do better work if you are surrounded by beauty Your work will be better if you try to make it beautiful mzmzc lcbssllutns p e Creating Beauty Buckminster Fuller When I work on a problem I never think about beauty But when I am finished ifit is not beautiful I know it is wrong If the programs you produce don t have some form of beauty about them They ll be harder to read and understand They ll be more expensive to maintain Probably be more prone to bugs amp problems So A good programming language should encourage elegance amp beauty mm c 0330255 um p l 44 Algol Evaluation amp Epilogue Never achieved Widespread use Had no inputoutput statements Machine independence was a goal There was no standard for lO so there was no machine independent way to specify it Competed with the alreadyestablished FORTRAN Designers expected to call on library procedures mzmz c 0330255 um Algol was a Major Milestone New terms amp concepts TYPe Formal parameters amp Actual parameters Block Call by value Call by name Scope Dynamic arrays Global local amp nonlocal variables mzmz c 0330255 um Other developments due to Algol These are discussed in chapter 6 Activation records Thunks Displays Static amp dynamic chains for scoping BNF Nearly all languages today are Algol l e Block structured Nested Recursive Free form mzmz c 0330255 um Algol amp Second Generation Lang Data Structures Strong Typing Slight improvement in arrays Name Structures Hierarchically nested Block Structure mzmzc lcbss utns p 15 Algol Second Generation Lang Structured Controlquot structures Hierarchical control flow No need for goto s Parameter passing modes Recursive procedures Syntactic structures Free form not column dependent Shift to keyword away from keywordin context 9 toward reserved words mzmzc lcbss utns p m Second System Effect Brooks describes this in The M hical ManMonth When designers amp programmers are making their 1st system they often think of neat ideasquot that they can t implement in this system So they incorporate them into the 2quotd system and it gets overbloated with too many neat things Algol60 and especially Algol68 show this mzmz c 0330255 Notes p I End of class Read chapter 5 for Tuesday Check web page for Forum notices Check web page for details on 3 writing assignment mzmz c 0330255 um
Are you sure you want to buy this material for
You're already Subscribed!
Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'