构建软件的软件

日期:2017-04-22 05:16:08 作者:连疸殳 阅读:

<p>复杂的专用工具通常由较简单的工具制成</p><p>机器采用动力钻机制造;软件是用代码编辑器构建的所以计算的未来部分取决于编码平台,就像电影行业的未来取决于相机技术一样在过去的五年中,一家快速发展的旧金山公司GitHub已成为一个软件开发中的主导者,很大程度上是因为它对用于“版本控制”的工具进行了微调,这是记录对一组文档所做的所有更改的过程程序非常脆弱,即使是一个小的变化 - 一个错位例如,分号可能导致它崩溃GitHub跟踪那些分号,并将它们放在哪里去年去年,GitHub的财务预测和文化影响力足以从硅谷风险投资公司Andreessen Horowitz获得数亿美元的投资以前在Twitter,Facebook和Skype上投资的资本公司(这是Andreessen Horowitz迄今为止最大的一项投资,大致重视GitHub今天,GitHub有近三百五十万用户从事近七百万个项目,并且在一个典型的工作日它增加了一万用户你可以找到几乎所有编程语言编写的项目,从常见的Web开发语言,如PHP和JavaScript,以及古老的低级语言Fortran,甚至LOLCODE,一种荒谬的编程语法,用LOLcat标题开玩笑地组装GitHub网站是围绕一个独立的版本控制软件Git构建的,它是由开发人员Linus Torvalds创建甚至在Git之前,Torvalds是一个书呆子英雄他创建了Linux,它是世界上最重要的操作系统之一它运行在比其他任何计算机操作系统更多种类的硬件上,并且它是一个主导Web服务器和超级计算机平台;它也广泛应用于无线路由器,手机,甚至TiVos等常见设备上</p><p>它是开源软件运动的皇冠上的明珠,是一个思想流派,即使是程序中最有价值的代码也可以自由共享</p><p>它可以由许多开发人员同时进行协作改进由于有如此多的程序员正在努力,构建Linux非常复杂,到2005年,Torvalds和他的团队已经决定现有的版本控制系统不够他们决定编写自己的版本</p><p>结果,在英国俚语中被侮辱之后命名为Git,比其他可用选项强大得多在其他开发系统中,通常有一个网守的层次结构,他们委托访问Git中的代码块,每个开发人员都在开发一个项目可以完全访问代码的每个部分及其历史对于项目的任何方面,最好的想法和最强大的代码可以浮出水面并获得批准,无论在何处ey起源,戏剧性地扁平化和民主化开发工作流程“为了避免所有那些愚蠢的政治问题,你必须基本上允许任何人做出改变,然后在事后根据技术优点接受它们,而不是一些预先批准过程,“Torvalds通过电子邮件告诉我,八年前发布后,Git很快被开发者采用;其高度分散的模型远比现有的版本控制系统强大“源代码管理系统,就像任何社交产品一样,非常粘,”Git项目的现任首席开发人员Junio Hamano在一封电子邮件中写道“你的下一个系统必须比目前使用的系统好十倍才能证明切换成本的合理性”随着Git采用的增长,名为Tom Preston-Werner的开发人员和少数合作者认为需要一个网站通过桌面应用程序甚至Web浏览器轻松启动新项目,复制现有项目以及运行最重要的Git功能结果GitHub于2008年推出它极大地简化了Git,这是一个固有的复杂软件,允许编码人员通过互联网轻松协作,提供当前社交网络用户所熟悉的消息和社交功能 - 例如,能够在项目中遵循特定的代码块人们可能会在Twitter上关注人们的主要区别在于GitHub上的用户共享代码,而不是照片和LOLcats GitHub上的活动发生在“存储库”之间的事务中,这些事务本质上是代码存储库的目录,可以克隆,更改,然后流畅地重新组合,因此编码人员可以协作构建和试验软件,而不会使开发过程复杂化:无论发生什么顺便说一句,Git几乎总能清理乱七八糟的东西</p><p>例如,HipHop是Facebook用来优化服务器的工具,在GitHub上有数百个克隆流通,数千名粉丝正在修补这些克隆;他们中的任何一个都可以在软件方面取得突破现在两个项目和编码人员都称之为GitHub的基地:许多软件项目现在仅存在于GitHub上,没有外部网站,招聘人员和雇主开始向开发人员询问个人资料链接,就像一个崭露头角的作家可能会提供一个链接到他或她的博客虽然GitHub大大简化和集中软件开发,但它带来了一个代价:它现在是单点故障该服务最近遭受了几次 - 达到阻碍许多开发人员完成代码更改能力的中断Torvalds一再抱怨其代码注释系统过于宽松;该网站可能正在训练整整一代编码人员留下比真正复杂的软件要求更弱的纸质路径</p><p>去年年底,GitHub停止允许用户自由托管大型非代码文件,如视频;一瞬间,所有需要核心程序代码之外的GitHub项目都必须找到另一种支持它的方法严格来说,没有什么可以将开发人员与GitHub联系起来 - Git存储库的克隆友好性使它非常便携,因此迁移来自GitHub的项目很简单但是不在GitHub上的项目会失去对大量感兴趣的GitHub用户的访问权限以及他们可能注入的有用代码贡献流,减少他们的生存机会将GitHub视为社交产品而不是简单地说,软件开发平台可能是考虑其未来的最佳方式:GitHub解决的最大问题是协作,而不是软件“现在这是关于代码的,但我们可以把决策的负担变成机会”该网站的创始人普雷斯顿 - 维尔纳去年告诉纽约时报“如果你能抓住决策过程,那将会很有用,看看谁建议了这个决策创造法律或法案的人“这看起来像是崇高的愿望,但是在5月初,初创公司RapGenius,原本是用嘻哈歌曲对歌词进行解释,宣布将其扩展为突发新闻,使用相同的文字 - 多年来一直在改进的注释平台RapGenius可能对解析复杂的法律文件有用,例如,如果说唱爱好者可以建立一个有用的法律分析平台,为什么不能编码</p><p> GitHub最具启发性的时刻仍然可能领先于它,仅仅因为软件项目并不是唯一需要高效版本控制的东西,例如,如果没有用红笔亲自坐下来,那么作家和编辑通常很难一个文件在一起,以便完全理解正在改变的内容以及为什么作家和编辑理论上可以使用GitHub在文档和文章上进行协作,而不是依赖于内联括号内的注释或笨重的修订跟踪和Microsoft Word的注释功能这已经发生了某些写作项目 - 主要是技术手册和软件文档一个非常受欢迎的GitHub项目,名为Jekyll,由Preston-Werner创建,使用该网站作为协作博客服务的支柱,与Tumblr不同,虽然已经有网站和软件包促进协作式写作 - 如MixedInk,Google Docs和MediaWiki - 它很少见各方将同时热情地参与其中一个,这就是为什么你现在正在阅读的故事反复作为电子邮件附件来回传递“这就是我们的愿景 - 让人们更容易一起工作而不是单独工作,“Preston-Werner告诉我GitHub已经为现代软件开发做了这件事它最终可能是改变我们在其他类型项目上合作方式的网站,或者,如果没有,至少使用的工具构建最终所做的任何软件 Vijith Assar是纽约的作家和软件开发人员上图:Tom Preston-Werner,GitHub的首席执行官兼联合创始人摄影: