1、内容内容l正文lHistory of Programming Languages lObject-oriented Programming l阅读材料lIntroduction to The C#Language and The.NET Framework l Introduction to Python 1 History of Programming Languages Key Wordslpunch card n.穿孔卡片lappearance n.外观ldecimal adj.十进位的lformulaic adj.公式的lTuring machine图灵机lmagnetic drum
2、磁鼓lassembly language 汇编语言lerror-prone 易于出错的lBackus-Naur Form(BNF)BNF范式lcontext-free上下文无关llexical adj.词汇的;语词的 Key Wordslpolymorphic adj.多形态的ltedious adj.冗长乏味的ldefense contractors 国防承包商lpostulate v.假设lcompilation n.编译lgarbage collection垃圾回收lstatic typing静态验证lextended static checking 延伸静态检查lmodularity
3、n.模块lmixin n.混合类型ldelegate n.委托lpunctuationn.标点符号 NoteslIts principal use is in rigorous analyses of algorithmic complexity.lThe introduction of lexical scoping for names in arbitrarily nested scopes.lHowever,one important new trend in language design was an increased focus on programming for large-
4、scale systems through the use of modules,or large-scale organizational units of code.它主要应用在对算法复杂性的精密分析中。在任意嵌套中引入了变量名的语义(作用)范围。然而,语言设计的一个重要的新趋势是应用模块或大型企业级代码单元来开发大型系统已经成为关注的焦点。NoteslThe limited speed and memory capacity forced programmers to write hand tuned assembly language programs.lThe design of J
5、ava was a more conservative version of ideas explored many years earlier in the Smalltalk community,but the widespread adoption of languages that supported features like garbage collection and strong static typing was a major change in programming practice.有限的速度和内存容量迫使程序员手工编写优化了的汇编程序。Java的设计比Smallta
6、lk社区在很多年前就已经探索过的想法更保守,但是,对于支持垃圾回收和强静态类型等特性的编程语言的广泛采用是一个在实际编程中的主要变化。2 Object-oriented Programming Key Wordslobject-orientedadj.面向对象的lparadigmn.范例linheritancen.继承lmodularityn.模块性lpolymorphismn.多态性lencapsulationn.封装lnascentadj.初期的lvirtuen.优点lattributen.属性lpropertyn.属性lbehaviorn.行为 Key Wordslfeaturen.特征
7、ljargonn.行话ltraitn.特性lcombinatorialadj.组合的lextrapolationn.推断lnotionn.概念lcementv.加强ltoolkitn.工具包,软件包levent-driven programming 事件驱动编程思想lvirtual machine虚拟机 NoteslObject-oriented programmings roots reach all the way back to the creation of the Simula programming language in the 1960s,when the nascent fi
8、eld of software engineering had begun to discuss the idea of a software crisis.lObject-oriented programming may be seen as a collection of cooperating objects,as opposed to a traditional view in which a program may be seen as a collection of functions,or simply as a list of instructions to the compu
9、ter.面向对象编程的根源可以追溯到60年代出现的Simula编程语言,当时新生的软件工程界已经开始讨论软件危机了。面向对象的程序也许可以被看成一个由相互合作的对象组成的集合,而传统的看法则把程序看成由许多函数组成的集合,或是简单的计算机指令集合。NoteslA class should typically be recognizable to a non-programmer familiar with the problem domain,meaning that the characteristics of the class should make sense in context.一
10、个类通常对于熟悉问题域的非程序员应当是可识别的,也就是说,类的特性在上下文中应该有意义的。Reading Material 1Introduction to The C#Language and The.NET Framework Exercises 1.The _ was an abstraction of the operation of a tape-marking machine,for example,in use at the telephone companies.2.In 1948,Konrad Zuse published a paper about his programm
11、ing language _3._,an early systems programming language,was developed by Dennis Ritchie and Ken Thompson at Bell Labs between 1969 and 1973.4.The 1960s and 1970s also saw considerable debate over the merits of _,which essentially meant programming without the use of _.5.In the 1980s,one important tr
12、end in language design was an increased focus on programming for large-scale systems through the use of _,or _ of code.6.Object-oriented programming(OOP)is a programming paradigm that uses _ to design applications and computer programs.7._ is behavior that varies depending on the class in which the behavior is invoked,that is,two or more classes can react differently to the same message.8.A _ defines the abstract characteristics of a thing,including the things characteristics(its attributes or properties)and the things it can do(its behaviors or methods or features).