下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
论坛 >编程语言 >编程语言的选择无关阵营,关乎品味

编程语言的选择无关阵营,关乎品味

未来,现在,慢慢走发布于 2016-02-15 11:21查看:995回复:3

blob.png

ECUG最初名为Erlang China User Group,于2010年更名为Effective Cloud User Group,想了解一下名称的改变主要基于哪些考虑?这样的变化是否也代表了技术环境上,一个时代的变迁?


Erlang是一门小众语言,我们在成立ECUG的时候,国内没有几个人对它感兴趣。这门语言特色鲜明,是服务端编程实践的一面旗帜。所以ECUG最早叫Erlang China User Group,是因为我们想推广Erlang。但哪怕如此,从第一届的ECUG大会开始我们也没有限制一定必须是Erlang语言的编程实践,只要服务端开发的实践分享都可以。


2009年的ECUG大会上,我们讨论了改名的事宜,最后确定了Effective Cloud User Group这个名字,在2010年我们正式进行了调整。这个改名一方面是由于ECUG探讨Erlang的话题已经越来越少,坚持老的名字已经非常名不符实。另一方面云计算时代已经明确来临,我们希望吸引到更多人参与到服务端开发的最佳实践的分享中来。到2011年时,我们进一步扩大了ECUG的话题范畴,不再限制只是服务端开发的实践,只要是服务端领域的话题都可以,比如说服务器运维、服务器安全等等。


自成立以来,ECUG已有8年之久,从成员和活动内容的角度来说,最大的改变是什么?


变化其实是逐步发生的。最早我们主要围绕Erlang这门语言探讨服务端的编程实践,到2011年话题基本上转向以Go语言为主。这不是我的个人意志,而是时代变化的结果。到今天,Go语言已经基本上统治了云计算。


建立ECUG的初衷是什么?一路走来,ECUG为你和其他人带来了哪些收获?


最早建立ECUG的初衷是希望认识服务端开发的朋友,并且交流在服务端开发的最佳实践。一方面我常年在珠海这样一个二线城市,并且刚刚从桌面开发转型到服务端开发,我个人主观非常渴望交流,学习其他人的先进经验。另一方面也是觉得南方行业内的交流是比较少的,所以希望自己能够在这方面贡献一点力量。


直到今天,这个会议仍然是我了解其他行业技术进步的窗口之一,基本上国内各个公司的技术大拿都来过ECUG分享过他们的思想。有一些人还是常客,像刘奇、谢孟军、田琪等。也许他们中间换了公司,但和ECUG的约定一直不变。很感谢他们。


ECUG和七牛的成立有什么关系?现在,ECUG对你和整个行业来说意味着什么?


ECUG和七牛的成立没啥关系。唯一有关系的是,ECUG是云计算行业的技术大会,七牛是云计算公司。


在今天会议如此之多的背景下,我坚持ECUG以技术干货为导向,杜绝广告。一方面事先对讲师的演讲内容进行确认,另一方面如果谁玩纯广告就封杀,此后的ECUG不再接受这个人的议题。ECUG对我和整个云计算行业来说,是大家技术交流的神圣场合,通过交流促进行业共同进步。


今年的ECUG大会你为什么选择“一周一语言”这个演讲主题?ECUG Con 2015有什么特色?


嗯,你这个问题有意思,是今天采访最让我兴奋的话题了。为什么选择“一周一语言”,有几个原因吧。一方面,弥补下中国人没有自己流行语言的遗憾,我认为qnlang(不过我在内部已经改名为qlang,即Q语言)具有流行起来的基因。qlang的定位很独特:它是Go语言的伙伴语言。作为和Go语言交互最便捷的语言,在Go语言成为云计算的事实标准时,在很多场合我们都可以用qlang作为辅助语言完成对系统的灵活定制需求。例如,如果我们用Go语言开发爬虫,我们可以用qlang来定制爬虫的诸多策略,怎么做到这一点我在演讲中会给出示范。


