【转】没有完美的软件:编程永远不容易

最近读了一篇文章 Software Runs the World: How Scared Should We Be That So Much of It Is So Bad?,这篇文章没什么可说,但是评论却很有趣,特别是很多计算机科学的博士表示,使用一些规范的方法,可以让软件变的更好,还有规范、认证、授权。

对于这些想法,我只能说“祝你好运”。我干码农干了30年,我可以很肯定的说“没有银弹”,没有神奇的方法或者论文可以保证让软件变得完美,没有bug。

事实上,我们甚至很难定义一个程序,就更别提如何开发一个完美的程序了。软件在太多领域存在,有太多的编程语言,业务需求,还有运行环境,并且要和各种不确定的系统交互。你觉得你的iPhone
游戏,股票交易系统,烤面包机还有火星登陆器有什么共同之处吗?你觉得给汇编,C,Java,PHP,Fortran,LIST和 Erlang 颁发证书可行吗?还有各种混合语言 web 应用,以及分布式系统。
继续阅读【转】没有完美的软件:编程永远不容易

Gitweb 和 WebSVN

我个人的版本库目前全部用Git,但公司的版本库则全部都是SVN,所以我是SVN+Git通用,只用命令行。

为了便于查看,我会为git和SVN搭建一个web查看环境,这方面就要依赖GitWeb和 WebSVN

关于这两者的配置和安装,Google中有非常多的教程(当然有优秀的教程和稀烂的教程,看你怎么找了),我不再给出详细的步骤,只说一下自己在配置中碰到的问题和注意事项。 继续阅读Gitweb 和 WebSVN

【转】程序员技术练级攻略

本文转自:http://coolshell.cn/articles/4990.html

前言

你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)

建议:

  • 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。
  • 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。
  • 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。
  • 一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。

:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Windows下的编程可能会在未来很没有前途,原因如下: 继续阅读【转】程序员技术练级攻略

【转】写给新手程序员的一封信


首先,欢迎来到程序员的世界。在这个世界上,不是有很多人想创造软件并解决问题。你是一名hacker,属于那些愿意做一些有挑战性的事情的人。

“当你不创造东西时,你只会根据自己的感觉而不是能力去看待问题。” –WhyTheLuckyStiff

对于下面的文字你不必完全接受,所有这些来自一个其貌不扬的程序员。我喜欢把事情做到最好,而不是对原来的东西修修补补。

仅仅是因为爱好开始做一些创新,这是一个很好的开始!如果你说“我要先学习一下再开始做”那么你永远不会真正开始。每个人都需要从某个地方开始,所以现在打开你的编辑器开始写代码吧。 继续阅读【转】写给新手程序员的一封信

【转】程序员水平分级,你属于哪一级?

zrong: 看了原文后,感觉译文有一些问题。原文的译者似乎并不是IT界内人士,或者对编程了解的不够,一些专业术语和流程并没有给出清晰的翻译,我按照原文对人称部分做了修改,加入了一些注释和名字解释的链接,并重新排版。

感谢原文译者的工作。

原文的作者后来又写了一篇”非常短“的文章用另一种方式讨论程序员水平分级,可以看看:Or to put the programming levels another way…


导读:近日,whattofix.com刊登了一篇Daniel Markham的文章《What Level Programmer Are You?》,文内将参差不齐的程序员按照技术水平分为从“读写”到“神级”,共十一个阶段,以帮助广大程序员找到自身定位并从中发现自己发展方向。以下是文章摘要: 继续阅读【转】程序员水平分级,你属于哪一级?