原文在此:http://en.munknex.net/2011/12/golang-goroutines-performance.html

————————–翻译分割线————————–

概述

在这篇文章里,我将尝试评估 goroutine 的性能。goroutine 是类似轻量级线程的东西。为了提供原生的多任务,它(协同 channel 一起)被内建于Go中。

文档告诉我们:

它实际上是在同一个地址空间里创建成百上千个 goroutine。

因此,这个文章的重点就是测试并明确在如此巨大的并发运行函数的情况下所能承受的性能压力上限。
Continue reading »

 

外刊IT评论今天抽风,发了很久以前的一篇博文的译文出来:《为什么我们不要.NET程序员》。本文一发,各种口水接踵而至。这篇文章实际上是《CEO Friday: Why we don’t hire .NET programmers》的译文,原文作者在发文后的两天的时间里不断的根据读者反馈对文章进行了更新和补充。但是遗憾的是外刊IT评论却未能翻译完整(不,不,你们不要指望我会翻译剩下的部分,我对此毫无兴趣。),这使得这篇很有闪光点的文章立刻变成了“孰优孰劣”的口水文章了。

看看中文翻译后的评论吧:

有一种人,自己写不出东西,就怪能写出东西的人使用的工具太先进

弱智文章

SB文章,还以为有什么高深的见解,完全是个自以为是的家伙。至多不过是了解了.net之外某一些东西,对自己完全不了解的东西大放厥词还放出优越感来了。

俺作为一名.NET程序员,鉴定结果为,“此文纯属标题党”,一笑而过~~~

我对留下这些评论的程序员感到悲哀……

我们的团队也有着大量的.NET工程师,我每天与他们共处。他们中间有聪明的、优秀的、稳重的工程师;也有躁动的、浮夸的、随意的编码人员。他们能够产生符合设计规范和要求的代码和系统;也会在不经意之间向系统引入致命 bug 而导致生产环境的崩溃。他们其实与依赖其他技术架构的程序员并无多大的不同。

Continue reading »

 

英文版本是《A Tour of Go》。我看过之后觉得这种学习体验非常棒,随即按照规则翻译了中文版本:

Go 指南

这个中文版本是部署在 GAE 上的,由于受到功夫网的影响,国内用户无法正常访问。所以,大家八仙过海吧。

(人还在这里,心已经出去了……)

由于许多原因,可能有的朋友无法一窥墙外之物。也可以通过源码将指南安装到本地使用。指南中有详细的说明,转发到这里,诸位自便吧。代码我托管在了 http://bitbucket.org/mikespook/go-tour-zh

Continue reading »

 

我从来都不是 SOAP 的拥护着。甚至,我对 xml 都会有一种天生的恐惧。别问我为啥,我也不知道。性情如此吧。
这个故事是我看过的最搞笑,也最命中 SOAP 的要害的段子。看完之后,我突然明白我为啥不那么喜欢 SOAP、WSDL、UDDI之类的了。

翻译至此,大家一起乐乐。

原文在此:http://harmful.cat-v.org/software/xml/soap/simple

———-翻译分割线———-

S意味着Simple

Pete Lacey 编撰

在 Burton 团体的应用平台服务组内,支持 REST 的人和支持 SOAP 的人已经进行了很久的论战。在大多数情况下这只是外部论战的一个缩影。在最近的一次交锋中,当讨论到 SOAP 和 web 服务的复杂性时,SOAP 的一方这样说到“在之前的 WS 情形下,SOAP 确实是简单的。这也就是 S 所代表的东西。”

那么现在是历史课时间。这是 2000 年,一个倍受折磨的开发者遇到了一个问题……

Continue reading »

 

前两天在某 golang 的 QQ 群里,有人对 channel 批判了一番。当时我就很想送他一副图,两句话。

When in Rome, do as the Romans do.
When in Golang, do as the Gophers do.

这本是为了参加 ECUG 2011 Con. 的幻灯片里制作的一副图。
自己感觉很满意。能体现使用 golang 的方法的核心思想。

分享出来,大家开心一下吧。

 

原文来自:http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/

