`
varsoft
  • 浏览: 2442338 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

总结成功应用软件的一个经验

阅读更多

纵观80年代以来的成功应用软件,凡是获得长久成功者,绝大多数具有如下特点:

以一种系统语言(通常是C/C++)于OS API之上提供一高层的应用程序运行时(runtime),包括一个高层次、面向应用进行语义优化的虚拟机,一个庞大的应用程序级API库(基于普通过程的函数库,或基于OO的类库,或基于component的构件库),一个具有可扩充性的软件体系架构(尤以插件式结构或面向应用的framework为典型),以及,最理想地,一个面向应用的语言引擎。整个应用以系统语言与应用级语言共同完成。扩展时主要使用应用级语言,亦可使用系统级语言,无论哪种,都必须依赖一个扩展框架。

且看一些例子:

1. Emacs,以C开发内核,并实现elisp解释器,可用C及elisp实现原子函数。整个程序用C及elisp共同完成,并可以任一种方式进行扩充。

2. AutoCAD,以C/C++开发内核,实现AutoLISP,整个程序用C/C++及AutoLISP共同完成,可用C/C++/AutoLISP/VB扩展。同样来自Autodesk公司的3D Max亦装备有Max脚本。

3. Mathematica,以C开发内核,实现Mathematica语言,整个程序用C及Mathematica语言共同完成,主要使用Mathematica进行应用开发。

4. Matlab,以C/C++开发内核,实现Matlab语言,整个程序用C/C++及Matlab语言共同完成,主要使用Matlab进行应用开发,也可使用C/C++/Fortran进行扩展。

5. Microsoft Office,基于COM体系,C/C++编写核心模块,VB负责整合,并提供VBA供应用开发。

6. TeX,Pascal编写核心解释器,以宏扩展的方式开发高层系统。

还有如SAP、Perl、Python此类例子数不胜数

此种思路,屡获成功,实当为我辈悉心模仿。其核心难点有二,一是runtime的设计,动态性的实现,framework之权衡(需要面向应用,全如Eclipse那般灵活,对于特定应用领域而言并非最优),对底层计算平台的抽象(真正成熟的网络应用开发,应当将网络透明化);二是应用级语言的设计与实现,设计是关键,也是中国程序员之最弱点,

面向应用的高层语言的设计,相当于机械工业中的大型成套设备制造,是主干行业,核心技术。要设计出好的应用语言,要求设计者一通系统程序设计技术,对解释器的及其与系统的交互、扩展的实现技术非常熟悉,二要深刻理解程序设计语言理论,精通形式语言理论及语言发展历史,能不受困于20年来的主流思想,以最自然的方式提供所需语义,三是要熟悉应用领域,为设计提供方向引导。目前国内的教育体制及浮躁气息,很难培养出如Larry Wall这样的大师。

.NET CLR提供了上述所需的具动态性的runtime,FCL提供了完备的支持库,这就使我们开发高质量应用程序的难度大大降低。但是VB和C#就应用开发来说,层次还显得稍低。下一步应当是提供类似Python那样的动态语言。.NET平台上的动态语言是什么样子?有两种可能,一是把Python直接移植过来,我相信这是一定会发生的事,但是就微软官方来说,它会采取另一条路,那就是直接把C#和VB脚本化。而我估计在这一过程中,VB会优先。

最终我们会走向特定于领域的语言,我觉得这方面的一个典范是Mathematica,

分享到:
评论

相关推荐

    [17个软件测试文档]-8性能测试经验总结

    [17个软件测试文档]-12XX性能测试报告 ...[17个软件测试文档]-10成功的 Web 应用系统性能测试 http://download.csdn.net/detail/cleopard/8344033 [17个软件测试文档]-9web项目测试实战性能测试结果分析样章 ...

    软件工程与应用软件开发研究.doc

    软件工程与应用软件开发研究 作者:梁静 来源:《软件导刊》2011年第07期 摘要:阐述应用软件开发过程中的主要几个基本阶段需要运用的方法和思想并 通过笔者多年工作经验,从5个阶段总结心得体会。 关键词:需求分析...

    软件项目总结报告.doc

    软件项目总结报告的目的是在项目完成后提供一个全面的回顾,总结项目的成功、挑战和教训,以便从中汲取经验教训,促进未来的项目改进和成功。以下是软件项目总结报告的主要目的: 1. **总结项目成果:** 报告项目的...

    [17个软件测试文档]-10成功的 Web 应用系统性能测试

    [17个软件测试文档]-10成功的 Web 应用系统性能测试 已上传: [17个软件测试文档]-9web项目测试实战性能测试结果分析样章 http://download.csdn.net/detail/cleopard/8344023 [17个软件测试文档]-8性能测试经验总结 ...

    汇编语言的经验总结.chm

    汇编语言的经验总结 -------------------------------------------------------------------------------- 一、前言 计算机的到来,被喻为人类文化的第三波革命,由于它具有强大的信息机能和弹性, 正好弥补了...

    计算机应用基础知识点总结.doc

    13、应用软件分类〔软件名称自己总结 办公应用 平面设计 视频编辑与后期制作 网站开发 辅助设计 三维制作 多媒体开发 程序设计 14、相关定义 操作系统是最基本最重要的系统软件,用来管理和控制计算机系统中硬件和...

    论文研究-软件复用、软件合成与软件集成.pdf

    在软件复用的科学研究与实践活动中,针对不同的应用领域,结合相关的计算机新兴技术,出现了许多解决软件危机的方法与途径,软件合成、软件集成就是软件复用的成功实践扩展和技术应用之一。简要地介绍了软件复用,...

    软件测试 性能测试 性能测试报告 系统性能测试方案 性能测试经验 测试模板

    软件测试 性能测试 性能测试报告 系统性能测试方案 性能测试经验 测试模板 “苍蝇式的战斗精神”和“XX性能测试”.pdf Mercury性能测试模板.doc web项目测试实战性能测试结果分析样章.doc XX性能测试报告.pdf XX性能...

    一种基于软件定义的通导遥一体化有效载荷架构设计

    本文首先介绍了国外首个在轨成功应用的通信导航一体化载 荷的功能性能,及其在轨试验情况;然后,提出了一种基于“三层和七功能分区”的软件定义载荷架构,设计了一种软件定义载荷设计和研制支撑数字化平台设计架构...

    物流信息技术课程总结.doc

    物流信息技术课程总结 一、物流信息技术 物流信息技术是物流现代化的重要标志,也是物流技术中发展最快的领域,从数据采 集的条形码系统,到办公自动化系统中的微机、互联网,各种终端设备等硬件以及计算 机软件都在...

    人事工资管理系统(vc++和SQL Server 的完美结合)

    人事工资管理系统是非常通用的管理信息系统,是企事业单位实现办公自动化的前提和基础。 后台数据库使用SQL Server,前台开发工具使用Visual C++...是一个非常不错的学习资料,对大家学习编程数据库应用软件很有帮助!

    [详细完整版]4软件工程.pdf

    (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件 产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不 考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,...

    软件工程知识点

    (1)按功能划分:系统软件、支撑软件、应用软件。 (2)按工作方式划分:实时处理软件、分时处理软件、交互式软件、批处理软件。 (3)按规模划分:微型软件、小型软件、中型软件、大型软件。 (4)按服务对象划分...

    ARM嵌入式系统应用中的问题总结

    随着时间的推移和技术的进步,在工业控制和新兴的手持式应用等领域,用户体验成为产品成功的关键因素之一,越来越多的产品需要良好的用户界面、互联功能以及较强的数据处理能力,这对嵌入式处理器硬件、软件、教学等...

    现代软件工程习题及答案

    (1) 从部分需求出发,先建立一个不完全的系统,通过测试运行该系统取得经验和信息反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复,直至软件人员和用户对所设计完成的软件系统满意为止。 (2) 在渐增...

    [17个软件测试文档]-14性能测试讲稿

    [17个软件测试文档]-14性能测试讲稿 ...[17个软件测试文档]-10成功的 Web 应用系统性能测试 http://download.csdn.net/detail/cleopard/8344033 [17个软件测试文档]-9web项目测试实战性能测试结果分析样章 ...

    [17个软件测试文档]-5系统性能测试方案

    [17个软件测试文档]-12XX性能测试报告 ...[17个软件测试文档]-10成功的 Web 应用系统性能测试 http://download.csdn.net/detail/cleopard/8344033 [17个软件测试文档]-9web项目测试实战性能测试结果分析样章 ...

    CMMI 中文版本

    这些实践是根据各个软件组织长期开发实践活动的成功经验逐渐总结、提炼形成的,被认为是具有共性的最佳实践。由于各个软件组织的规模、应用领域、形式以及目标等可能有很大差异,本标准所描述的模型中的各个过程不...

    [17个软件测试文档]-1性能测试实践

    [17个软件测试文档]-12XX性能测试报告 ...[17个软件测试文档]-10成功的 Web 应用系统性能测试 http://download.csdn.net/detail/cleopard/8344033 [17个软件测试文档]-9web项目测试实战性能测试结果分析样章 ...

Global site tag (gtag.js) - Google Analytics