您的位置:知识库 »

.NET初学者架构设计指南(一)Hello world的时代

作者: 小陆  来源: 博客园  发布时间: 2008-09-10 13:43  阅读: 14915 次  推荐: 4   原文链接   [收藏]  

系列文章导航:

.NET初学者架构设计指南(一)Hello world的时代

.NET初学者架构设计指南(二)OO设计初次见面

.NET初学者架构设计指南(三)设计模式

.NET初学者架构设计指南(四)Model-View-Controller


汇编语言这解决了机器代码难写难记的问题,但是不同公司生产的机器、不同型号的机器汇编指令集是不同的,在一种机器上写出来的程序无法移植到另一种机器上执行。于是有人希望解决这个问题,他设计了一种新的程序语言——FORTRAN。FORTRAN的语法更加接近自然语言,并且他设计了适用于多种机型的编译器,可以把FORTRAN的源码编译成可以在多种机器上执行的机器代码。计算机的创始人之一,冯·诺伊曼当时认为搞这种高级语言没有多大的意义,计算机发展的重点不应该在这个地方。冯·诺伊曼肯定是一个汇编高手,写起机器代码来也是相当的娴熟,自然认为搞什么高级语言没有多大的必要,汇编挺好的嘛。这种感觉就应该类似于当今的一些C语言高手面对JAVA和C#时的感想。

  FORTRAN的意义在于,他使计算机不再是计算机专业人员才能操纵的工具。数学家、工程师、会计师、学生都有机会亲自使用计算机来解决自己的工作中遇到的问题。高级语言的诞生使得软件业得到突飞猛进的发展。当时的FORTRAN仍然不是一种结构化的编程语言,FORTRAN中的变量都是全局变量,他使用与汇编相似的方式进行流程控制。

  随后的几年中,LISP、ALGOL、COBOL等一批高级语言陆续不断的涌现出来。这些语言都有一个共同点:他们都出现了局部变量的概念,都是结构化的编程语言。局部变量有着更加清晰的作用域和生命周期,程序划分为若干个子过程,某个子过程中定义的变量在其他子过程中是不能访问的。有了这样的机制,程序员不用再担心自己定义的变量被意外的修改,这样就有利于更多的程序员合作编写大规模的程序。

  接下来的几年出现了越来越多的高级语言,在文字处理、科学计算、数据制表等各种领域发挥着重要的作用。BASIC语言也就是在这一时期出现(BASIC语言并不是结构化语言),他的全称是:初学者通用符号指令代码。BASIC语法简单,易学易用,普通人稍加训练就可以用BASIC进行编程了。

  从这一段历史看出,计算机软件技术不断发展,他的目的是使人们使用计算机解决问题的过程越来越简单。人们需要用计算机来解决越来越复杂的需求,从最初的科学计算,逐渐发展到表格处理,会计计算,管理一个大型企业的商业活动,这就迫使软件开发技术和思想不断进步。要创建新的技术平台,让设计人员在这个平台上不用考虑过多的基本技术问题;要创建新的分析方法,让设计人员可以忽略细节上的复杂度,更容易从整体上把握软件的构架。

  现在的软件技术发展仍然是在延续这样的方向。软件的构架越来越庞大,从单层的、简单的面向过程的代码,发展到多层的、面向对象的代码,表面上看是变得复杂了,实际上是使得软件的逻辑结构更加清晰,从而不断的满足日益复杂的业务需求。程序员可以从技术细节中腾出力量,去解决更加复杂的业务问题。

  学习和运用各种先进的技术也应该注意这一点:技术的发展是为了更容易的解决业务问题,降低开发成本——这也是我们运用他们的目的。本文在后面的章节介绍一些编程的思想和技术,也会遵循着这样一种思路,要看看这些东西是如何使程序员更加迅速准确的解决业务需求。为了能够说明这些思想和技术是如何使得问题的解决逐渐变得简单,本文在举例说明的时候,会尽量的使用接近于实际情况的例子。简单的玩具形式的例子,比如用Cat、Dog和Animal来说明多态的规则,看上去很形象,也是很有趣味,但是事情本身过于简单。使用这样的方式很容易把技术的原理说清楚,但是却让人不易明白他们的使用场景,甚至误以为他们把原本简单的事情搞得复杂了。本文中的事例有的牵涉到一些特定业务领域的知识,看起来难免晦涩枯燥,希望大家能够容忍一下。

 

4
0

热门文章

    最新文章

      最新新闻

        热门新闻