每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识。总体上说,我们很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。
在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。
为什么软件开发周期通常是预期的两三倍? 有国外开发者在 Quora 提了这个问题:“为什么软件开发周期通常是预期的两三倍?” 并补充问:“这是开发人员的错误? 是管理失误? 是因为做事方法不对, 或者说缺乏好的方法?还是说这就是软件开发流程的特点?”
Java的封面 这篇短文起源于我和几个程序员曾经的一次关于为什么Java不可靠的谈话,这不是批评Java,这只是一次关于程序员的嗅觉的学习案例。
长时间以来,程序员们发展出了对好(或者坏的)技术的灵敏嗅觉。我想,把对我觉得Java不靠谱的原因写下来会是件非常有意思的事情。
有些读过这篇文章的人觉得像这种方式提出一种新观点是一种有趣的尝试.其他人觉得似乎对自己不太了解的事情妄加评论会招来麻烦。所以,以防万一,我先澄清一下,我所写的这些不是针对Java的(我从来没有用过Java),而是关于程序员的嗅觉的东西(关于这方面我想过很多)。
那些争议最大的编程观点 知名问答网站StackOverflow之所以成功,合理的规则与严格执行是重要的原因,所以删帖是经常的。不过有时候执行得过严了,被删的问答不时会有惊艳之作。这不,他们的博客8月29日的文章“20个最受争议的编程观点”说的就是这样一个被删帖。此文一出,立刻在Reddit、Hacker News等各大技术新闻站上引起了热议。
写最少的代码,避免给自己找麻烦 软件开发的一个最基本的事实是:我们必须要写代码,但对于这样的一个事实的最大一个误解是:我们的工作就是写代码。作为软件程序员的最初几年,我一直被这样的思想所迷惑,写代码是一种很强的事,是一种超能力,我们喜欢这种创造东西、成就东西的感觉。然而,多年之后,我终于明白,事情不是这样的。事情的真相是:程序员要干的活是尽量让软件的代码最少。
不要误解,我指的不是像code golf那样压缩代码、节省字符——这样只会导致我们写出的代码无法阅读和维护。如果你能认识到这样的事实:我们大部分的时间都消耗在维护自己写的可怕的代码上,你就会发现,让代码最少、少给自己找麻烦,这无疑就会变成一个相当有创意的好思想。
编程语言和胖手指 水星探索项目中一段Fortran代码里的逗号被写成了点号,影响了运算的准确性,导致太空探测器无法到达更远的轨道。出现这种事情的几率有多大?一种编程语言的设计在多大程度上会影响程序正确性和导致相似的事件?最近发表在第四届International Workshop on Evaluation and Usability of Programming Languages and Tools上的一篇论文中,我展示了一些研究发现:通过往由各种不同语言编写的类似程序中随机的制造一些干扰信息,看编译器或运行系统能否发现由这些干扰引起的错误,或者最终导致了程序输出了错误的结果。
为什么C语言屹立不倒? 有些语言诞生几十年了依然是世界上最流行的语言,比如C语言。有些语言虽然号称新兴的语言却很少有人使用。在编程语言这个领域里似乎不符合长江后浪推前浪这个规律。这恐怕不止语言本身的因素,里面的缘由值得研究者好好去探索一番。