程序员101:如何自学编程

你也许曾经想过要学习如何开发软件—或只是想临时的写出一个脚本—但不知道如何入手。 幸运的是,现在的互联网上到处都有丰富的学习资源让你能在短时间里成为一个程序员。
因为互联网的出现,使程序员们可以通过它讨论软件开发技术,发布学习指导,以及共享代码实例让其他人可以在线学习。 如果你感兴趣如何才能成为一个程序员,从网上这些大量的优秀的培训资料、学习向导入手将会是个不错的开始。 阅读全文 »

你也许曾经想过要学习如何开发软件—或只是想临时的写出一个脚本—但不知道如何入手。 幸运的是,现在的互联网上到处都有丰富的学习资源让你能在短时间里成为一个程序员。
因为互联网的出现,使程序员们可以通过它讨论软件开发技术,发布学习指导,以及共享代码实例让其他人可以在线学习。 如果你感兴趣如何才能成为一个程序员,从网上这些大量的优秀的培训资料、学习向导入手将会是个不错的开始。 阅读全文 »

本周在欧洲举行的TheServerSide Java研讨会上,ThoughtWorks的架构师和著名讲演人Neal Ford 指出那些只静止的依赖于一种专门的技术的人会在几年之内被淘汰出局。 他谈到了19世纪的马蹄铁匠,那时候干这种工作看起来是稳定而且有前景的职业,直到有一天科技进步(汽车的出现)导致了整个行业被淘汰。
我对Neal的这些话颇有感受。 当我还是大学教师、教授面向对象编程的时候,我有一个成年学生是个真正的C语言编程高手。 事实上,他的专长是使用Borland Turbo C 3.0。 当他很费力的去领悟C++和Smalltalk和这类语言后面所代表的含义时,他竟然会把这种语言程序加载到Turbo C编辑器里,认为或者是希望Turbo能够对这些不同的语言也能读懂一部分。 阅读全文 »

我收集各式各样的至理名言。最近我一直在研究敏捷软件开发;有收获吗?下面就是能够指导敏捷软件开发团队的26条核心原则。
在 SDTConf 2009 论坛上,Corey Haines 和我共同主持了一个叫做“最臭的臭弹”的研讨会。会议上,我们试图去寻找下面两个(不同的)问题的答案:
尽管字面上这两个问题很相似,但我认为这第二个问题更具有广泛的意义,跟第一个有很大的不同。
不管怎样,这次研讨会都能称得上是一个热闹的会议。我们有不少很厉害的辩手来批判所谓的最臭的代码的味道(最臭的臭弹): 阅读全文 »
我遇到很多客户做过压力测试 – 有大规模的,也有小规模的 – 有用开源工具的,也有用商业软件的。 压力测试本身变得越来越容易,越来越可以支付的起——因为出现了很多很好用的压力测试工具。还有一些公司提供在线压力测试服务。尽管做压力测试越来越容易、越来越有效率、而能花很小的代价产生很大的压强,但是我的所有客户都遇到了同样一个问题:压力测试并不会报告是什么导致了问题。它只会报告这有了问题,例如:查询页面在并发50个用户使用时变慢下来,但它不会显示什么导致了变慢。捕获到的性能统计数据例如CPU和内存使用量只是强调了潜在的问题区域,但并不会指出实际的根源在应用程序的什么地方。
阅读全文 »