最新评论
Re:好书征集译者(第19期) 徐培华 2011-03-11 18:01
帮顶。
Re:好书征集译者(第17期) MagicBoy110 2010-12-17 00:10
云+端是微软的战略
欢迎关注最重要的端之一Windows Phone 7
re: 好书征集译者(第16期) 许欣 2009-06-05 11:04
正在找这本书,发现的你的blog。我留学英国7年,持有博士学位,现在从事信息安全专业研究工作。请问,翻译书有什么待遇吗?比如稿酬、署名之类的。请通过以上邮件联络我。谢谢!
re: 3月OpenParty春晴活动纪实——“如何成为一个高效的程序员” pub 2009-03-30 18:16
http://www.luanxiang.org/blog/archives/593.html
程序员,就是整天与机器打交道的那群人。
在计算机并不普及的年代,这样的描述毫无疑问;然而,这些年来,得益于计算机成本的不断下降,软件使用门槛的不断降低,如今,昔日昂贵而又神秘不可莫测电脑,已经成了随处可见、人人能用的办公器材。一句话:人机交互,不再是程序员的专利。大家都可以用电脑干活,只不过,程序员用电脑写程序,其他人用电脑干其它事。
结果,普通人抱怨的问题,程序员也在抱怨:电脑不够聪明,不够智能,效率太低……
可是,电脑真的进化到了对程序员和普通用户“一视同仁”的地步吗?
我不由得想起,上个世纪80年代,温伯格在《技术领导之路》中提出的疑问:
(开办技术领导力学习班)也让我们产生怀疑,技术在当今社会扮演了重要的角色,我们的学习班,是否赋予了某些人太多的力量?
细细想来,当年,IT技术那么高深,只有少数人能够接触,因而程序员“理所当然”地借助了IT的东风,具有超常的力量。可是如今呢?与常人无异的程序员(或者说,IT技术人员),他们身上让人担心的“太大的”力量,到底是被淘汰了,还是没有发挥出来?
对这个问题,不同的人或许有不同的看法。不过,读过The Productive Programmer(中文版《卓有成效的程序员》)的人,多半会选择后一个答案。
The Productive Programmer是一本奇特的书,它的Productive(也就是“生产力”),与新的语言、新的框架、新的系统完全无关,而是另辟蹊径:它只是提醒读者,作为程序员,你与普通用户是不同的:其它人只是简单地“启动”程序,而你完全可以动用自己的专业知识,“驱使/调度”那些程序。这样的机会,普通用户想不到,也不愿意抓住,但是抓住它们,你的生产率就会成倍上升。所以,这本书叫做The Productive Programmer,而不是The Productive Computer-User。
薄薄的一本书(英文版224页,中文版215页),共分16章,兼顾概念和实践两个方面,既介绍了加速、专注、自动化等等提高生产率的“先进”思维观念(譬如“多用键盘少用鼠标”,“消除干扰集中精力”),也给出了在设计、分析、构造、元编程、多语言编程等等多种任务中贯彻前述思想的若干实例(譬如 “用全面测试保证质量”,“选用最省事的方式/语言完成任务”),可以说是“麻雀虽小,五脏俱全”了。
不过,看完整本书,我最深刻的印象还是贯彻全书的思想。说白了,就是尽量让机器做机器该做的事情,让程序和程序打交道,发挥程序员在这方面的先天优势——他人眼中的普通工具,是程序员手里的有利武器。
不信,你可以想想,虽然如今人机交互的难度已经大大下降,然而程序终究是程序,程序跟人打交道,与程序跟程序打交道,效率差的不是一星半点:
不用宏,你可能需要一次又一次地重复选择、修改、保存;
不用脚本,你可能需要一次又一次地点击、配置、等待;
不用自动化测试,你可能需要一遍又一遍地运行、调试;
不用管道,你可能需要一次又一次地生成、删除中间文件;
……
The Productive Programmer则会“教导”你:
多用宏吧,启动它,你就可以迅速完成大量重复的工作;
多用脚本吧,你可以提高运行的效率,避免变数和误差;
多用自动化测试吧,你可以迅速定位问题,保证质量;
多用管道吧,这样多个程序就可以“无缝结合”成一条生产线;
……
没错,学习宏、脚本、自动化测试、管道(Shell),不是“容易”的事情。但别忘了,身为技术人员,了解技术,学习技术,运用技术,正是你的职业,你的优势,也是你的责任,你的生产力(所谓productive)所在。随便举个例子吧,在本书中文版的第196页有这么一段话:
……在我刚才提到的例子中,开发人员用了1小时58分建立正确的语法,然后用了不足两分钟运行。在一些未曾培训过的人眼里,他的大多数时间都没有效率(这就是为什么他们反对使用正则表达式的原因),但最后,他节省的是几天的时间!……
我还要补充的是,解决好这样的问题,“现在”能节省几天的时间,将来,更可以节省无穷无尽的时间!就我的开发经历来说,平时多注重这样的细节,做些 “没效率”的事情,积累起来,就可以节省大量的时间和精力——至少至少,你不会抱怨,自己终日被一大堆“简单重复劳动”所困扰。
类似的例子,在书中随处可见,譬如作者讲到,“几乎每个*nix用户,都会有自己的shell alias”,真是于我心有戚戚焉:我自己积累了一大堆alias,喜欢用grep –color把要找的内容标成高亮,也喜欢在统计脚本里用不同的颜色标注不同的状态……在Shell下干活,更加简单、利索,一目了然,这种流畅和效率,也可算专属于程序员的宝贵财富。
当然,也有读者会觉得很烦:作者几乎讲一个很小的例子,几乎都要强调一遍:“简单重复劳动是低效的(程序员不应该这么干)”。不过,我丝毫没有觉得罗嗦,反而因此喜欢上这本一个下午就能看完的“轻量级”小书:阅读它,你并不需要太多的期望,权当一次愉快的思维体操吧——你会发现,专属于自己的高效率,就来自书中提到的点点滴滴。
程序员,就是整天与机器打交道的那群人。
在计算机并不普及的年代,这样的描述毫无疑问;然而,这些年来,得益于计算机成本的不断下降,软件使用门槛的不断降低,如今,昔日昂贵而又神秘不可莫测电脑,已经成了随处可见、人人能用的办公器材。一句话:人机交互,不再是程序员的专利。大家都可以用电脑干活,只不过,程序员用电脑写程序,其他人用电脑干其它事。
结果,普通人抱怨的问题,程序员也在抱怨:电脑不够聪明,不够智能,效率太低……
可是,电脑真的进化到了对程序员和普通用户“一视同仁”的地步吗?
我不由得想起,上个世纪80年代,温伯格在《技术领导之路》中提出的疑问:
(开办技术领导力学习班)也让我们产生怀疑,技术在当今社会扮演了重要的角色,我们的学习班,是否赋予了某些人太多的力量?
细细想来,当年,IT技术那么高深,只有少数人能够接触,因而程序员“理所当然”地借助了IT的东风,具有超常的力量。可是如今呢?与常人无异的程序员(或者说,IT技术人员),他们身上让人担心的“太大的”力量,到底是被淘汰了,还是没有发挥出来?
对这个问题,不同的人或许有不同的看法。不过,读过The Productive Programmer(中文版《卓有成效的程序员》)的人,多半会选择后一个答案。
The Productive Programmer是一本奇特的书,它的Productive(也就是“生产力”),与新的语言、新的框架、新的系统完全无关,而是另辟蹊径:它只是提醒读者,作为程序员,你与普通用户是不同的:其它人只是简单地“启动”程序,而你完全可以动用自己的专业知识,“驱使/调度”那些程序。这样的机会,普通用户想不到,也不愿意抓住,但是抓住它们,你的生产率就会成倍上升。所以,这本书叫做The Productive Programmer,而不是The Productive Computer-User。
薄薄的一本书(英文版224页,中文版215页),共分16章,兼顾概念和实践两个方面,既介绍了加速、专注、自动化等等提高生产率的“先进”思维观念(譬如“多用键盘少用鼠标”,“消除干扰集中精力”),也给出了在设计、分析、构造、元编程、多语言编程等等多种任务中贯彻前述思想的若干实例(譬如 “用全面测试保证质量”,“选用最省事的方式/语言完成任务”),可以说是“麻雀虽小,五脏俱全”了。
不过,看完整本书,我最深刻的印象还是贯彻全书的思想。说白了,就是尽量让机器做机器该做的事情,让程序和程序打交道,发挥程序员在这方面的先天优势——他人眼中的普通工具,是程序员手里的有利武器。
不信,你可以想想,虽然如今人机交互的难度已经大大下降,然而程序终究是程序,程序跟人打交道,与程序跟程序打交道,效率差的不是一星半点:
不用宏,你可能需要一次又一次地重复选择、修改、保存;
不用脚本,你可能需要一次又一次地点击、配置、等待;
不用自动化测试,你可能需要一遍又一遍地运行、调试;
不用管道,你可能需要一次又一次地生成、删除中间文件;
……
The Productive Programmer则会“教导”你:
多用宏吧,启动它,你就可以迅速完成大量重复的工作;
多用脚本吧,你可以提高运行的效率,避免变数和误差;
多用自动化测试吧,你可以迅速定位问题,保证质量;
多用管道吧,这样多个程序就可以“无缝结合”成一条生产线;
……
没错,学习宏、脚本、自动化测试、管道(Shell),不是“容易”的事情。但别忘了,身为技术人员,了解技术,学习技术,运用技术,正是你的职业,你的优势,也是你的责任,你的生产力(所谓productive)所在。随便举个例子吧,在本书中文版的第196页有这么一段话:
……在我刚才提到的例子中,开发人员用了1小时58分建立正确的语法,然后用了不足两分钟运行。在一些未曾培训过的人眼里,他的大多数时间都没有效率(这就是为什么他们反对使用正则表达式的原因),但最后,他节省的是几天的时间!……
我还要补充的是,解决好这样的问题,“现在”能节省几天的时间,将来,更可以节省无穷无尽的时间!就我的开发经历来说,平时多注重这样的细节,做些 “没效率”的事情,积累起来,就可以节省大量的时间和精力——至少至少,你不会抱怨,自己终日被一大堆“简单重复劳动”所困扰。
类似的例子,在书中随处可见,譬如作者讲到,“几乎每个*nix用户,都会有自己的shell alias”,真是于我心有戚戚焉:我自己积累了一大堆alias,喜欢用grep –color把要找的内容标成高亮,也喜欢在统计脚本里用不同的颜色标注不同的状态……在Shell下干活,更加简单、利索,一目了然,这种流畅和效率,也可算专属于程序员的宝贵财富。
当然,也有读者会觉得很烦:作者几乎讲一个很小的例子,几乎都要强调一遍:“简单重复劳动是低效的(程序员不应该这么干)”。不过,我丝毫没有觉得罗嗦,反而因此喜欢上这本一个下午就能看完的“轻量级”小书:阅读它,你并不需要太多的期望,权当一次愉快的思维体操吧——你会发现,专属于自己的高效率,就来自书中提到的点点滴滴。
re: 业内人士高度评价章立民老师新书! obc 2009-02-18 18:31
拜读过,确实应该高度评价一下
re: 好书征集译者(第14期) greater 2008-10-07 21:53
LINQ Unleashed: for C#
好书!
好书!
re: 好书征集译者(第14期) 江湖飘 2008-09-26 23:53
我先问一个问题,不知道这个会不会比较弱智一些:
如果要翻译的话,如何原版的书是你们提供的吗?
本人虽然非常想来应聘翻译,不过现在应该功夫还不到家。
但是想先能了解一些。
如果要翻译的话,如何原版的书是你们提供的吗?
本人虽然非常想来应聘翻译,不过现在应该功夫还不到家。
但是想先能了解一些。
re: 章立民老师力作出版1个半月5000册售罄重印,微软亚洲研究院专家高度评价! softarts 2008-02-23 14:43
一般的人还是别来当专家了...一本GUI的书也好意思这样吹捧
re: C++专家荣耀5月22日下午2点作客51CTO专家聊天室 shuijin 2007-11-04 14:16
#include<iostream.h>
#include<iomanip.h>
#define N 20
//int s[N];
template<typename T>
void sort(T a[],T b[],int m,int n)
{
T s[N];
T *p=a,*q=b;
int i=0,k=0,t;
//t=m+n-1;
while(*p!=0 && *q!=0)
{
if(*p<*q)
{
s[i]=*p;
//k++;
//r++;
p++;
i++;
}
else if(*p==*q)
{
s[i]=*p;
//*(r+t)=*p;
//t--;
p++;
q++;
i++;
//r++;
}
else
{
s[i]=*q;
i++;
//*(r+t)=*p;
//t--;
q++;
//k++;
//r++;
}
}
if(*p!=0)
{
s[i]=*p;
p++;
i++;
//r++;
}
else
{
s[i]=*q;
//r++;
q++;
i++;
}
t=i;
for(k=0;k<t;k++)
cout<<setw(3)<<s[k];
cout<<endl;
//return s;
}
/*template<typename T>
void print(T *s)
{
for(i=0;s[i]!=0;i++)
cout<<setw(3)<<s[i];
cout<<endl;
}*/
void main()
{
int i;
int a[5]={1,5,45,65,74};
//char B[N]={'a','b','c'};
int b[6]={1,4,6,10,25,46};
//sort(A,B);
for(i=0;i<5;i++)
cout<<setw(3)<<a[i];
cout<<endl;
for(i=0;i<6;i++)
cout<<setw(3)<<b[i];
cout<<endl;
sort(a,b,5,6);
/*for(i=0;s[i]!=0;i++)
cout<<setw(3)<<s[i];
cout<<endl;*/
}
/*执行以后为何会出错啊!*/
#include<iomanip.h>
#define N 20
//int s[N];
template<typename T>
void sort(T a[],T b[],int m,int n)
{
T s[N];
T *p=a,*q=b;
int i=0,k=0,t;
//t=m+n-1;
while(*p!=0 && *q!=0)
{
if(*p<*q)
{
s[i]=*p;
//k++;
//r++;
p++;
i++;
}
else if(*p==*q)
{
s[i]=*p;
//*(r+t)=*p;
//t--;
p++;
q++;
i++;
//r++;
}
else
{
s[i]=*q;
i++;
//*(r+t)=*p;
//t--;
q++;
//k++;
//r++;
}
}
if(*p!=0)
{
s[i]=*p;
p++;
i++;
//r++;
}
else
{
s[i]=*q;
//r++;
q++;
i++;
}
t=i;
for(k=0;k<t;k++)
cout<<setw(3)<<s[k];
cout<<endl;
//return s;
}
/*template<typename T>
void print(T *s)
{
for(i=0;s[i]!=0;i++)
cout<<setw(3)<<s[i];
cout<<endl;
}*/
void main()
{
int i;
int a[5]={1,5,45,65,74};
//char B[N]={'a','b','c'};
int b[6]={1,4,6,10,25,46};
//sort(A,B);
for(i=0;i<5;i++)
cout<<setw(3)<<a[i];
cout<<endl;
for(i=0;i<6;i++)
cout<<setw(3)<<b[i];
cout<<endl;
sort(a,b,5,6);
/*for(i=0;s[i]!=0;i++)
cout<<setw(3)<<s[i];
cout<<endl;*/
}
/*执行以后为何会出错啊!*/
re: 赢在用户—UCDChina范晓燕译作上市! Express Lane 团队 2007-08-01 20:06
更改网站分类。
re: 赢在用户—UCDChina范晓燕译作上市! [未登录] ccc110 2007-08-01 17:53
您的文章怎么都是廣告。。。要不就是吹噓“章老師”
re: 赢在用户—UCDChina范晓燕译作上市! 静水流深 2007-08-01 16:46
这个是不是属于可用性范畴里的,如http://usability.dlmu.edu.cn/
re: 赢在用户—UCDChina范晓燕译作上市! childchen 2007-08-01 14:51
实在第一次误闯到首页上的。
有没有达人教一下怎么给删掉啊。
有没有达人教一下怎么给删掉啊。
re: 赢在用户—UCDChina范晓燕译作上市! GoGoSonny 2007-08-01 14:48
看看这个博客其他的帖子就知道是个卖书的博客。
不知道dudu以后会不会开书籍区。
不知道dudu以后会不会开书籍区。
re: 赢在用户—UCDChina范晓燕译作上市! xiao_p 2007-08-01 14:38
发广告不对,发广告你还整首页上了就更不对了!
re: 赢在用户—UCDChina范晓燕译作上市! childchen 2007-08-01 14:11
陈是以地名命名的姓氏。在海内外分布极广,按人口统计为中国第五大姓。周武王灭商以后,追封前代圣王的后人,找到了舜帝的后裔妫满。武王把大女儿元姬嫁给他,封他为陈(在河南淮阳)侯,让他奉守舜帝的宗祀。妫满死后,谥号陈胡公,陈氏就是他的后代,历代视为正宗。
陈姓另有两支:一支是北魏时候莫陈氏改姓陈,另一支是古代安南(今越南)国王姓陈,他的后代亦称陈氏。陈姓望族居颖川郡(今河南长葛县老城西)。春秋时陈国有陈亢(孔子弟子),秦末有农民起义领袖陈胜,西汉有丞相陈平,晋代有史学家陈寿,南朝时陈霸先代梁为帝,建立陈朝,在南方称帝33年。唐代有诗人陈子昂,宋代有思想家、文学家陈亮,明代有受国诗人陈子龙。近代有受国华侨陈家庚。
陈姓另有两支:一支是北魏时候莫陈氏改姓陈,另一支是古代安南(今越南)国王姓陈,他的后代亦称陈氏。陈姓望族居颖川郡(今河南长葛县老城西)。春秋时陈国有陈亢(孔子弟子),秦末有农民起义领袖陈胜,西汉有丞相陈平,晋代有史学家陈寿,南朝时陈霸先代梁为帝,建立陈朝,在南方称帝33年。唐代有诗人陈子昂,宋代有思想家、文学家陈亮,明代有受国诗人陈子龙。近代有受国华侨陈家庚。
re: 赢在用户—UCDChina范晓燕译作上市! 在线代理 2007-08-01 13:49
BS广告帖。
起码贴多点相关的东西啊
起码贴多点相关的东西啊
re: 赢在用户—UCDChina范晓燕译作上市! 补丁 2007-08-01 13:46
姓陈的好多啊,呵呵,咱们祖宗多少年前都是一棵树上的猴啊~~
re: 赢在用户—UCDChina范晓燕译作上市! LeadNT 2007-08-01 13:17
blog园终于成广告回收站了.................
re: 赢在用户—UCDChina范晓燕译作上市! ╃小〥斌╄ 2007-08-01 12:44
看来我得姓也不错嘛 。。 比chen的首字母还多了道弯。。。 哈。。
