`
zuroc
  • 浏览: 1307427 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

浅谈编程语言

阅读更多
前言:
编程语言,横看成岭侧成峰.很少有人能真正了解一门语言.我在这里不过是说说自己的看法.虽然不一定正确,但也不是全然没有道理.

正文:

C++是我见过的最试图追求优雅的语言.可惜,最ugly的代码往往也是用C++写出来的.

造成这总现象的原因不外乎对效率的坚持,对C兼容的理想,对完美代码苛求而导致标准库的缺失,以及日益臃肿的语言.

好比英文的26个字母和中国的成千上万个汉字,龙飞凤舞的草书固然比英文的千篇一律赏心悦目,但是与无人能识的天书也只有一线之遥.

C++给我的启示,选择多了,并不见得是一件好事,理想主义,往往会让最不想看到的事情发生.

Java的成功离不开那个无所不能的类库,和对编写效率的重视.它和C++形成了鲜明的对照,实践者和学院派的区别在两者之间体系无疑.

不过现在Java正是映照了C++之父当前的预言,变得臃肿和复杂.它们两者算得上是殊途同归吧.

相对而言,我最欣赏的是Python.简单,便捷,优雅便是它最好的代言人.盗用形容Ruby的一句话"花4个小时就可以学会它并解决实际问题,但是10年之后你还会为它层出不穷的新意而惊叹".

但是,更加让我称道的是Python开发的运作模式:有好的开源项目便纳入标准库以统一大家的用法,减少分歧,集中大家的注意力.而过时的东西便不再在标准库中保留,以免产生误用.虽然这样会导致一些过期代码的可用性的问题.但是,这样最大限度的体现了与时俱进,保证代码先进性的精神:)

谈完了上面3中无所不能的语言后,我想说一下Javascript.

和上面的语言不同,Javascript的命运并不是某一个组织所能掌控的.它所能被使用的特性往往由浏览器的版本所决定.Javascript的标准只能作为参考而不能完全遵守.

Javascript最为重视的不是运行时效率,不是开发效率,而是大小:)真是一个时代有一个时代的语言.

对于界面来说 Javascript+网页+CSS 是我见过的最优雅的实现.将来网页可能要被在进一步细分为XML和XSL,但是总的理念应该不会有太多的出入.对于用这种技术写软件界面众高手正在华山论剑,我就不一一点评了.

另外还有一些常用的语言比如同出自一人之手 没落贵族Dephi 和 现今新贵C#.我不是很了解,不妄言.

最后提一下VB,我认为只有VB6才有真正的VB精神--傻瓜化.虽然我很不欣赏用IDE生成的代码,并认为如果你是一个程序员,那么对于每一行的都要精益求精:或者高效,或者优雅,或者简明(当然一次性脚本除外).但是我仍然很认同VB,因为,如果不是一个程序员,那么对于一款软件就可以只看4个方面: 有用,方便,好看,不卡.而VB正是一个非程序员写出实用工具的不二选择.

--作者:张沈鹏 zsp007@gmail.com
分享到:
评论
3 楼 zuroc 2007-03-03  
TO:C++标准库并没有我想象的那么优雅。恶心的下划线命名
这是为了尽量避免using namespace std时产生命名冲突,照顾新手,方便使用,权宜之计。

TO:javascript其实是比较ugly的。
的确如此:)
2 楼 sleepinglord 2007-03-02  
我比较讨厌要靠缩进来分块的phython语法。
但是总的说来phython还是很不错的。
1 楼 sleepinglord 2007-03-02  
c++可能是静态语言里面比较优雅的。反正比java爽,可以做很多事情,运算符重载,多重继承(我很喜欢这两个东西),指针(一般喜欢),template(也还不错)。但是追求runtime效率的目标让它不得不舍弃了一些东西。

C++标准库并没有我想象的那么优雅。恶心的下划线命名。以及大而无当的string类。都让我对它的评价大打折扣。

就优雅程度而言,我见过的最好的语言可能是ruby,尽管我认为它仍然有改进的余地。

javascript其实是比较ugly的。很多事情做起来都很费劲,基于prototype的OO,还有很多不能做的事情,那些built-in的对象。

或许哪天我们自己发明一种更优雅的语言?

相关推荐

    浅谈编程语言在机器人技术中的应用.pdf

    在机器人技术中,编程语言扮演着至关重要的角色,它使得机器人能够执行各种复杂的任务。本文主要探讨了编程在机器人技术中的应用,特别是机器人编程的方法和常用指令。 首先,机器人编程通常涉及两种基本方法:示教...

    浅谈JavaScript编程语言的编码规范

    浅谈JavaScript编程语言的编码规范

    浅谈相关的单片机编程语言

    浅谈相关的单片机编程语言,这是很齐又学起来不会觉得烦的单片机汇编语言

    浅谈计算机编程语言的发展.pdf

    【计算机编程语言的发展】 计算机编程语言是信息技术领域中不可或缺的核心组成部分,它的演进与信息技术的飞速发展紧密相连。从早期的机器语言到高级语言,再到面向对象编程,编程语言的发展历程反映了计算机科学的...

    浅谈西门子PLC的“SCL语言”编程

    浅谈西门子PLC的“SCL语言”编程 其实,现在很多大品牌的中高级 PLC 都支持国际电工委员会 IEC61131 标准中规范的 五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL) 和功能块...

    浅谈西门子 PLC 的“SCL 语言”编程

    结构化文本编程类似于计算机高级编程语言,其语法规则接近Pascal语言。这种编程方式有以下几个显著特点: 1. 混合编程模式:结构化文本编程可以和梯形图编程结合使用,其中梯形图用于逻辑控制,而结构化文本则用于...

    浅谈JAVA语言.pdf

    "浅谈JAVA语言.pdf" 本文将从Java语言的起源开始,分析Java语言与传统语言的差异,并阐述Java语言为什么能够成为世界上最流行的编程语言的原因。同时,本文还将结合Java语言的特点与技术的发展,探讨Java语言在编译...

    精彩编程与编程技巧-浅谈Excel 的VB编程...

    VBA是一种基于事件驱动的编程语言,广泛应用于Microsoft Office应用程序中,如Excel、Word等。对于Excel用户来说,掌握一定的VBA编程技巧能够显著提高工作效率,实现自动化操作和复杂逻辑的处理。 ##### 核心概念...

    浅谈编程能力的培养与提高.doc

    ### 浅谈编程能力的培养与提高 #### 一、编程初学者的引导与建议 在数字时代的大背景下,编程已成为一项重要的技能。无论是对于个人兴趣的培养还是职业发展的需求,掌握一定的编程能力都能带来诸多益处。对于编程...

    浅谈计算机应用软件开发中编程语言的选择研究中英文对照.doc

    ### 浅谈计算机应用软件开发中编程语言的选择研究 #### 引言 随着信息技术的快速发展,计算机应用软件在日常生活及各行各业中的作用日益显著。对于软件开发企业而言,提高软件开发的效率与质量不仅能够增强其市场...

    浅谈SQL语言在PowerScript语言中的嵌入使用.pdf

    "浅谈SQL语言在PowerScript语言中的嵌入使用" SQL语言是关系数据库管理系统的标准语言,它具有高度非过程化的特点,能够高效地处理大量数据。然而,在实际应用中,SQL语言需要与其他编程语言进行集成以满足不同的...

    浅谈计算机应用软件开发中编程语言的选择研究中英文对照.pdf

    浅谈计算机应用软件开发中编程语言的选择研究 随着信息技术的飞速发展,计算机应用软件已经深入到我们生活的各个领域,从个人娱乐、办公自动化到工业自动化、云计算等,无处不在。软件开发企业面临着激烈的市场竞争...

    浅谈计算机软件开发的JAVA编程语言.pdf

    JAVA编程语言作为计算机软件开发领域中使用极为广泛的编程语言,具备多方面的优势。首先,它的跨平台性使其能够在不同的操作系统和硬件平台上运行,这一点对于软件开发者而言意味着更大的灵活性和可移植性。其次,...

    浅谈计算机应用软件开发中编程语言的选择研究中英文对照.d编程资料oc

    浅谈计算机应用软件开发中编程语言的选择研究中英文对照.doc

    多种语言混合编程的探讨_浅谈VC与VB的混合编程

    标题《多种语言混合编程的探讨_浅谈VC与VB的混合编程》以及描述“从VB与VC混合编程的问题,做了一些探索,并采用动态链接库的方法举例说明了如何利用VB与VC进行混合编程”提及的知识点非常丰富,将围绕以下几个方面...

    浅谈JavaScript编程语言的编码规范.pdf

    JavaScript 编码规范是保证代码质量和可维护性的关键要素,尤其在JavaScript这种语法灵活的编程语言中,遵循一定的规范显得尤为重要。以下是一些JavaScript编码规范的建议和详细解释: 1. **JavaScript 文件引用**...

    浅谈Python语言在编程类课程教学中的应用.zip

    Python是一种高级编程语言,以其简洁明了的语法、丰富的库支持和广泛的应用领域而备受青睐。在编程类课程教学中,Python扮演着重要的角色,尤其对于初学者而言,它降低了编程入门的难度,提高了学生的学习兴趣和效率...

Global site tag (gtag.js) - Google Analytics