最近我收到了一位程序员的邮件,他是一个老程序员,但由于一些不可控的原因,退出了编程界一段时间,但现在他想重操旧业。用他邮件中的原话:如果必须“重新”学习,在我的新的2014年,哪些技术,编程语言,模式和平台是我应该掌握的,能让我跟上最新技术趋势的。
2001年,出生于荷兰的计算机大师、 图灵奖获得者Edsger W. Dijkstra给德州大学预算委员会写信,力劝不要将计算机入门课程改为Java。不幸的是,学校最终还是用Java课程替换了Haskell。相关联的,麻省理工的计算机程序结构和分析课程(6.01)中的Scheme语言也被Python语言替换掉。
我还没有发现网上哪个地方能一目了然的查看各种可视化编程语言的样子。世界上很多面向特定专业的可视化编程语言,很多都可以试玩和使用。这些年来,我们将这些在不同领域里可以被当作可视化编程语言的语言收集到一起。
我有一个朋友,他在一家小公司工作,这家公司最近换了经理。老经理由于资深程序员的辞职且无法招到替补而被派去顶替空缺的开发角色。而新经理缺乏管理程序员的经验。事实上,他们公司的任何一个资深程序员都可以随时拍屁股走人,而且在一个星期里就能找到一个比现在高出30-40%工资的新工作。
经过了5年多的专职钉马掌生活后,我开始问自己一个问题:我要一直这样干下去吗?能不能干点儿别的?我的性格跟其他乡下那些叼着雪茄、喝着小酒的铁匠不一样,我从来没有戴过牛仔帽或骑过公牛。我渴望的是知道更多的事情,琢磨更多的事情,做更多的事情。
没有软着陆,没有愉快的结局——我们就这样失败了。这是一次漫长的四年的路程,一路高高低低。我既无比的自豪,但也无比的失望。也许会让你吃惊,这样一款成功的产品怎么会失败,但事实就是这样。尽管我们毫无争议的找到了产品/市场空间,但我们无法彻底的解决商务方面的问题。
能上瘾的还有更糟糕的东西,比如毒品,性,色情或宝石消除游戏。而我的老公却是对编程有瘾。编程对他不仅仅是一种爱好或事业——那是一种生活方式。“你真讨厌,”我说。“我觉得你编程时更享受,而不是和我在一起时
我在上大学之初就听说了自上而下开发模式和自下而上开发模式。当时我并没有在意它们的区别——因为就是一个彻头彻尾的自下而上开发的程序员。然而,随着阅历的积累,我慢慢的完全改变了我的立场。我认为,是敏捷开发和TDD让我发生了这样的变化。
年轻的程序员,由于缺少经验,常常不知道这样的事实:写代码只占一个软件出品过程中很小的一部分。借用Frederick Brooks著名的《人月神话》一书里专业的描述:它只是一个软件程序诞生的开始。
Linux用户,特别是Ubuntu或CentOS用户,基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕。但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了。
Vim的难学是出了名的,而且当之无愧。虽然内置的vimtutor教材能够教会你一些非常基本的用法,能让你知道如何编辑一个文件,但如果想像传说中的vim高手那样精通它,该怎么办呢?
Plan-9是一个很棒的、很先进的,而且完全是全新实现的Unix系统,它的目的就是要最终解决Unix最初的诺言:一切皆为文件。你听说过这套系统吗?没有?那好,下面就是为什么。
如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章。我这里搜集了一些非常有趣的终端软件,可以用来替代debian系的Linux原生终端。
我以个人的身份采访了几个顶尖的Python程序员,问他们这几个相同的问题。下面是他们的回答,希望在他们的回答中你能找到一些可以让你的开发更便捷的工具。
Perl语言专家Randal Schwartz在一篇短文里这样写: no no no.不要使用kill -9.它没有给进程留下善后的机会,在使用kill -9前,你应该先使用kill -15,