以太坊年度开发者大会DevCon 5刚刚在日本大阪落下帷幕,大会对以太坊的未来发展、DeFi建设、交易与流通等话题展开了讨论。根据Coindesk统计,本届大会吸引了大约3000人。DevCon是一个面向各类建设者的会议,比如开发者、研究人员、客户端实施者、基础设施运营商、社区组织者等。
实际上,DevCon相当于以太坊技术社区一年一度的线下聚会。区块链的发展一方面需要开发者不断完成技术攻坚,使得新技术足够成熟可以应用于商业场景或社会治理,另一方面还需要有更多的开发者加入这个行业,以量的积累促进质变。在这个过程中,技术社区,尤其是在线技术社区一直发挥着至关重要的作用。 技术社区为开发者提供了丰富的学习资料,还提供了一个互相交流的平台,甚至还提供职业发展机会。PANews数据新闻专栏PAData梳理了国内外知名的技术社区,展现当下现状,以及开发者在关心哪些问题。
Reddit人气旺 Github区块链代码库超5万
PAData选取了5个知名的技术社区,分别是Github、Reddit、Stack Overflow、CSDN、掘金,通过内容数量和网站流量来观察这些社区的活跃度,理论上网站总流量越大,分流到区块链板块的流量也会越大,这个技术社区就越活跃。
人气最旺的是面向大众的技术社区Reddit,这是一个类似于百度贴吧的在线社区,用户可以发布帖子、回帖交流、投票。根据SimilarWeb的统计,9月Reddit的UV(独立访客)大约为12.97亿,PV(页面访问量)大约为8.63亿,全球流量排名第19位。在Reddit首页输入关键词”blockchain”显示了266条帖子,但实际上在Reddit上关于区块链的帖子要多的多。现在不少区块链项目都在Reddit上有自己的社区,比如以太坊在Reddit上已经拥有超过40万粉丝。
Github是开源代码库,也是知名的技术社区之一,SimilarWeb显示其全球流量排名为第78位,9月UV大约为3.12亿,PV大约为7.98亿,PV大约是UV的2倍多意味着Github的用户黏性在技术社区中是相对较高的。截至10月10日,在Github中搜索关键词”blockchain”可以搜索得到相关代码库55190个,相关用户12156人。
其中被分叉(fork)最多的项目是以太坊的代码库ethereum/go-ethereum,共被分叉8800次,同时这也是最受开发者欢迎的代码库,有2.44万名开发者点了喜欢。但最受程序员欢迎的却不是技术大牛,而是一个“专业区块链解说员”,名叫Peter Wang,共有3700个粉丝。
Stack Overflow是世界上最受程序员欢迎的技术社区,同时也是最大的专业技术社区。这个社区的内容质量都比较高,随着用户量增多,现在已经演变成一个综合性的社区,其主要形式是问答,全球流量排名193位。如果在首页搜索关键词”blockchain”可以看到500条问答帖子,但是不完全搜索,实际关于区块链的讨论要比这个数字更多。这些问答帖子的平均回复量约为1.24,也就是每一个问题,基本都会获得1条答复。
CSDN是国内最大的技术社区,以博客为主要版块,基础内容丰富。SimilarWeb显示的全球流量排名为358位,9月UV大约为2.33亿。目前用户已经在上面发布了5.8万篇“区块链”相关的博文,但关于“区块链”的问答帖子只有79条,这些帖子的平均回复量约为1.46,和Stack Overflow差不多,甚至还略高一点点。
除了CSDN以外,国内的技术社区大多比较小,比如掘金,全球流量排名只有5072位,9月UV大约为1300万,关于“区块链”的问答帖子只有860条。
国内技术社区流行“代码拿来主义”
Babel Labs负责人唐雪岩是一个混迹于各大技术社区的资深开发者,他向PAData表示各大技术论坛虽然各有不同的侧重,但总体而言技术社区都有一些典型的特点,“这些技术社区里的内容基本上都是实践性的技术性的,学术类的比较少,有些论坛还会带源码分析。”
PAData分析了国外最大的技术社区Stack Overflow和国内最大的技术社区CSDN中关于区块链的内容,以CSDN以关键词“区块链”搜索得到的300篇博客标题和Stack Overflow以关键词”blockchain”搜索得到的500条问题的全部标签为分析对象,经过词频统计后可以发现除了搜索关键词以外,诸如“技术”、“开发”、“学习”、“应用”、“教程”、“入门”、“node.js”、“azure”、“hyperledger-fabric”、“ethereum”都是出现频次很高的词,这也印证了技术社区的这一共性。
但是以唐雪岩的切身体会来看,他认为国内外技术社区的氛围是很不一样的,“国内的技术社区里‘拿来主义’是比较盛行的,大家都看到一篇帖子不会去说什么,不会过多的交流,更多的就是去看,然后把这个帖子里的内容拿走。国外的技术社区交流比较多,大家会在里面问问题,然后讨论这个问题为什么能解出来,为什么解不出来,问题会偏引导性一点。”
在CSDN上确实能看到一些求源码,求大佬解答的内容,比如“区块链多币种钱包系统开发app源码”、“求大佬帮助一下,安装hyperledger fabric的时候遇到的……”。
这种技术社区氛围的中西方差异可能与背后深层的行业分工相关,“中国的程序员既要负责程序设计,又要负责写代码,但是在国外,尤其是日本,程序设计、写代码和产品经理是独立的三个人,假如你是做程序设计的,不需要写代码自然不会去社区里问代码的问题。”这种分工的差异也使得中国程序员在技术实践上更好,而国外的程序员可能在算法和技术研究上更好。 “大家可能会更倾向于国外的一些社区,但实际上和国内外的差别不大。”唐雪岩认为由于语言的限制,国内的技术社区更适合中国开发者入门。
“语言一定是一个大问题,英语不是我们的母语,即使是一个英语水平非常高的程序员,但他的词语搭配、用词准确性、句法准确都完全无法满足使用搜索引擎的需要的,但这些修辞学技能对搜索到需要的内容至关重要,搜不到想要的内容是因为不会搜索,而不是网上没这个内容。”
技术社区的讨论主题有一定的滞后性
PAData分析了CSDN上79条“区块链”相关的问答帖子标题和Stack Overflow上500条”blochchain”相关的问答帖子标题后发现,国内外开发者逛技术论坛的主要动机都是出于实操的需求。
除了搜索关键词以外,问题中的高频词主要有“问题”、“合约”、“报错”、“调用”、“部署”、“大神”、“大佬”、“How”、“Error”、“What”、“js”等,也就是开发者大多数在部署或运行代码遇到问题时才会去社区里寻找答案。
从这一方面看,虽然现在不少项目都公布了详细的开发者文档,但很少在社区中发布一些报错后的操作文档,而这恰恰是开发者需要了解的内容。
这里还有一点值得注意的是,国内外的开发者都很关注Linux基金会主导的联盟链项目hyperledger,其中fabric尤其受到开发者欢迎。唐雪岩认为这主要是受到监管风险的影响,“目前政策环境对于加密货币并不是十分透明,所以很多大公司在使用区块链技术时也都是用超级账本。”
如果将时间因素也作为考察主题的影响因素之一,那么可以发现国内外的技术社区中讨论的主题都有一定的技术滞后性。PAData将CSDN以关键词“区块链”搜索得到的300篇博客标题和Stack Overflow以关键词”blockchain”搜索得到的500条问题的全部标签为分析对象来观察这种滞后性。
在技术社区里,登陆技术社区的主要动机之一是开发者的实操需要,但实操往往是滞后技术前沿的,所以社区里讨论的主题也通常不是技术前沿内容,比如现在区块链领域比较前沿的“分片/cross-shard”、“跨链/cross-chain”、“零知识证明/Zero—Knowledge Proof”等都没有出现在高频词列表中。总体上,“开发”、“应用”、“技术”、“学习”、“平台”、“hyperledger-fabric”、“C#”、“ethereum”、“node.js”等始终都是开发者关注的重点。 虽然总体上都有一定的滞后性,但技术社区中关注的内容仍然体现出一些细微的差别,比如国内的开发者最近明显更关注“支付”、“数字钱包”、“安全”、“游戏”方面的内容,国外的开发者开始关注“transaction”,另外对于“go”和“solidity”的关注明显高于以往。