另一方面,大部分人学习的时候太功利,不太重视学习基本功,比如编译原理。事实上我认为编译原理是非常非常重要的一门基础知识。某种程度上说可能是名字不够好,我个人更喜欢把这个领域叫做文本处理。文本处理应用范围非常广泛,想一下我们今天实际生产环境中,什么地方不需要文本处理?在我们现在很火的“大数据”领域,文本处理显然是很重要的基础。


ECUG Con 2015从议题上看,技术更加细粒度化了,很多讲师都选了一个很小的知识点来展开讲,把话题讲透彻,这是很好的进步。比如洪强宁只讲网络,我只讲文本处理,刘奇讲Raft(有趣的是Etcd作者李响讲Paxos,他们两的议题结合起来听一定很有意思)。比起很泛泛地说XX实践,这样的议题大家可以得到更多干货。


很多人都把七牛、你和Go语言紧紧地联系在了一起,曾几何时,很多人认为七牛选择Go语言是一个很大胆的决定。请问程序员应该如何选择正确的编程语言?面对一门新语言时又该如何高效地学习?


没有正确的编程语言,只有合适自己的语言。选择语言需要基于你对要解决的问题域的理解而做出抉择。当然,这事也和品味有关,不同语言实际上体现的是创始人的个性。不少程序员喜欢把语言看做阵营。我个人没有这种想法,语言说白了只是个工具。没有必要因为我选了Go语言,就觉得你没有选Go就和我是敌对。如果有适合所有领域的语言,我也不会去造qlang这个新语言了。


学习新语言的最好办法是实践。你用它写几个程序解决你实际生产环境你遇到的问题,这比任何方式都有效。我记得我第一个C语言程序是在DOS环境下模仿实现了一个doskey,这个东西挺复杂,涉及编辑器、TSR驻留这些领域知识,一个程序写下来有好几千行。这就是我自己的学习方法。


你曾经说过“我为谁提供服务的认知,比我是哪个领域的程序员(工种认知)更重要”,对于程序员来说,如何培养这种基于产品的思考方式?


有些程序员只关心技术,而不关心业务,我认为这会制约他们的发展,所以才给了这样的忠告。只关心技术的人很快就会遇到成长的天花板。关心你的客户,这个行动起来可以很简单。比如我在金山做办公软件的时候,喜欢泡WPS用户论坛,这是技术人员近距离接触客户的有效方法。这个时候技术就不只是技术,它的背后就是鲜活的人,他们有思想,有喜怒哀乐。这样你对产品的理解会深刻很多,你会理解产品设计为什么是做成这样的,而不是另一种形态。


相比于其他技术公司,哪怕是云计算公司,七牛的极客文化都是极其鲜明的,请问这种文化基因来源自哪里?你?初始创业团队?还是行业?


七牛的文化基因,可能和我、我们初始创业团队的风格有关。我希望七牛别那么功利。虽然企业都需要赚钱,但是只想赚钱的企业是很没有意思的。所以我们做企业的时候坚持了做我们自己,做我们喜欢做的事情。我个人很喜欢接触新技术,体验新技术的力量。至于这是极客还是什么,其实我也不太关心。


国内云计算行业内部的竞争现在处于什么阶段?是否可以大胆地预测一下云计算行业的未来发展方向?


中国的云计算从阶段上来说,仍然非常早期。具体说来,就是整个云计算的市场容量仍然非常非常小。云计算的未来不需要我预测,结论是非常明确的,很多人都进行了预测,大家的意见很趋同。


收藏(0)0
查看评分情况

全部评分

此主贴暂时没有点赞评分

总计:0

回复分享

版主推荐

    共有3条评论

    • IT宅男
    • mr jack
    • Mr ken
    • Mright
    • cappuccino
    • YUI
    • 课课家运营团队
    • 课课家技术团队1
    • 酸酸~甜甜
    • 选择版块:

    • 标题:

    • 内容

    • 验证码:

    • 标题:

    • 内容

    • 选择版块:

    移动帖子x

    移动到: