程序语言性能比拼

程序语言性能比拼

  下面这个网页,你可以比较各种程序语言的性能:

http://shootout.alioth.debian.org/u64/index.php

这个页面,安装的是x64 Ubuntu,CPU是Intel® Q6600® 单核。这个网页支持的语言很多,什么C,C++,Java,python,PHP,Erlang,C#,Ruby,……,还有最新的G0语言。

在主页上,你可以选择一个语言。比如,我们选择Google的Go语言——Go 6g8g,然后,点击Show按钮,于是,你会看到下面这个界面:

go vs gnuc 

在这个界面上方,你可以选择两种语言,我们选择的是,上面的是Go 6g8g,而下面是的GNU C,于是下面的图表,是这两个语言各种参数和算法的比较图表。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 3.13 )
Loading...
Go语言更名Issue 9?

Go语言更名Issue 9?

Go语言出了一个Issue,这个Issue的链接在这里:http://code.google.com/p/go/issues/detail?id=9 ,这个Issue的编号是9描述是:

I have already used the name for *MY* programming language

意思是,已经有人使用了这go作为其语言的命名了。报告者叫fmccabe,他说到:

我已经从事于我的一个编程语言,而且都10年了。并且都有很多论文发表了。我非常感激你们Google如果把这个名字修改一下,因为我是不会修改我的语言的名字的!

于是,开始了回贴:

  • 1楼跟贴说,“给个链接看看”
  • fmccabe在2楼说:“我出版了本书在lulu.com上”。
  • 3楼的说,“是的,你的语言叫“Go!”,你的书在:http://www.lulu.com/content/paperback-book/lets-go/641689
  • 4楼说:“三楼你是对的,LZ的语言是‘Let’s Go!’或‘Go!’,Google的叫‘go’,根本就不同啊。”
  • LZ不同意在5楼说:“是的,我的语言叫Go!,书名叫:Let’s Go!。而这里的问题不是Google的go是否会有名,而是公平性。”

好事者从来都不少,后面的贴子可想而知了。众多网友纷纷支持LZ,让Google改名。

  • 11楼让LZ找个便宜的律师,还说Google的钱袋很深的。
  • 14楼的DailyFinance.com的一个MS记者的人也找上了。
  • 17楼建议Google改名Goo 或Foo

于是,再往后的回贴,众网友们开始纷纷帮Google的go语言改名:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (10 人打了分,平均分: 3.70 )
Loading...
Go语言源码的一个改动

Go语言源码的一个改动

2009年11月11日,光棍节,Google发布了Go语言,马上,就有网友在http://code.google.com/p/go/上找到了一个Go语言包文件操作源码/src/pkg/os/file.go文件的一个最新改动。这个改动的作者就是那个大名鼎鼎的Unix之父Ken Thompson(看看人家,都这么老了,还在写程序,佩服佩服,真是顶级程序员啊——《程序员的八个级别》),而这个改动的Log Message如下所示(把屏抓下来,以免以后某日被放到墙外或是google.com数据丢失或是Google公司倒闭)

Spell it with an “e”

spell it with an e

 

这是一个很著名的典故,要知道这个典故,你需要知道两件事,一个是Ken Thompson的经典语录,一个是Unix的系统调用。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 3.75 )
Loading...
Go 语言:Google 的新编程语言

Go 语言:Google 的新编程语言

Google 今天发布了自制的编程语言,叫做Go,官方网站如下:

主要参与者名单繁星满天:

Logo图标 (一只 Gopher, 金花鼠,作者 Renée French)
logo-153x55

为什么Google要做自己的编程语言呢?

似乎Google内部官方编程语言之战在即… C, C++, Java, Python, JavaScript, and now Go and Zimbu(by VIM 的作者)

Go programming language Tech Talk

好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.14 )
Loading...
恐怖的C++语言

恐怖的C++语言

我爱C++ Linus曾经(2007年9月)在新闻组gmane.comp.version-control.git里和一个微软的工程师(Dmitry Kakurin)争执过用C还是用C++,当时的那个微软的工程师主要是在做Git的Windows版,但他却发现Git的源码居然是C语言写的,而不是C++,于是他(Dmitry Kakurin)在Linux社区里发贴表示对Linux的不满,语言很直接:

Pure C as opposed to C++. No idea why. Please don’t talk about portability, it’s BS. (纯C写的,而不是C++,不知道为什么,请别告诉我是为了移植性,这完全是胡扯。)

Linux之父Linus Torvalds马上跟贴,在贴子中,Linus言辞很直接,直接表明C++是一个很恐怖的语言,他在贴子中说:

*YOU* are full of bullshit. C++ is a horrible language. It’s made more horrible by the fact that a lot of substandard programmers use it. (你才是完全在胡扯。C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它

Linus的这个观点我是比较同意的,我个人也在几年前的《STL String类的写时才拷贝》以及以后的一些文章中表达过C++的确并不是一个很成熟的语言,这种观点一直都围绕着我。这是因为它的学习成本实在是太高了,编译器和类背着你做了很多你不知道的事,而且,C++非常容易地出错和发生很多意想不到的问题。

当然,这篇文章并不是要继续声讨C++,也不是回顾以前的某个事件。我们这里只谈技术。昨天,我在网上看到一个邪恶的C++的示例,在这里给大家share一下,让大家看看C++这种编程语言的恐怖和邪恶的一面。下面的这个例子,比那个“#define  private  public”还更加邪恶。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (41 人打了分,平均分: 4.37 )
Loading...
Firefox插件WebMail Notifier

Firefox插件WebMail Notifier

当你的邮箱有新邮件时,WebMail Notifier此插件会自动提醒你。

支持:gmail, yahoo, hotmail, daum, naver, empas, nate等。

 
版本 1.5.3
兼容版本 Firefox: 1.5 – 3.7a1pre
已更新 2009 年 10 月 8 日
开发者 Byungwook Kang
主页 http://webmailnotifier.mozdev.org/
评分 评分 4 超过了 5 星 728 条意见
下载次数 3,239,874

查看:https://addons.mozilla.org/zh-CN/firefox/addon/4490

好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 2.25 )
Loading...
橡皮鸭程序调试法

