查看: 3530|回复: 1

我心目中的理想软件开发语言

[复制链接]

该用户从未签到

发表于 2008-10-17 13:05:25 | 显示全部楼层 |阅读模式
分享到:
主动学习各种新消息,我自己有一套语言评分标准,我理想中的语言必须符合这篇文章所描述的各要点(依重要性依序排列)。不过,我到现在都还没有找到完全符合这些严苛条件的语言。
支援Unicode:虽然Unicode早就已经是
支持Unicode,这是相当重大的缺点。许多语言即使号称支持Unicode,也有支持程度上的差异,例如:有的语言对Unicode的支持是添加上去的,有点格格不入,有些语言则对Unicode的支持相当有限。

写一次,任何地方都可以执行Write once, run anywhere):该语言最好能跨平台执行,支持WindowsMacOSLinuxBSD等主流OS,甚至最好能支持Windows MobileSymbian软件都大得很可怕,几乎所有的语言,都需要10MB以上的执行环境,而30MB以上的也不少见。执行环境太大会有以下缺点:(1下载更多:程序代码写得越长,不代表越有价值。能够用精简的程序代码,做出许多重要的事,才是<a name="13">我们追求的目标,另一方面,写出来的程序如果较简短,也会比较好维护。

支援Meta-Programming:我希望能够不用再透过ANTLR等语言工具,而是可以直接用语言本身,轻易地写程序处理另一种(我自己发明的)小语言,并让两种语言之间可以互相融合,达到最佳的DSLDomain Specific Language)境界。如果重要的DSL都已经有人先建立好,让我可以直接采用,特别是Web、数据库、GUI这些部分,这样就更完美了,开发的效率会相当高,而且需要的程序代码会相当少。

好用的剖析器:现在的程序需要剖析文本文件的机会很高,我不喜欢Regular Expression,也不想用外部的ANTLR,我希望语言能具备更方便使用的剖析器,让我可以利用BNFBackus-Naur Form)的语法。
能够呼叫C语言:许多时候,光靠语言本身还是有很多事情做不到,必须呼叫OS或其他厂商的C链接库。如果语言和C之间能有良好的接口,那么呼叫外部链接库就会很容易。我希望语言不只能呼叫C,也可以做成call-back函式,被C回头呼叫。

良好的Web与数据库方案:现在做软件开发,十之八九都是Web加上数据库,如果该语言可以轻易地做出这样的方案,会相当具有吸引力。

嵌入汇编语言:写C程序时,我们可以嵌入x86汇编语言,以提升速度。我希望现在一般的语言也能够有类似的作法,让我可以嵌入比较低阶的语言,舍弃一些检查(例如型别检查,数组边界检查),换取执行速度的提升。

丰富的资料型别Literal:我希望语言具有丰富的数据型别,能够用Literal的方式写出这些型别的值,如此一来,程序代码写起来会非常简短方便,表达力更好,并可能有让DSL的设计更容易等优点。

轻量级的RPC/SOA:该语言能够支持RPCRemote Procedure Call,远程过程调用)/SOAService-Oriented Architecture,服务导向架构),只需使用轻量级的方式就好,不需要像IBMSOA那么复杂。
支援RIA:能够支持RIARich Internet Application)技术,提供浏览器外挂,让程序可以在浏览器内执行,也可以独立于浏览器而执行。不过,前提是必须提供许多网络标准协议,例如HTTP

有互动模式:对于初学者来说,互动模式是相当好的学习方式,而且也可以当作Shell,进行日常一些基本的操作(例如文件系统管理)。

免费与开放源码:软件开发成本相当高,使用免费软件可以节省一部分的成本。另一方面,开放源码的语言比较有保障,比较不会因为厂商关门而使得该语言产品的用户变成孤儿。

组织坚强的社群:社群可以帮我们解决技术问题,提供相关资源,帮助语言健康地发展。
回复

使用道具 举报

该用户从未签到

发表于 2008-10-17 14:16:44 | 显示全部楼层

RE:我心目中的理想软件开发语言

最理想的语言是让程序员消失的语言,说句话就行了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

手机版|小黑屋|与非网

GMT+8, 2025-1-10 21:30 , Processed in 0.127724 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.