BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

为什么说框架是新的编程语言

| 作者 李小兵 关注 0 他的粉丝 发布于 2015年4月11日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

软件框架(Software framework)通常指是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范,而提供规范所要求之基础功能的软件产品。近日,JavaWorld的特约编辑Peter WaynerWayner发布了一篇题为《框架是新编程语言的7个原因》的文章。在文章中,Wayner首先指出在20世纪80年代,开发者很容易针对一个语言的优劣展开激烈的争论,而当前争论的话题却变成了框架的优劣。接着,Wayner总结了软件框架是新编程语言的7个原因,现对这些原因进行一个全面的归纳和整理,以供开发者学习和参考。具体内容如下:

  1. 大部分代码通常由API调用组成
    过去,编写软件意味着开发者调用自己对编程语言的所有技能,而如今,自动化为开发者处理了大多数事情,如垃圾回收、智能编译等。此外,大部分代码现在都是由API调用组成,所以深入理解API就显得更加重要,而关于编程语言及其语法就显得没有那么重要了。
  2. 站在巨人的肩上,看地更远
    当面对那些艰难的工作时,框架相对于编程语言来说,它给开发者带来了很大的改变,尤其是继承框架代码库里的所有精华显得更加容易和高效。使用自己喜欢的新语言编写所有功能,而不采用某种更受欢迎的框架,这是一种强悍的方式,而只有简单地遵循框架及其API才会让开发者快速享受到新选择的乐趣。
  3. 理解架构是做什么的,而非语法
    因为大多数代码是由许多API调用组成,所以学习语言的特征已没有太大益处。此外,虽然搞清楚语言细节能够给开发者带来一定的帮助,但是进一步学习框架原理能够获得更多的回报。尽管开发者可以变成Java对象静态成员变量初始化的专家,但是最好自己能够弄清楚如何充分利用Lucene、JavaDB和其它框架。开发者可以花费数月时间来彻底了解Objective-C编译器的运行时,但是彻底学习苹果最新的核心Lib将真正能够使得开发者的代码更加高效。
  4. 算法主宰
    算法的学习只能帮助开发者处理存储在变量里的数据,而重新实现标准算法和数据结构又具有一定的风险,且比较浪费时间。实际中,框架已经定义和实现了正确的算法,并且框架已经经历了多年的广泛测试和使用,代表着开发者在软件基础实施上的共同投资。所以开发者不应该抛弃别人努力的成果和完全靠自己的双手构建起算法库,而应该研究框架和学习使用框架。
  5. 纠正语法的编译器和聪明的IDE
    IDE和编译器帮助开发者处理了许多问题,如语句结尾符号等语法问题。IDE的自动化处理已经把开发者从编程语法的单调乏味中拯救出来,它不仅对框架有很大的帮助,而且还能够提醒开发者函数调用的参数、检查数据类型等。
  6. 可视化编程语言的出现,语言的语法也该消失了
    有些编程正变得可视化,这意味着计算机语言正变得不是那么重要了。GUI构建器(如AndroidBuilder)就是很好的例子,开发者只需拖拉用户界面部件即可实现编程,而相关细节已经封装在可视化组件里,开发者无需关心它是C、Java或其它语言。
  7. 编码即法律/规则
    计算机语言被设计为开放、可无限延展的,而框架的设计却有很强的规则和规范,其设计师可以决定什么被允许以及本质上什么要禁止。如果设计师不想让某些东西发生,那么函数调用将从API中消失;如果设计师喜欢某种想法,那么通常会有多个函数调用以及许多支持工具。

感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

软件框架是新编程语言,但它构建在编程语言之上 by Wong Peter

学习框架原理能够获得比搞清楚语言细节更多的回报,但搞清楚语言特性能让你更充分地利用软件框架

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT