zoukankan      html  css  js  c++  java
  • 寻找高阶语言

    1.

    理论上,软件开发应该是一种有趣的智力游戏,以洞察、归纳、协调各种逻辑作为内容的游戏。

    但现实中,编程却并不总是令人愉悦的事情。抛开社会性的因素,很多问题都源于我们使用的工具一直过于原始。

    原始的工具使得我们需要过多地关注细节,过多地在意细节使得思维的层次降低,表达变得没有效率,无法胜任更复杂的逻辑。

    这就是一切的开始,寻找更高层次的工具,才能处理更高层次的事情。

    2.

    从历史来看,这种趋势其实是很清晰的:

    汇编语言:不需要记机器码,以抽象的指令为基础编程。

    高级语言:不需要关心cpu指令和寄存器分配,以抽象的变量为基础编程。

    操作系统:托管了任务调度、内存分配、文件系统等,在抽象的平台之上编程。

    虚拟机:托管了内存空间的使用,以抽象的对象为基础编程。

    函数/流程控制语句:相比goto,提供更高层次的流程描述方式。

    面向对象:相比全局函数+分支流程,提供更高层次的描述局部差异的方式。

    dsl(正则表达式、sql):提供更高层次的描述特定领域逻辑的方式。

    这些变革已经如此地深入人心,是因为可以让我们在更高的层次思考。

    设想一下一种语言不支持正则表达式,或者不支持for/while,相信抓狂的人不会占少数。

    除非有很高的收益(如执行效率),没有人会想回到过去。

    相比之下,动态语言、函数式语言等,有些使得代码更加简洁,有些使得某些需求的实现更为简单。

    但总体而言,并没有使思维层次得到提高,所以仍无法和上述相比。

    3.

    我寻找的,是下一个能与之相比的内容。

    今天,硬件和平台的发展速度要远远高于语言的发展速度。

    从面向对象以来,编程语言一直没有本质的发展,这是很离奇的现象。

    这是一个计划的开始,

    计划中可能会借鉴:历史、相关学科的积淀、主流语言的细节、成熟的开发环境,

    靠谱或不靠谱地畅想对逻辑描述/开发环境的改进。

    希望能够坚持。

  • 相关阅读:
    iPhone 3开发基础教程这本书怎么样
    好久没有用过VS6.0了。
    关于UNIX环境高级编程(第2版)——图灵计算机科学丛书的读后感
    强烈推荐C++ Primer 习题解答(第4版)
    C标准库这本书怎么样
    关于C语言程序设计:现代方法(第2版)的读后感
    强烈推荐JavaScript DOM高级程序设计
    强烈推荐深入浅出Ext JS(第2版)(附光盘)
    关于PHP与MySQL程序设计(第3版)的读后感
    强烈推荐NET设计规范:约定、惯用法与模式(第2版)(附光盘)
  • 原文地址:https://www.cnblogs.com/bell/p/2078742.html
Copyright © 2011-2022 走看看