Scala是个有趣的语言

Scala
经常读我的博客的人应该知道,我最喜欢的编程语言是Haskell。我喜欢函数式编程,Haskell是一个能把函数式编程推向极致的语言。虽然如此,我仍然时刻关注着其它新兴的和即将产生的编程语言,特别是函数式的编程语言,所以,当Scala诞生之初我就知道了这种语言。当时,我粗略的对它了解了一下,并不是很喜欢;我感觉它的那些语法对于我的口味来说过于甜腻,而且这种语言看起来异常的复杂。然而,一些我很尊敬的人都喜欢这种语言,所以我就再次的看了看。我的评论并不是基于对这种语言的一个全面的了解之上,只是我通过几周的阅读和实验得到的收获。不管怎样,我已经有足够的认识来声明,Scala是个有趣的语言,值得去研究,特别是当你有Haskell编程背景的情况下。我使用的是一本“阶梯教程”(Programming In Scala by Odersky et al),这本书写的非常好,我全力的推荐大家读一下。

阅读全文 »

著名编程语录

一个好的程序员应该是那种过单行线都要往两边看的人。

– Doug Linder, 系统管理员

阅读全文 »

是否应该允许开发人员进入生产环境?

问题

在Web开发公司里,有个问题会被一而再、再而三的提出来,这就是:

“是否应该允许开发人员进入生产环境?如果是,允许到什么程度?”

对于此,我的观点是,整体上,应该限制开发人员访问生产环境。在论证我这个观点之前,我想声明一下,我的立场绝对不是基于对开发人员的品质品行的判断——所以请不要往这方面想。首先我要公布一些常见的程序员们不喜欢或讨厌这个观点的论据:

“系统管理员什么都不让我们干,他又解决不了,我们根本没法完成任务。”

如果真是这种情况,那么他们应该是对的。如果是因为没有足够的管理员或管理员不称职,那么瓶颈就会出现。然而,允许开发人员访问生产环境并不是一种解决方案,因为即使这一回你把问题解决了,以后还是会出现缺少管理员的情况。有时候一些管理上的规章制度会使事情变的繁琐,耽误时间,但我想这时间也不会是一种不可接受的漫长。
阅读全文 »

千万要避免的五种程序注释方式

你是否有过复查程序时发现有些注释毫无用处?程序注释是为了提高代码的可读性,为了让原作者以外的其他开发人员更容易理解这段程序。

我把这些让人郁闷的注释方式归为了五类,同时把写出这些注释的程序员也归为了五类。我希望读了这篇文章后你感觉自己不属于其中的任何一种类型。如果你有兴趣的话可以读一下另外一篇文章 五种程序员(英文),和这篇讲到的五种程序员对比一下。

阅读全文 »

程序员的宿命

程序员喜欢把自己装在自己的小天地里。一点点很小的事情就能让他们高兴起来。如果他们根据设计书完成了任务,他们会非常高兴。有时候一个小小的卡壳都有影响他们的心情。他们会非常沮丧。

这个漫画就是描写程序员身上有趣的事情的 …

programmers-life-cartoon

点击查看大图

Java的“Copy-on-Iterate”习惯用法也不安全

这是我们的天才Lauri Tulmin处理的一个有趣的技术支持的故事。问题看起来是Wicket里的JRebel导致的ArrayIndexOutOfBoundsException异常,很罕见。经过一些分析调查,他发现这个异常最先是由下面的Wicket代码抛出的:

阅读全文 »

你的代码写的很烂

我有一个很熟的朋友,他现在忙的不可开交。他手上有一大堆没有完成的合同,而且一个跟他一起开发的助手也离他而去。于是,在三个大客户的催命鬼时的督促下,他已经连续好几个星期没休息了。

其中有个客户跟他讨论他给这个客户做的iPad应用程序,客户告诉他“我们花钱雇了另外一个程序员来审查你的代码,他说你的代码写的很烂。”

阅读全文 »

不要放弃你的梦想

周末的时候我正准备和几个朋友打游戏,热身的过程中同一个不是很熟的队员发生了一次有趣的谈话。

“你是做什么的?”他问我。“哦,我给自己干,我有一个软件公司”,我回答。“真的吗!真令人羡慕!我在XXX公司工作,但我一直有个愿望去做动画设计,做独立职业人。这是我的梦想。可我现在陷入了这个错误的行业中了。”

“你还活着,不是吗?”我尽量小声的对他说。他继续说:“你不知道,我已经想这一天等了10年了,可一旦你有了家庭,你很难在干其它的事情了.”
阅读全文 »

视频:三星展示坚不可摧的手机屏幕

三星移动显示屏公司(SMD)开发出了一款新的AMOLED显示屏,这款显示屏不怕砸,而且能弯曲,不影响任何显示效果。展示的原型机上这款显示屏大小是2.8英寸,分辨率是166ppi。重量只有0.29克,厚度只有20微米。三星公司相信到2012年这种这款显示屏会使AMOLED显示屏在世界上流行起来。

这种显示屏在智能手机上非常有用,它能使手机更薄,更坚韧,表现出新的样式。三星公司计划在其朔料面板上加入薄膜晶体管(TFT),使用聚酰亚胺薄膜来替代现在的聚乙烯基保护膜,这样可以防止影像残留。 [via OLED-Display]



注:AMOLED (全称:Active Matrix/Organic Light Emitting Diode)
主动矩阵有机发光二极体面板(AMOLED)被称为下一代显示技术,包括三星电子、三星SDI、LG飞利浦都十分重视这项新的显示技术。

这段程序是做什么的?

在SciPy 2010大会上,一位发言人给我们展示了几段简短的代码,并且问我们每段代码都是做什么用的。代码写的很明了,但没有提供上下文的注解。下面的就是这最后一段代码:

阅读全文 »