Jobs 和 dmr 老爹前后离开,让很多人不能不将其放在一起谈论。无论如何,他们都是伟大的人。有的时候在很短的时间里,这个世界同时失去两个伟大的人,是一件很难言语的事情。

“If I have seen further it is only by standing on the shoulders of giants.”- Isaac Newton.

仅以此向 dmr 老爹致敬。

———————翻译分割线———————

Dennis Ritchie:Steve Jobs 的巨人肩膀

Cade Metz撰写 2011十月13日 7:14 pm

对 Dennis Ritchie 的悼念完全不能同 Steve Jobs 去世后在 Web 上纷飞的如潮水般的赞美相提并论。但是他们确实如此。

甚至更夸张一些。

“当 Steve Jobs 上周去世后,产生了声势浩大的哀悼活动,而这是另人感动和恰当的。虽然 Dennis 有着更大的成就,但是公众甚至不知道他是谁。”另一个程序界的传奇,现在是一名 Google 人,在著名的贝尔实验室工作的20年里同 Ritchie 每日穿过同一个门廊的 Rob Pike 这样说到。
Continue reading »

 

在 Google Plus 上看到这个消息,淡淡的,有一些悲伤。上帝难道要学习C语言,并将天堂的系统换成UNIX的了么?

本想写点什么纪念一下,但是突然觉得对于这位神来说任何文字都显得苍白无力。

虽然他说“I am not now, nor have I ever been, a member of the demigodic party.”但真的神终究是真的神。

R.I.P. dmr! We will miss you, Dennis Ritchie.

 

golang 本身在代码的 misc/vim 中提供了相应脚本,用来集成 golang 的 vim 环境。而第三方项目 gocode 则更是一个强大的工具。我在《gocode——VIM 和 Emacs 的 golang 代码自动补全》中已经介绍过了。

这两个项目都很活跃,而社区活跃带来的最大麻烦就是频繁更新。为了能方便的升级 vim 环境的 golang 脚本,所以写了这个 shell。

可以 step by step 的协助集成 golang 相关脚本到 vim 中。

下载地址:https://bitbucket.org/mikespook/learning_go_chinese/downloads/vim.sh

虽然脚本会检测相关环境变量和依赖程序,不过还是最好提前设置好,免得麻烦。当然也可以将脚本到某个目录,让脚本自动下载 go 代码和 gocode 代码。

现在唯一没在这个脚本中集成的就是环境变量的设置和 .vimrc 中关于 syntax 之类的通用设置的开启。这些内容,DIY吧。

 

第一次知道反射的时候还是许多年前在学校里玩 C# 的时候。那时总是弄不清楚这个复杂的玩意能有什么实际用途……然后发现 Java 有这个,后来发现 PHP 也有了,再后来 Objective-C、Python 什么的也都有……甚至连 Delphi 也有 TRttiContext……反射无处不在!!!

Go 作为一个集大成的现代系统级语言,当然也需要有,必须的!

大牛 Rob Pike 的这篇文章相对全面的介绍了 Go 语言中的反射的机制已经使用。觉得值得研读,于是翻译于此。

———-翻译分割线———-

反射的规则

在运行时反射是程序检查其所拥有的结构,尤其是类型的一种能力;这是元编程的一种形式。它同时也是造成混淆的重要来源。

在这篇文章中将试图明确解释在 Go 中的反射是如何工作的。每个语言的反射模型都不同(同时许多语言根本不支持反射)。不过这篇文章是关于 Go 的,因此接下来的内容“反射”这一词表示“在 Go 中的反射”。
Continue reading »

 

鱼哥(https://twitter.com/#!/smallfishxy)上个月勒令我要完成 0.4 版的翻译。之前公司重组的时候,没顾上看英文版本的更新,结果这老外不声不响的做了如此之多的改动……

于是只好人工 diff,一条一条的对比 commit 内容。

总算是跟进到了 0.4 这个 tag。

发布一个可看的中文版吧:http://www.mikespook.com/learning-go/ (20110904)

未校对,未调整,未优化。你们懂的!

© 2011 Some reminiscences, some memories Suffusion theme by Sayontan Sinha