`
saybody
  • 浏览: 913152 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

我心目中的理想語言

阅读更多

文 / 蔡學鏞

主動學習各種新語言是我的習慣,於是我經常到PLnews網站上,看看各種語言的消息,遇到不認識的語言,就會花一些時間研究一下值不值得學。我自己有一套語言評分標準,我理想中的語言必須符合這篇文章所描述的各點(依重要次序排列)。我到現在還沒有找到完全符合這些嚴苛條件的語言。

你也可以拿這些條件來檢視目前你正在使用的語言(例如Java、C#、Ruby),看看你的語言表現如何。

【支援Unicode】 所有不支援Unicode的語言,都應該被埋在上個世紀的歷史灰燼中。雖然Unicode早就已經是主流,但是還有許多語言不支援Unicode,這是相當重大的缺點。即使號稱有支援Unicode,也有支援程度的差異,例如有的語言對Unicode的支援是添加上去的,有點格格不入,且有些語言對Unicode的支援相當有限。

【寫一次,任何地方都可以執行】 最好支援Windows、MacOS、Linux、BSD等主流OS,甚至Windows Mobile、Symbian等手機的OS。

【超小的執行環境】 現在的軟體都大得很可怕。幾乎所有現代的語言,都需要10MB以上的執行環境,而30MB以上的也不少見。執行環境太大有什麼不好:(1) 下載、安裝時耗費時間與資源; (2) 執行時速度「可能」會比較差;(3) 潛藏其中的bug「可能」比較多。因此,我極度抗拒癡肥的語言與框架。

【有包含GUI】 大多數Open Source的語言,都不包含GUI,而是使用外部的Tk、wxWidget等套件,這些外部套件往往:(1) 相當龐大;(2) 效率「可能」不是很好; (3) 不見得和語言本身的paradigm吻合,使用起來可能會導致精神錯亂。除了GUI套件,我也希望具有比較好的2D / 3D繪圖引擎。

【用更少,做更多】 程式寫得越長,不代表越有價值。能夠用精簡的程式碼,做出許多重要的事,才是我們追求的目標。寫出來的程式短,會比較好維護。

【支援Meta-Programming】 我希望能夠不用再透過ANTLR等工具,而是可以直接用語言本身,輕易地寫程式處理另一種(我自己發明的)小語言,並讓兩種語言之間可以互相融合,達到最佳的DSL(Domain Specific Language)境界。如此一來,開發的效率會相當高,且需要的程式碼會相當少。

我希望重要的DSL都已經有人先建立好了,我可以直接採用,特別是Web、資料庫、GUI這些部分。

【好用的剖析器】 現在程式需要剖析文字檔的機會很高,我不喜歡Regular Expression,也不想用外部的ANTLR,我希望能有更方便使用的剖析器,讓我可以利用BNF(Backus-Naur Form)的語法。

【能夠呼叫C】 許多時候,光靠語言本身還是做不到的事,必須呼叫OS或其他廠商的C程式庫。如果語言和C之間能有良好的介面,那麼呼叫外部程式庫就會很容易。我希望不只能呼叫C,也可以做成call-back函式,被C回頭呼叫。

【具有良好的Web與資料庫方案】 現在做軟體開發,十之八九都是Web加上資料庫。如果該語言可以輕易地做出這樣的方案,會相當具有吸引力。

【嵌入組合語言】 寫C程式時,我們可以嵌入x86組合語言,以提升速度。我希望現在一般的語言也能夠有類似的作法,讓我可以嵌入比較低階的語言,捨棄一些檢查(例如型別檢查,陣列邊界檢查),換取速度的提升。

【豐富的資料型別Literal】 我希望語言能有豐富的資料型別,且能夠用literial的方式寫出這些型別的值,如此一來,寫起來非常簡短方便,表達力更好,並可能有其他的好處(例如讓DSL的設計更容易)。

可惜目前主流的語言,Literial的寫法都只有不到10種,不外乎是整數、小數、字串、陣列,距離我所謂的「豐富」,還有好幾倍的差距。

【輕量級的RPC / SOA】 我希望語言能支援RPC / SOA,且使用輕量級的方式,不要搞得像IBM的SOA那麼複雜。複雜的東西又貴又難上手,失敗告終的機會很高。

【支援RIA】 提供瀏覽器Plug-In,讓程式可以在瀏覽器內執行,也可以獨立於瀏覽器而執行。為了要支援RIA,也要提供許多標準協定(例如HTTP)。

【有互動模式】 對於初學者來說,互動模式是相當好的學習方式,而且也可以當作Shell,進行日常一些基本的操作(例如檔案系統管理)。

【免費與開放源碼】 軟體開發的錢很難賺,能省則省。另外,開放源碼的語言比較有保障,比較不會因為廠商關門而使得該語言產品的用戶變成孤兒。

【有很強的社群】 社群可以幫我們解決技術問題,告訴我們到哪裡取用資源。社群的存在,可以幫助語言健康地發展。

分享到:
评论

相关推荐

    一位研究生导师心目中理想的论文

    在理想情况下,摘要中要突出结论部分,因为结论是衡量论文质量的重要指标之一。此外,英文摘要同样不可忽视,它应具备良好的可读性,避免任何语言上的错误,以确保国际读者的理解。 前言部分的撰写同样关键。这部分...

    我心目中的班集体演讲稿300字范文.pdf

    当我们被问及心目中理想的班集体是什么样子时,我们心中会浮现出许多温暖和谐的画面。以下,就是我们对心目中理想班集体的共同描绘。 首先,理想的班集体必须拥有团结友爱的氛围。在这样的集体中,每位同学都像亲人...

    六年级语文下册理想风筝PPT学习教案.pptx

    3. 课题解析:“理想的风筝”一题引发学生思考风筝的象征意义,即它不仅是娱乐工具,更是作者心目中理想的象征,因为它承载着刘老师面对生活的乐观态度和不屈精神。 4. 教学目标:引导学生理解“理想的风筝”背后的...

    looknstop防火墙详细教程

    长期以来因机器性能差,且机器有重要文档而不断寻找一款占资源少且性能优异的防火墙,在经历了ZA、OP后,终于发现Look’n’stop是心目中理想的防火墙。 在寻找过程中,不断发现有网友认为LNS难以配置、造成不能上网...

    广东诗莞市黄冈理想学校九年级语文下册第2单元6蒲柳人家教案新人教版

    比如,小说中“何满子是一丈青大娘的心尖子,肺叶子,眼珠子,命根子”这样的表述,就充分展现了作者细腻的情感和对乡土生活的深刻把握。而“何大学问人高马大,膀阔腰圆,面如重枣,浓眉朗目,一副关公相貌”则不仅...

    2篇高中语文教师述职报告.pdf

    因此,教师应当以身作则,成为学生心目中的良好榜样。教师对教育事业的热爱和责任感也是激发学生学习热情的重要因素。 总之,高中语文教师不仅要在课堂上传授知识,更重要的是要培养学生的学习兴趣,塑造学生的人格...

    江西省吉安市吉安县第三中学2015届高考语文一轮复习语文测评题(8)

    在这个题目中,学生被要求用比喻来描述心目中的"青春"。比如,"青春是一首未完的诗,它在笔尖跳跃,挥洒出激情与梦想的篇章",展示出青春的创造力和活力。 6. **概括境界并举例说明** 这个题目让学生选取一个词来...

    2016年广西版小学六年级美术(下册)教(学)案(已修)美术.doc

    从中国古代的工艺美术、汉字书法艺术,到校园生活的趣事描绘,再到心目中理想人物形象的塑造,以及对科学家探索者形象的创造,每一部分都是对学生们艺术欣赏能力和创造能力的精心培养。 首先,中国古代工艺美术部分...

    Python语言描述最大连续子序列和

    也希望各位找工作的同志们都拿到心目中理想的offer,从此以后,战胜高富帅,赢取白富美,走上人生巅峰。 1.问题描述 假设有一数组(python里为list啦)[1,3,-3,4,-6,-1],求数组中最大连续子序列的和。例如在此数组...

    兰兰过桥 (2).doc

    此外,课程还鼓励学生发挥想象力,设计心目中理想的桥,以此培养他们的创新思维和动手能力。 总的来说,《兰兰过桥》的教学设计不仅关注语言文字的基础学习,更重视培养学生的创新精神和实践能力。通过这样的教学,...

    [地方教师公开招聘考试密押题库与答案解析]安徽省教师公开招聘小学英语模拟16.docx

    随着社会对教育质量要求的提升,教师职业成为了很多人心目中的理想岗位。在这样的背景下,通过地方教师公开招聘考试成为教师的一个重要途径,竞争自然变得激烈。为帮助有志于从事教育工作的考生们顺利通过考试,本文...

    大话经典语录.docx

    14. **理想与现实**:“紫霞在你心目中是不是一个惊叹号?还是一个句号?”反映了角色对理想与现实之间的困惑。 15. **宽恕与欺骗**:“不管你怎么不愿意,你都不要告诉我你从来没有喜欢过我。”展示了对情感真相的...

    低年级如何培养学生写话的兴趣.doc

    例如,在学习课文《兰兰过桥》时,可以引导学生发挥想象,描述自己心目中的理想桥梁是什么样子。这样的写作练习不仅能够让学生在想象中拓展思维,还能够加深他们对课文内容的理解和记忆。 再者,通过多种实践活动来...

    五年级英语作文完美的父母ThePerfectParents

    父母们因为工作、生活琐事等种种原因,无法总是做到孩子们心目中的完美。 那么,理想的父母应该是怎样的呢?这篇作文鼓励学生思考并描述他们心中的完美父母形象。一个理想的父母可能是一个耐心的倾听者,愿意花时间...

    幼儿园教案2021-幼儿园大班绘画创作:新房子周围.doc

    在这一环节中,教师会引导孩子们设想自己心目中新房子周围的理想环境。孩子们可以想象自己住在运动场边、池塘边、公园边或者游乐场旁的房子,并思考这些建筑在不同环境中的样子。教师会展示相关的范画,以此激发孩子...

    2021-2022年收藏的精品资料苏教版三年级下册道德与法治第三单元为了你为了我七课时教案.doc

    设计未来社区的活动,让学生大胆设想心目中的理想社区,这一过程极大地激发了他们的创造潜能。学生在想象和设计中学会如何运用创新思维解决问题,并在此过程中锻炼了他们的设计能力。 公共设施的认识与保护是本教案...

    职业生涯规划模板系列2021-播音主持专业大学生职业生涯规划书.docx

    在职业定位上,节目主持人不仅是传播信息的媒介,更是公众心目中的角色模型。他们需要符合受众的理想角色要求,得到观众的认同。主持人节目在中国的发展相对较晚,但发展迅速,主持人在节目中扮演着舆论领袖的角色,...

    mudoo:Go实现的网络通信库

    我心目中理想的网络库的样子协程安全,原生支持多核多协程.不考虑可移植性,不跨平台,只支持Linux,不支持Windows.主要支持x86-64,兼顾IA32.不支持UDP,只支持TCP.不支持IPv6,只支持IPv4.API简单易用,只暴露具体...

    2010年陕西九年级政治 假如我是校长素材 鲁教版.doc

    校长需要全心全意地投入到工作中,以身作则,成为师生心目中的榜样。在日常管理中,校长需要坚持公平公正的原则,对所有教师一视同仁,了解和关心他们的工作和生活状况,同时对学生的成长和学习投入更多的关注。校长...

Global site tag (gtag.js) - Google Analytics