橡皮鸭程序调试法

Rubber Duck Debugging下面,让我来为你介绍一个程序调试大法——“橡皮鸭程序调试法”,这个方法在调试界是很出众的,实施起来相当方便和简易,几乎可以随时随地地实验,几乎不需要借助任何的软件和硬件的支持,你甚至可以把你的程序打印出来,在纸面上进行调试。

那么,为什么这个方法要叫做橡皮鸭呢?因为橡皮鸭子是西方人在泡澡时最喜欢玩的一个小玩具,所以,这个东西应该家家户户都必备的。因为,这个方法由西方人发明,所以,就被取名为“橡皮鸭”了。

好了,话不多说,下面是整个调试方法的流程。

  1. 找一个橡皮鸭子。你可以去借,去偷,去抢,去买,自己制作……反正你要搞到一个橡皮鸭子。
  2. 把这个橡皮鸭子放在你跟前。标准做法是放在你的桌子上,电脑显示器边,或是键盘边,反正是你的跟前,面朝你。
  3. 然后,打开你的源代码。不管是电脑里的还是打印出来的。
  4. 对着那只橡皮鸭子,把你写下的所有代码,一行一行地,精心地,向这只橡皮鸭子解释清楚。记住,这是解释,你需要解释出你的想法,思路,观点。不然,那只能算是表述,而不是解释。
  5. 当你在向这只始终保持沉默的橡皮鸭子解释的过程中,你会发现你的想法,观点,或思路和实际的代码相偏离了,于是你也就找到了代码中的bug。
  6. 找到了BUG,一定要记得感谢一下那个橡皮鸭子哦。

什么?你觉得这个方法太“愚蠢”,太“弱智”了?是的,看上去,会这样做的人脑子好像是有点毛病。不过,我要告诉你的是,这个方法的确有效。因为,这就是“Code Review”的雏形!下面让我来给你解释一下。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (19 人打了分,平均分: 4.26 )
Loading...
别的程序员是怎么读你的简历的

别的程序员是怎么读你的简历的

下面这个图片来源国外,是一个关于程序员面试时的简历,被人事部门和程序员本身评审的角度不同的图片。当然,这是一个从国外面试的视角制作的图片,不过,可以看出,其中很多东西都是和国内是相同的。让我们通过这个图片也来了解一下自身吧。

程序员怎样阅读简历(点击看大图)

下面是我对其做的翻译,翻译水平有限,请大家指正。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (35 人打了分,平均分: 4.49 )
Loading...
给我一个序列号

给我一个序列号

下面这个链接是CodeSmith官网网站论坛上的一个贴子。http://community.codesmithtools.com/forums/p/10000/37140.aspx。在这个贴子里,某位大哥问CodeSmith要一个序列号,一个叫Blake Niemyjski的人,可能是CodeSmith这家公司的客服人说回答到,如果要序列号,需要找他们的销售人员。

而这位老哥却说,“我要的是一个被破解的序列号,我手上有很多CodeSmith 5.0版的序列号,都可以使用,而你们把软件升级到了5.1,那些序列号都无法使用了”。客服人员无奈下,只得给出了下面的序列号:

CS50P-0NLY4-1D10T-W0ULD-TRYT0-45KU5-TH15Q

当然,这个序列号并不行,而老哥没有发现这序列号中的端倪,继续问,后面,很多“热心网友”们都来帮忙,给了一些如下的序列号:

BL4K3-WH47K-1ND0F-700LI-57H1S-1DI07-4NYWY
W3LLH-4S7H3-P3NNY-DR0PP-3D4UY-37U45-5WIP3
UKINT-RYTH1-51FUH-AVAVR-Y5MAL-P3N1S
1FUH4-VN0P3-N1STH-1S1S8-3TT3R-JU57K-1DD3N

呵呵,你看出这些序列号其中的含义了吗?呵呵。下面是翻译:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 3.92 )
Loading...
把ASCII图转成图片

把ASCII图转成图片

我们都知道有很多软件帮我们把图片转成ASCII码图,这里这个工具是帮我们把ASCII图转成漂亮的图片。这个开源的软件是一个用Java写成的一个命令行的工具。对于这个工具的目的,我个人以为如下:

  • 其一,可以把别人的ASCII图转成图片,于是更好看一些。
  • 其二,你可以使用ASCII码画图,而不需要使用图片编辑器。
  • 其三,因为是命令行,所以,你完全可以以脚本或程序的方法来作图了。

这个工具软件叫ditaa,其网址是:http://ditaa.sourceforge.net/

这个小工具支持一些语法定义,可以帮你更好地产生图片,如下所示:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (11 人打了分,平均分: 3.36 )
Loading...