0
本文作者: 三川 | 2017-01-20 16:34 |
“No one is omniscient and that's ok. ”
这句让人倍感温馨的话,意为“没有人是全能的,这很 ok”。每当你遇到不知如何去做的事情,怎么办?你会谷歌、知乎、Quora、或者百度一下怎么做。但你也许会好奇,有没有更简单的方法来找到你想要的答案?
据说在开发者江湖,百度一下的是小白,有问题找谷歌的是大多数,会去在线数据库、码农社区找答案的一定是老司机。
2016 年,搜索引擎开始在机器学习领域发力——承诺帮助开发者搜索 syntax(语法)。其中,必应搜索(Bing)与码农社区 HackerRank 合作,帮助开发者更快找到代码问题的答案。语法库 SyntaxDB 更是宣称要成为码农们的搜索引擎——取代谷歌成为世界最快速的编程问题参考来源。当然,这并不意味着遇到问题的程序员们不会冲向 Stack Overflow 或者其他开发者社区;但这预示着编程问题的搜索正在变得更轻松、便捷。
绝望呼救的人
码农世界的明星、微软 IT 工程师、媒体人 Scott Hanselman 曾经遇到过一个很有意思的问题——
“我到底是一个(优秀的)开发者,还是只是个擅长用谷歌的人?”
这个问题没有答案。但提问者的解释是:“走出自己的舒适地带(comfort zone)会使我们成长”。意思是当我们处理原本不知道如何去做的任务,以至于不得不用谷歌、去在线社区寻找答案时,会获得新的知识与技能,提高职业水平。
但在宣布该平台与必应的合作之时,雷锋网获知,HackerRank 的CEO 、联合创始人Vivek Ravisankar 发表了他的观点:当你遇到一个不确定该如何处理的难题,搜索解决方案是“今天的程序员所面临的主要生产力陷阱之一”。他进一步解释:
“如果你想要改进某个算法、或者学习新算法,你用搜索引擎搜索,然后考虑该点击哪一个蓝色链接。之后,你需要把所有搜到的东西移到你的文本编辑器里面,你不停尝试、不断遇到错误,直到你找到合适的解决方案。”
Vivek Ravisankar (中)
“SyntaxDB 为经常使用谷歌搜索 syntax 的人而设计,它的目标是成为世界最快的编程参考来源。”
SyntaxDB 由 Anthony Nguyen 创立,当时,他还没有进入 Shopify 成为软件工程师,正在女王大学(Queen’s University)学习计算机工程和经济学课程。该网站支持九种语言:Java, JavaScript, C, C++, Swift, Go, Ruby 和 Python,并提供 Slack, DuckDuckGo 和 Visual Studio Code 的整合。
SyntaxDB 网页 UI 简洁,使用较简单。当用户键入语言名称,或是某个概念,SyntaxDB 会给出相关答案。搜索结果按照最好的答案排序。当用户点击某个概念的链接,其定义、syntax、相关注解以及案例会展示出来。
与 HackerRank 的联姻后的必应
对于这桩合作,Vivek Ravisankar 在博客里写道:
IT 工程师们通常利用搜索引擎,来搜寻诸如 Stackoverflow、Stackexchange 等网站或各个博客中的答案。这带来学习编程语言、玩代码的新方式。“但现在,你有了一个更为顺畅的新选择——它不仅能‘吐出’你需要的代码答案,还能实时编辑、摆弄代码。这不需要任何 IDE 安装,能节省你以往浪费在搜索页面和代码编辑器之间来回切换的时间。现在,代码在必应搜索引擎的实时编辑器运行。
必应“UX 特征与分享工具部”工程负责人 Marcelo De Barros 解释道:
“除了学习在某个语言中特定算法、代码是如何编写的;用户们还能检查,同样的方案是如何在其他编程语言中实现的。这为编程语言们提供了罗塞塔石碑般的模型 ”
雷锋网注:这是极大的赞扬(吹嘘)。罗塞塔石碑是同时刻有希腊文字、古埃及文字和埃及通俗文字的石碑,是历史学家破译古埃及文字几乎唯一的信息来源。把必应与 HackerRank 的合作成果与其相提并论,表示微软认为它为不同编程语言之间的理解与转换,打开了新窗口。
在项目描述中,Anthony Nguyen 提供了一个链接,导向了一个被超过 500 个 Reddit 用户回答的问题:
码农老司机使用谷歌搜索的频率有多大?(How Much Does an Experienced Programmer Use Google?)
这个问题也没有标准答案。雷锋网看到,一个 Reddit 用户回答:“如果你每天用超过四种语言写代码、修补漏洞,一些小细节会不断忘掉。”另一个用户解释:“学会怎么用谷歌是工作很重要的一部分”。还有一名为 devsquid 的用户解释说:“当你的编程知识增长,你的问题变得更具一般性。”
名叫 BlueRenner 的用户表示,使用谷歌是最高效的方法。把代码放入文本编辑器是编程中最不重要的一步。知道放什么、放在哪里,才是最重要的工作环节。一名有 20 年工龄的老码农表示,没了谷歌开发者要怎么活?没人能把所有文件都记住。
最后,署名为 gigitrix 的用户做了个很精辟的比喻:“谷歌是我大脑的 SSD,而大脑的 RAM 更适合存储问题空间,而不是 API 文件和语言细节。”
via jaxenter
相关文章:
AIR 023 | 从搜索引擎到行动引擎,前谷歌科学家如何打造智能搜索
雷峰网版权文章,未经授权禁止转载。详情见转载须知。