微信号:infoqchina

介绍:有内容的技术社区媒体

第三只眼:编程语言有好坏吗?

2014-02-19 18:51 侯伯薇

在小朋友的世界里面,是非观非常明确。比方说在看电影、电视剧的时候,他们一定会问,谁是好人,谁是坏人。如果你碰巧看的是《Heroes》之类的完全毁坏一个人是非观、里面无所谓好人无所谓坏人、好人会变坏、坏人会变好的剧集,那么就会发现根本无法回答他们的问题。

 

似乎我们作为成人应该和小朋友们有些不同,特别是聪明的程序员们,不应该和小朋友们站在一条线上。至少我们要知道,很多时候没有好坏之分,世界上除了黑白,还有灰色,而且在Photoshop里面,灰度还会分为256个等级呢。

 

然而,经常会听见有人争论,某某语言和某某语言,哪个更好,似乎那些语言天生就是敌人。特别是每个月TIOBE的排行榜一出来,就会有人惊叹:啊!这个语言怎么上升得这么快,原来是一门好语言啊。或者是:哎呀,这种语言始终排在后面,肯定不是什么好东西。

 

这里面必定会有人的主观因素在里面,人都是会觉得自己的东西要比别人的东西好。如果是一位Java开发者,那么他就可能会随着Java的起落而产生悲喜的情绪,对于C#CObjective-CVBSQL等等语言的开发者也有同样的情况。

 

这个时候,似乎大家又回到了童年时代,编程语言里面也有了好的和坏的,也有了正派英雄和反派大坏蛋。

 

其实,编程语言真的有好坏吗?个人觉得没有。只是这种语言会有这样的特性,那种语言会有那样的特性;有些语言适合于后台开发,有些语言适合于前台界面开发;有些语言拥有各种各样的函数库,有些语言函数库相对缺乏;有些语言擅长数据库处理,有些语言擅长科学计算。诸如此类,但没有一个标准能够判断出,哪种语言好,哪种语言不好,好和不好都需要在特定的情境之下讨论才有意义。

 

所以说,很多的争论或者比较都是没有意义的,一方面无法脱离主观的想法,另一方面不考虑具体的情境,单纯说好坏都是不切实际的。

 

那么,下次我们再看到排行榜的时候,不能抱着看学校分数榜的心态去看了,并不是排在前面的就是好语言,排在后面的就是坏语言,那只是告诉我们一种趋势,或者说在程序员世界里面的流行程度。也不必在论坛里面打口水战争,争论什么语言好,什么语言不好,那就像是在讨论到底是开罐头的刀好,还是啤酒瓶起子好一样,其实只有适合和不适合。我们应该掌握更多语言,然后在恰当的时候使用恰当的语言,那才是王道。


“第三只眼”:

主要由InfoQ编辑专门为微信公众账号自编自写的一个栏目,旨在表明编辑态度及表述平日见闻和思考,期望成为和读者沟通的桥梁。亦接受投稿:editors@cn.infoq.com


今日专栏作者:

侯伯薇@大连,快乐的程序员,InfoQ中文站翻译团队主编,热心的社区活动组织者。本文首发于他的微信公众账号快乐的程序员(happyprogrammer)。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 京东商品详情页服务闭环实践 【视频】乙醇带你从零开始搭建自动化测试框架 Xcode6插件开发入门 第八讲 for 京东前端:PhantomJS 和NodeJS在京东网站前端监控平台的最佳实践