存档

‘編程雜談’ 分类的存档

2010年11月编程排行榜:Objective-C热潮消退?

2010年11月5日 没有评论

TIOBE编程语言排行榜的11月榜单近日发布。从榜单上可以看出,在过去很长一段时间内都呈现持续增长趋势的Objective-C从上个月开始所占份额第一次有所下降,11月份相比10月又下降了0.5%。这是不是说明iPhone热潮已经开始消退了呢?乐高的Mindstorms编程语言NXT-G首次跻身跃入排行榜的前20名,是11月排行榜一个亮点。同时Google的Go语言突然跌出前20名,Visual Basic由曾经的排行榜之首到本月的跌至低谷,颓废明显,也是11月排行榜值得关注的地方。

NXT-G是一种可视化的编程语言,它集成在乐高(LEGO)公司的机器人玩具产品中,NXT程序的设计者可以在计算机上通过NXT-G对机器人的行为进行可视化的程序设计,并通过蓝牙等方式将这些指令下载到机器人身上,一旦NXT机器人程序化后,它就“开始有了自己的生命,不再需要经由计算机控制 ”。NXT-G在排行榜中位置的提升可以看出可视化编程语言正趋于流行。

Google的Go语言虽然跌出前20名,但前景依然广阔。Go语言具有效率极高的编译器,目前Go编译器能在Linux、FreeBSD以及Mac OS X平台下运行,现在Go程序在Android平台上运行也是可能的。据悉编译完成的Go程序运行速度接近C语言实现的程序。由于Go具备简洁的语法和语言本身的一致性,已有大学执教的老师表示将会在自己教授的编程语言课程中为学生开设Go语言选修项目。相信这也会大大推动Go语言的发展。Go语言需要有说服力的实际应用证明自己。

这个榜单本身采集的是英文世界的数据,虽然在反映趋势上有较高的参考意义,但与中国的实际情况不完全符合,此外,这张采样本身也有相当大的局限性。《程序员》2010年8月刊的圆桌讨论“什么是最美丽的编程语言”中,许多专家也谈到了这一点。

阅读全文…

如何激励程序员?~~这样行么

2010年11月2日 没有评论

如何激励程序员?关于这个问题,有个内在的矛盾。我想下面这两幅漫画就完美地表达出来了。这是个普遍现象,我也在自己身上发现这个问题了。如果其他程序员告诉你,因为你的代码比较烂,他们正在重写。没有什么比这更激励程序员了。戴夫·托马斯多年前已在他的经典专业发展演讲中说到此问题,引述如下:

非常有趣的是,我的一位朋友(他是一家医院的质量控制经理)经常就有关医生方面有着相同的言论:礼貌的请求和胁迫等方法,都毫无用处,(这些方法)常常是有害的。同行的压力和竞争才是关键。

Don’t try to race sheep,
Don’t try to herd race horses

的确,虽然“羊”这个比喻有点贬人,但其中的基本原则是合理的:针对不同水平的开发人员采用不同的激励性技巧。如果你手下的开发人员是新手,那你可以 利用固定的准则和规则来管理他们。如果你领导的有经验的开发人员,规则就没有什么作用了。相反,你要鼓励他们竞争:搞一个小型的友好竞争,让他们知道,和同行相比,他们的水平如何。

分类: 編程雜談 标签: , ,

每位开发人员都应铭记的10句编程谚语

2010年10月30日 没有评论

所谓谚语,就是用言简意赅、通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情。也正因如此,我才整理了10句编程谚语,每位开发人员都应该铭记他们,武装自己。

1. 无风不起浪
别紧张,这也许只是一场消防演习
代码设计是否糟糕,从某些地方就可以看出来。比如:

  • a. 超大类或超大函数
  • b. 大片被注释的代码
  • c. 逻辑重复
  • d. If/else嵌套过深

程序员们通常称它们作代码异味(Code Smell),但是就我个人认为“代码警报”这个名字更为合适一些,因为它有更高的紧迫感的含义。根本问题处理不当,终将引火烧身。

译注:Code Smell中文译名一般为“代码异味”,或“代码味道”,它是提示代码中某个地方存在错误的一个暗示,开发人员可以通过这种smell(异味)在代码中追捕到问题。

阅读全文…

分类: 編程雜談 标签: , ,

.net 链接Mysql数据库

2010年10月18日 没有评论

剛搞了一下Linux下的.net支持,既然讓程序跑在Linux下面,那麼,數據庫最好的選擇當然是mysql了。

在vs2010下開發,然後轉到Linux的mono平台下。嗯。。看起來多麼的美好。

首先去http://http://dev.mysql.com/downloads/connector/net/ 下載mysql的鏈接驅動,mono的windows的最好都下來。

然後,我裝。。。。

然後在vs2010裡鏈接在另一個linux主機上的數據庫。。咦。。連不上。。。。

查。查查啊。。

原來是mysql需要遠程登錄授權。方法如下:

進入mysql控制台

mysql -uroot -p

mysql>grant all on *.* to root@’%’ identified by ‘[password]‘;

ok了

在CentOS5环境下配置LNMP、Mono2.6

2010年10月16日 没有评论
近期想在linux下配置一个可以支持.net又能跑php的环境,经过思考,还是决定使用lnmp作为基础,然后再配置Mono支持.net,上网找了很多资料,安装过程一波三折,最后终于成功。现简单将过程记录如下:
分类: 編程雜談 标签: , , , , ,