programming languages design considerations (qualities) readability –simplicity and clarity...
TRANSCRIPT
Programming Languages Design
Considerations (Qualities)
• Readability– Simplicity and Clarity– Orthogonality– Control Statements– Data Types and Structures– Syntax considerations
• Writability– Simplicity and Orthogonality– Abstraction– Expressivity
Programming Languages Design
Considerations (Qualities)
• Reliability – Type Checking– Exception Handling– Aliasing– Readability & Writability
Programming Languages Design
Considerations (Qualities)
• Cost– training– writing– compiling– executing– implementing– reliability– maintaining
Programming Languages Design
Considerations (Qualities)
• Binding– Language definition time– Language implementation time– Program writing time– Program compile– Program load time– Program run time
Practical Considerations
• Architecture• Contextual constraints• Virtual machines and interpreters• Standards• Legacy Systems
Architecture• Languages designed to match
architecture– Von Neumann– Exception: Lisp machines– RISC
Contextual Constraints• architecture• application area• operating system• network• programming community preferences
– general purpose vs special purpose– compiled vs interpreted
Virtual Machines & Interpreters
• compiler written for virtual machine– written only once
• interpreters for real machines• allows experimentation
– eliminates machine specific details
Standards• ANSI Cobol (1985)• ISO Fortran (1997)• ISO Prolog (1995)• ANSI/ISO C (1999)• ANSI Basic (1989)• ANSI/ISO Ada (1995)• ANSI Smalltalk (1998)• ISO Pascal (1990)
Legacy Systems• 90% programmer’s time
maintaining• backward compatibility necessary• ponderous• committee vs individual design
Assignment• Be able to answer the review
questions on pages 33 & 34, particularly– 3,4,5,6,7,8,9,12,13,14,18,20,23,24,25
,26,27,32