`
varsoft
  • 浏览: 2455474 次
  • 性别: 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个阶段总结心得体会。 关键词:需求分析...

    软件系统开发总结报告.pdf

    软件项目实施报告的标题为“软件系统开发总结报告”,描述了项目的背景和目标,即为 XXXXX 学院的学生规模从最初的千人级迅速增加到近十万人级,学生作业及在线考试可以通过手工方式完成,但学生规模快速增长后,...

    软件项目总结报告.doc

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

    软件实习总结报告借鉴.pdf

    本实习报告总结了财务软件的学习和应用,旨在让学生掌握财务软件的操作流程和会计电算化的基本原理,培养实际工作能力和分析解决问题的能力,为今后从事会计工作打下良好基础和成功走向社会做好准备。

    应用软件开发项目管理流程--zzls001.pptx

    应用软件开发项目管理流程是指在应用软件开发项目中,为了确保项目的顺利进行和成功完成所采取的一系列管理步骤和方法。它涵盖了项目的整个生命周期,从项目立项到项目结项,涉及到项目计划、项目实施、项目监控、...

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

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

    精选etshop测试总结报告.pdf

    该报告旨在总结测试活动的成功经验与不足,以便今后更好的开展测试工作。 知识点一:测试组织 根据报告,测试组织中涉及到多个角色,包括测试人员、测试策划、测试设计、测试执行和测试总结等。测试人员负责测试...

    软件项目管理总结.doc

    软件项目管理是软件工程中一个非常重要的环节,它直接关系到软件工程的成败。软件项目管理的目的是为了使软件工程能够按照预定的本钱、进度、质量顺利完成,而对人员、产品、过程和工程进展分析和管理的活动。软件...

    这是一个软件介绍的ppt模板,可作为工作中分享项目技术经验

    在工作中分享项目技术经验是一个非常重要的技能,对于项目的成功实施和团队的知识共享具有重要作用。为此,需要一个简洁、易于理解的软件介绍 PPT 模板,帮助大家快速掌握项目技术要点。 软件介绍 PPT 模板的主要...

    2023年软件工程知识点总结.doc

    每个模型都有其特点和应用场景,选择合适的模型对于软件开发的成功至关重要。 二、可行性研究 可行性研究是软件开发的初期阶段,旨在确定问题是否可以解决,并评估解决方案的可行性。可行性研究包括四个方面:技术...

    软件评测师第10章软件工程知识总结.pdf

    系统运行和维护是软件开发的最后一个步骤,包括系统可维护性的概念、系统维护的类型、系统评价的概念和类型等。系统运行和维护是软件开发的重要部分,对软件系统的长期运行和维护非常重要。 七、软件质量管理基础...

    汇编语言的经验总结.chm

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

    软件仿真应用工程师求职简历样本.docx

    该简历样本涵盖了软件仿真应用工程师的个人信息、教育背景、工作经验、技能清单、职业目标、工作经历、证书和奖项、自我评价等多方面内容,旨在帮助求职者编写出一份完善的简历,提高求职成功率。

    软件使用说明书模版(申请软件著作权可供参考)本人已申请成功

    软件使用说明书模版知识点总结 ...本文档提供了一个软件使用说明书模版,涉及到软件的各个方面,包括软件概述、软件环境、软件组织和操作概述、软件启动及使用指南、软件主界面、软件著作权和软件使用注意事项等。

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

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

    测试工程师试用期转正工作总结.pdf

    通过三个月的试用期,作者了解了手机应用软件的测试,学习了公司的政策制度和管理制度,掌握了工作中的实践经验,并逐步提高了自己的工作能力和素养。 一、努力学习,注重实践 作者认为学习是获得新知、掌握方法、...

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

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

    软件开发项目文档提纲参考

    软件开发项目文档的应用还可以帮助项目团队更好地总结和交流项目经验,例如,软件开发项目文档可以作为项目团队的 Lessons Learned 文档,软件开发项目文档可以作为项目团队的 Best Practice 文档等。 软件开发项目...

    2019年最新热点软件开发实习个人总结.doc

    2. 自我能力的加强:作者通过实习,提高了自己的自我能力,学会了一种自学方法,并且加强了对知识的理解和应用。 3. 实践经验的必要性:作者强调了实践经验的必要性,认为只有通过实践,才能真正掌握知识和技能。 ...

Global site tag (gtag.js) - Google Analytics