标签 Opensource 下的文章

TB一周萃选[第4期]

本文是首发于个人微信公众号的文章“TB一周萃选[第4期]”的归档。

img{512x368}

孩子,我要求你读书用功,不是因为我要你跟别人比成绩,而是因为,我希望你将来会拥有选择的权利,选择有意义、有时间的工作,而不是被迫谋生。当你的工作在你心中有意义,你就有成就感。当你的工作给你时间,不剥夺你的生活,你就有尊严。成就感和尊严,给你快乐。——龙应台 《亲爱的安德烈》

这两天中原大地的一场大雪正式宣告了深冬的到来。小寒节气已过,我们即将经历“三九天”的严寒。不过在这种寒冷的天气下,有一群人却不以为然,他们仍然绽放着天真无邪的笑脸,那就是低年级的孩子们,因为寒假来了

寒假意味着孩子们的阶段性“解脱”,因为中国孩子的学习是很辛苦的,而且这种“辛苦程度”丝毫没有减弱的趋势。就在刚才开车回家的路上还碰到一辆高中放学的校车,此时的时间已经指向了晚上20:30。这勾起了我高中时代的回忆,只不过那时我没有校车坐,而是自己骑车披星戴月地上下学。现在的我作为一名家长或多或少还是了解一些小学教育的实际情况的。就拿我家闺女来说吧,(市重点)小学二年级学生,平时还好些,一到期末复习阶段(一般提前一个月课程就学完了),几乎每天都在“刷题”,有时一天能刷五六张“大卷纸”。多么美好的校园童年时光,就在这“题海”中消耗了!

不得不承认,近三十年来,中国教育在硬件设施、教育普及程度是大幅提升了,但教育理念和方式方法依旧落后,甚至原地踏步。我的一种赶脚:中国现在不缺顶尖科学家、不缺顶尖工程师,不缺顶尖的工匠,唯独缺少的是顶尖的、能够影响社会、能够影响领导层决策的教育大家。

寒假即将开始,希望像我闺女一样的众多小朋友们能在这个寒假中开开心心地做一些自己想做的事情。

img{512x368}

一、一周文章精粹

1. C语言当选2017 TIBOE年度编程语言

时间飞逝!大脑中还满满是去年Go语言当选TIBOE年度编程语言的情景。在刚刚公布的2017年TIBOE年度编程语言中,老当益壮的C语言战胜了新秀Kotlin当选年度语言。C语言的当选,一方面反映了其他主流编程语言在2016年的表现不是很给力,另外一方面也说明了快速发展的制造行业、智能机器行业中,C语言的应用十分广泛。

img{512x368}

2. The Why of Go

Travis CI的Infrastructure工程师Carmen Andoh 从编程语言发展演化的角度讲述了Go的诞生的来龙去脉、Go的典型特性(并发、GC等)的设计考量及与其他主流语言的对比,137页的slides,内容很丰富。

原文链接:“The Why of Go”

3. Go 1.10解读

这是Gopher Academy BlogAdvent 2017系列的倒数第二篇文章,由gopherconeu和LondonGophers的联合发起人Florin Pățan(dlsniper)撰文对即将发布的Go 1.10的变化做了详尽说明,有些类似Go 1.10 release notes,但又有不同。

原文链接:“Go 1.10″

4. 使用istio治理微服务入门

做了一年多微服务开发,感受到了微服务的好,也困惑于微服务治理之痛。Service Mesh概念的出现,尤其是istio项目的发布让我眼前一亮。迎着2018年第一缕阳光,我亲自动手验证了如何使用istio治理微服务,虽说还不成熟,但未来可期。

原文链接:“使用istio治理微服务入门”

img{512x368}

5. 2018,关于区块链的18个预测

2017年,比特币价格像坐上了火箭,年底冲破20000美元大关。这让比特币背后的技术-区块链再次成为人们关注的焦点。国外专业人士提出了关于区块链在2018的18个预测,建议大家不妨看看,不要失去下一个风口哦!

原文链接:“18 Blockchain Predictions for 2018”

img{512x368}

6. Kubernetes入门教程

这是由一位Google Cloud Platform的员工编写的Kubernetes入门教程!

原文链接:“Kubernetes 101: Pods, Nodes, Containers, and Clusters”

img{512x368}

二、一周资料分享

1. Conduit官方文档中文版

在istio项目发布之后,service mesh概念的提出者、Buoyant公司的William Morgan在Kubecon 2017 austin大会上宣布发布Conduit项目。Conduit是Buoyant公司继linkerd之后的第二代专门面向Kubernetes的超轻量Service Mesh开源项目,它的控制平台由Go实现,数据平面则由Rust实现。这也是buoyant公司在service mesh针对istio项目的反制措施。servicemesh中文社区对conduit文档做了翻译。

资料分享链接:“Conduit官方文档中文版”

三、一周工具推荐

1. Android上运行linux环境的神器:Termux

Termux是一个Android terminal emulator,可以像那些terminal工具一样,提供基本的shell操作命令;除此之外它还可以提供一套模拟的Linux环境,你可以在无需root、无需root、无需root的情况下,像在PC linux环境下一样进行各种Linux操作,包括使用apt工具进行安装包管理、定制shell、访问网络、编写源码、编译和运行程序,甚至将手机作为反向代理、负载均衡服务器或是Web服务器,又或是做一些羞羞的hack行为等。

工具链接:Termux

img{512x368}

四、一周图书推荐

1. 21本关于开源的必读书单

2017岁尾,Linux Foundation上发表了一篇博客,给出了一份开源项目开发者、爱好者、企业开源程序负责人必读的书单。这些书涵盖开源项目开发、组织、工具使用、开源项目使用、社区维护、商业模式等诸多领域。

书单链接:“The Essential Open Source Reading List: 21 Must-Read Books”


我的联系方式:

微博:http://weibo.com/bigwhite20xx
微信公众号:iamtonybai
博客:tonybai.com
github: https://github.com/bigwhite

微信赞赏:
img{512x368}

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

Go语言:成长的十年

Go语言之父,Google大神Rob Pike代表Go语言的另外两位缔造者Robert GriesemerKen Thompson在自己的博客上发表了一篇名为《Go: Ten years and climbing》的文章,用以纪念Go语言从最初的设计idea起到目前的十年发展。笔者读完后,也是深有感触,因此在这里粗略翻译一下全文,希望能有更多的程序员加入到Gopher行列中来。

译文全文如下:

img{512x368}
Drawing Copyright ©2017 Renee French

本周是创建Go语言十周年的纪念日。

记得第一次关于这门语言设计的讨论是在2007年9月20日,一个周四的下午。进而在第二天的下午两点,我、Robert Griesemer以及Ken Thompson在谷歌山景城总部43#楼的一间名为Yaounde的会议室里又组织进行了一场有关这门语言设计的会议。这门语言的名字诞生于9月25日,在第一封有关语言设计的mail中可以看到一些关于命名的设计考量:

    Subject: Re: prog lang discussion
    From: Rob 'Commander' Pike
    Date: Tue, Sep 25, 2007 at 3:12 PM
    To: Robert Griesemer, Ken Thompson

    i had a couple of thoughts on the drive home.

    1. name

    'go'. you can invent reasons for this name but it has nice properties.
    it's short, easy to type. tools: goc, gol, goa. if there's an interactive
    debugger/interpreter it could just be called 'go'. the suffix is .go
    ...

(将语言命名为Go这事儿值得一提;“golang”来自于这门语言的web站点地址(因为go.com当时已经是迪斯尼的一个web站点了),但却不是语言的恰当名字。)

Go项目将2009年11月10日,即Go项目正式开源的那天作为其官方生日。最初Go项目托管在code.google.com上,几年后迁移至GitHub。不过,现在我们要回到最初的语言概念构建阶段,即那之前的两年,这可以让我们做更进一步地回顾,以更久远的视角,见证一些语言早期的历史事件。

Go开发过程中的第一个惊喜是收到下面这封mail信息:

    Subject: A gcc frontend for Go
    From: Ian Lance Taylor
    Date: Sat, Jun 7, 2008 at 7:06 PM
    To: Robert Griesemer, Rob Pike, Ken Thompson

    One of my office-mates pointed me at http://.../go_lang.html .  It
    seems like an interesting language, and I threw together a gcc
    frontend for it.  It's missing a lot of features, of course, but it
    does compile the prime sieve code on the web page.

Ian Lance Taylor的加入以及第二个编译器实现(gccgo)在带来震惊的同时,也伴随着喜悦。这对Go项目来说不仅仅是鼓励,更是一种对可行性的证明。有了语言的第二个实现对确定语言规范和标准库的过程是至关重要的,同时也有助于Go保证其高可移植性的承诺

虽然Ian的办公室离我们不远,但在看到这封mail之前我们从未谋面。不过,从那之后,Ian Lance Taylor便成为了Go语言及工具设计和实现的核心人物。

Russ Cox也是在2008年加入到刚成立不久的Go语言开发团队的。随着他的加入,他的一些天赋也随即在语言设计和实现中展现出来。Russ发现Go method的通用性意味着一个函数也可以拥有自己的方法,这直接导致了http.HandlerFunc的出现,这是一个我们所有人都未曾想到的结果。Russ还在当时设计的基础上提出了一些更泛化的想法,比如io.Readerio.Writer接口,奠定了所有I/O库的整体结构。

Jini Kim是我们最初的产品经理,他招来了安全专家Adam Langley来帮助我们将Go推向Google外面的世界。Adam为我们做了许多不为外人所知的事情,包括创建最初golang.org站点的web页面以及build dashboard。不过他最大的贡献当然要属cryptographic库了。起先,对于我们中的一部分人来说,这个库无论是规模还是复杂度,和其他库比起来都不成比例。但是就是这个库在后期成为了很多重要的网络和安全软件的基础,并且成为了Go语言开发历史的关键组成部分。像Cloudflare这样的网络基础设施提供商就重度依赖Adam在Go项目中的工作,Internet也因此变得更好。因此,我们由衷感谢他的工作。

事实上,许多公司在早期使用Go进行开发,尤其是初创公司。其中一些公司成为了云计算的巨头,其中就有一家这样的公司,它现在叫Docker。这家公司使用Go语言,并催化出计算领域的容器行业,进而导致了像Kubernetes这样的项目出现。今天我们可以说Go是容器语言,这是另一个我们完全没有预料到的结果。

不过,Go语言在云计算领域起到作用更大。2015年3月,Donnie Berkholz在为RedMonk撰写的一篇文章中宣称:Go是“云计算基础设施新兴语言”。几乎与此同时,Apcera的Derek Collison说:Go已经是云计算语言了。在那个时候,这也许还不是事实。但Berkholz所使用的“新兴”一词却恰如其分的表明了Go在当时的地位。

今天,Go已经成为云计算语言。想象一下:一个只有10岁的年轻编程语言已经成为这样一个规模庞大且不断发展的行业的主导者,这样的成功以前只是存在于在想象中。如果你觉得“主导”这个词太过强势的话,让我们来看看中国互联网行业。一段时间以来,Go在中国地区大量使用的数据一度让我们误认为Google趋势图出现了某些错误,但是凡是去过中国,参加过中国区Go语言大会的人都可以证实:Google趋势图的数据是真的,Go在中国的使用非常火爆!

简而言之,Go语言的十年发展为我们带来了许多里程碑。 最令人惊讶的是我们现在的位置:保守估计表明至少有50万Go程序员。 当前面那封为Go命名的邮件发送时,憧憬能有有五十万gopher的想法听起来会感觉很荒唐。 但就在此时此刻这里,我们不仅有了50w gopher,并且数量还在持续增长。

说到gophers,很高兴看到来自Renee French想法的吉祥物Go Gopher(地鼠),不仅成为了一个非常受人喜爱的作品,而且也是世界各地Go程序员的象征。许多各个地区顶级的Go大会都被称为GopherCons,因为他们聚集了来自世界各地的gophers。

Gopher大会正在迅速发展。第一次大会的举办只不过是三年前的事情,但今天在全世界各地有很多这样的Go大会。并且还有无数小的本地“聚会(meetups)”。在任何某一天,世界上某个地方都会有不止一个gopher群体在进行有关Go的分享。

回顾过去十年的Go设计和开发,Go社区的发展是惊人的。会议和聚会的数量、长长的且不断增加的Go项目贡献者名单、大量用Go实现的开放源代码存储库、使用Go的公司数量等等,细思恐(吃惊)极!

对于我们三个人,Robert, Rob和Ken,当初只是想让我们的编程生活更轻松一些,而如今,我们难以置信地、欣慰地看到我们的工作已经开始起作用了。

未来十年会带来什么呢?

- Rob Pike, with Robert Griesemer and Ken Thompson


微博:@tonybai_cn
微信公众号:iamtonybai
github.com: https://github.com/bigwhite

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats