Browsed by
月度归档: 2009年7月

程序员犯的非技术错误(Top 5)

程序员犯的非技术错误(Top 5)

对于程序开发者来说,有两种技术需要我们掌握,一个是技术上的能力,另一个是非技术上的能力。不幸的是,许多程序员过多地关注了技术上的能力,而忽略了非技术上的能力的培养,因此,我们的程序员们经常会有一些很不好的习惯,这里我们例举了程序员们最常犯的5个非技术的错误,与大家共勉。

1.- 缺乏团队纪律

“Discipline is the bridge between goals and accomplishment.” Jim Rohn.

纪律是一个最有价值的技能,不仅仅只是在软件开发领域,同样在其它领域也是一样的。但对于现实来说,我们很难找到即有才华又有纪律的人。这正如足球队一样,非洲的球员们才华相当的出众,可惜他们总是独自为阵,团队纪律性不足,所以可以有好的成绩,但却无法赢得最后的胜利;而德国队的队员个人技能平平,但其有很强大的团队纪律性,所以,总是能打入最后的决赛并获得冠军。有人说过,个人英雄并不可怕,而有强大纪律性的团队才让人可怕。这正是日本这个民族的可怕之处。况且,软件开发从来都不是一个人可以完成的事情,所以团队工作中的纪律性会是非常重要的。

Steve Pavlina 强调了自律中5个因素:“承担, 毅力, 努力, 勤奋, 和坚持” 这里,我们强烈推荐你读一读Steve的 关于自律的文章

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.71 )
Loading...
(免费在线)新书推荐:搜索的用户界面

(免费在线)新书推荐:搜索的用户界面

题外话:剑桥大学出版社很有意思,允许作者把书的全部内容放在网上,例如:Christopher D. ManningPrabhakar Raghavan and Hinrich Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008.

搜索的用户界面》的作者Marti Hearst是加州大学伯克利分校研究信息可视化的一位大儒,她有很多带有认知心理学加设计的尝试,在信息检索这门学科里的信息可视化领域很有地位。我斗胆把她的新书的梗概在这里描述一下,习惯看英文的朋友们可以点击链接去看英文原文,不喜欢看英文的朋友们可以有选择的看看我这里的总结,然后硬硬头皮,跳进去啃一些具体章节吧。本书可能收益的人有:对搜索有兴趣的学生,工业界做设计和评估的专业人士,对技术中的人本主义感兴趣的人,书痴。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 3.29 )
Loading...
Python 自然语言处理

Python 自然语言处理

推荐一本免费的在线电子书,《用Python进行自然语言处理》, 用NLP 工具包(开源免费,Python)来进行文本分析。特别适合初学计算语言学的学生。好像没有好的中文切词。当然,免不了需要提一下 Dan Jurafsky 教授,大家可以搜索一下,找找他的讲义。

简要翻译一下提纲:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 3.29 )
Loading...
关于 Chrome OS 的一些推论

关于 Chrome OS 的一些推论

最近Chrome OS被炒作得火热。

为什么还有一年后才发布的产品这么早会公布于众?其实不难想象,一个系统级别的产品的推行必须要跟很多OEM厂家谈合作。而你几乎不可能只是秘密地跟一个大公司的2-3个工程总监就能把这种合作谈定,而大多数的OEM公司,例如 DELL, Asus, Acer等这样的公司都不是技术为主导的,商业人士会很早参与意见和项目的计划,一旦知道的人多了,其实也没什么能保密的了。虽然,这样荒腔走板的发布很可能像伤害Android一样伤害Chrome OS。

为什么Chrome OS和Android是如此独立的两个东西,看似又是在解决一个方向上的问题呢?其实也不难推测。Android是Google买下来的公司,其带队的Andy Rubin肯定是个对移动设备的能力有远见的大佬,而Chrome浏览器的领袖 Linus Upson是做V8 Engine的,一定对云和未来的Web Apps有着更坚定的远景。当两个这样强势的团队在公司各自划定地盘以后,融合的可能性就相对小了。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 3.69 )
Loading...
BT雷人的程序语言

BT雷人的程序语言

这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站《6个变态的C语言Hello World程序》的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请大家用“最虔诚的态度”来阅读本文。

BF语言介绍

Brainfuck,是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于“绿王八”的原因,这种语言有时被称为brainf**kbrainf***,甚至被简称为BF。这种 语言,是一种按照“Turing complete(完整图灵机)”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF**k 语言只有八种符号,所有的操作都由这八种符号的组合来完成。

BF基于一个简单的机器模型,除了八个指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。

下面是这八种指令的描述,其中每个指令由一个字符标识:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (37 人打了分,平均分: 4.57 )
Loading...
整洁代码的4个提示

整洁代码的4个提示

虽然这样的文章非常的多,并且,就算是对于编程新手来说,也是非常的简单和显而见,但是,在我们进行Code Review过程中,我们还是能够看到那些非常混乱的代码,所以,有些时候,你会在想,是不是这样的规则太多了,导致我们的程序员记不住。虽然我们在以前的文章中一遍又一遍的说过(比如:《优质代码的十诫》),千言万语总结一下,无论你用什么样的语言,最最基本的编程原则就是下面这四条。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 3.38 )
Loading...
Java构造时成员初始化的陷阱

Java构造时成员初始化的陷阱

让我们先来看两个类:Base和Derived类。注意其中的whenAmISet成员变量,和方法preProcess()

public class Base
{
    Base() {
        preProcess();
    }

    void preProcess() {}
}
public class Derived extends Base
{
    public String whenAmISet = "set when declared";

    @Override void preProcess()
    {
        whenAmISet = "set in preProcess()";
    }
}

如果我们构造一个子类实例,那么,whenAmISet 的值会是什么呢?

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 3.88 )
Loading...