programming languages language design issues.ppt

上传人:luoxia****01802 文档编号:77616260 上传时间:2019-02-09 格式:PPT 页数:22 大小:107KB
返回 下载 相关 举报
programming languages language design issues.ppt_第1页
第1页 / 共22页
programming languages language design issues.ppt_第2页
第2页 / 共22页
programming languages language design issues.ppt_第3页
第3页 / 共22页
programming languages language design issues.ppt_第4页
第4页 / 共22页
programming languages language design issues.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《programming languages language design issues.ppt》由会员分享,可在线阅读,更多相关《programming languages language design issues.ppt(22页珍藏版)》请在金锄头文库上搜索。

1、Programming Languages Language Design Issues,Why study programming languages Language development Software architectures Design goals Attributes of a good programming language Language paradigms Standardization and internationalization,Why study programming languages,To improve your ability to devel

2、op effective algorithms To improve your use of existing programming languages To increase your vocabulary of useful programming constructs,Why study programming languages,To allow a better choice of programming language To make it easier to learn a new language To make it easier to design a new lang

3、uage,Language development,Numerically based languages Computing mathematical expressions FORTRAN, Algol, Pascal, PL/1, BASIC, C, C+ Business languages COBOL (Common Business Oriented Language) English-like notation,Language development,Artificial intelligence languages Tree search; Rule-based paradi

4、gm LISP (LISt Processing) PROLOG (PROgramming in LOGic) System languages C, C+ Script languages: AWK, Perl, TCL/TK Web programming: HTML, XML, Java, Microsoft *.NET family,Software architectures Mainframe era,Batch processing (batches of files) Interactive processing (time sharing) Effects on langua

5、ge design File I/O in batch processing Error handling in batch processing Time constraints in interactive processing,Software architectures Personal computers,Interactive processing Embedded system environments Effects on language design No need for time sharing Good interactive graphics Non-standar

6、d I/O devices for embedded systems,Software architectures Networking era,Client-server model of computing Server: a program that provides information Client - a program that requests information Effects on language design Interaction between the client and server programs Active web pages, Security

7、issues, Performance,Design Goals,During 1950s-1960s - Run-time considerations Programmers are cheap, machines expensive; Keep the machine busy Today - program development time considerations CPU power and memory are very cheap,Attributes of a good language,Conceptual integrity Orthogonality Naturaln

8、ess for the application Support for abstraction Ease of program verification Programming environment Portability of programs Cost of use,Language paradigms,Imperative / procedural languages Applicative / functional languages Rule-based / declarative languages Object-oriented languages,Imperative / p

9、rocedural languages,Statement oriented languages that change machine state (C, Pascal, FORTRAN, COBOL) Computation: a sequence of machine states (contents of memory) Syntax: S1, S2, S3, . where S1, S2, are statements,Applicative / functional languages,Programming consists of building the function th

10、at computes the answer Computation: Function composition is major operation (ML, LISP) Syntax: P1(P2(P3(X),Rule-based / declarative languages,Computation: Actions are specified by rules that check for the presence of certain enabling conditions. (Prolog) The order of execution is determined by the e

11、nabling conditions, not by the order of the statements. Syntax: Condition Action,Object-oriented languages,Imperative languages that merge applicative design with imperative statements (Java, C+, Smalltalk) Syntax: Set of objects (classes) containing data (imperative concepts) and methods (applicati

12、ve concepts),Language standardization,The need for standards - to increase portability of programs Problem: When to standardize a language? If too late - many incompatible versions If too early - no experience with language Problem: What happens with the software developed before the standardization

13、? Ideally, new standards have to be compatible with older standards.,Internationalization,I18N issue - How to specify languages useful in a global economy? What character codes to use? Collating sequences? - How do you alphabetize various languages? Dates? - What date is 10/12/01? 10-12-01? 12.10.01

14、 ? Is it a date in October or December?,Internationalization,Time? - How do you handle time zones, summer time in Europe, daylight savings time in US, Southern hemisphere is 6 months out of phase with northern hemisphere, the date to change from summer to standard time is not consistent. Currency? -

15、 How to handle dollars, pounds, marks, francs, euros, etc.,Programming environments,Programming environment: the environment in which programs are created and tested. Separate compilation Separate execution Testing Debugging,Programming environments,Effects on language design: Modular organization L

16、ocal/global variables Libraries,Programming environments,Process control languages Scripting languages Usually interpreted, Able to process programs and data files Specify a sequence of operations on program and data files. Awk, Perl, Tcl/Tk,Summary,Language design must: Allow program solution to match problem structure Allow for world-wide use Be easy to prove correctness of solutions,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号