计算机语言的发展(1)

计算机语言的发展,  是一个相当有趣的进程, 有着相当复杂的时代和环境, 以及硬件条件的影响. 我今天所谈的, 以一家之言, 总结一些规律.

  • 汇编时代(机器语言时代):  大约四五十年代, 一切还处于原始社会. 这个时代的人是很痛苦的, 甚至没有程序员和软件的概念, 相干啥都得自己写. 整个是小农经济时代的一种自得其乐.
             这个时代的语言特点, 是全局变量, 甚至连函数的概念也没有提出来. 由于内存, 硬盘, cpu的严重限制, 人们在如何少占内存, 少占硬盘, 减少机器指令, 提高效率等等方面, 竭尽智力. 结果就是, 历史上出现了种种匪夷所思的代码和算法, 使得后辈们唯有一份无限的敬意, 象阅读佛祖手迹一般看着那些英雄们留下的痕迹.....

             这个时代里面, 一种原始的语言出现了, 这个语言原始到实际上并不能称之为语言, 汇编时代.  每一条语句, 无非是和机器语言的一一对应, 提供的服务不过是让程序员的01生活稍微有了一点点改善. 我想, 当时的从无到有, 还是很让程序员们振奋鼓舞的, 虽然谁也没有预料到后来的事情.
             但是, 这一小小一步, 已经为后来的辉煌揭开了序幕.    
  •   函数语言时代:时间转眼到了六七十年代,人们为了让自己生活的更加没有,做了无数的努力,经过几十年的积累,计算机语言时代到来了,几乎所有现代化的概念, 都在这个时代爆发出来.这是一个令人振奋的时代,也是一个很打击后辈们信心的历史.比如我们现在很火的动态语言,GC,都在那些博士论文里面,白纸黑字,掷地有声,历历在目. 还有那些基本组成部分, 结构化语言, 函数.....整个计算机语言大厦就此耸立..
             这里, 有一位英雄提出了函数的概念, 从此, 就有了局部变量和参数的概念. 这个概念, 在现在每一位在写代码的人的生活里面, 占据了不下八成的份额. 这个创造有得一比, 仓颉造字, 当时简直就应该天地惊, 鬼神泣来纪念之...

          在此之前, 只有一个可怜的全局变量, 全局函数的概念, cpu里面的那几个灵魂似的寄存器, 在程序员眼里, 恐怕也就是一个全局变量.   内存,只是一个简单的扩展,保存一些状态而已.
          函数的出现, 参数和局部变量, 把内存创造性的赋予了一个新的含义. 这下, 结构化语言, 递归的概念, 就水到渠成了.
          函数式语言, 是对机器语言的第一次抽象, 革命性的发展了生产力. 从此, 代码被划分为一个个独立的块, 组织起来, 进行协作. 把过去的那种无数的jmp, 组织起来的令人疯狂的, 面条式的结构, 终结掉了.  ..
       坦白而言, 函数式语言, 在时间和空间上, 有很大的牺牲. 在那个原始时代的很多变态的技巧, 再也不合适了. 但是, 这种牺牲是值得的, 因为计算机的硬件水平已经大大发展, 比之从前的捉襟见肘, 已经略有改善, 另一方面, 软件的规模, 也对代码的组织, 有了更大的要求. 需要一种科学的方式, 来组织代码, 函数式的代码, 正是人心所向.

       记得学编译的时候, 曾经提及Fortran语言, 一个古老语言. 说是函数式的, 不过, 只支持全局变量. 应该是历史上第一次看到静态语言这个词....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值