Github往北极都运了些啥?
大数据文摘出品
编译:肉包
还记得上个月GitHub把众多程序员的代码打包运往北极吗?最近,Github更新了北极代码库的技术树文件,这个技术树是指什么?又都包含哪些部分呢?
带着这些疑问来和文摘菌一起看看吧~
介绍:技术树指南
我们精选了一些作品,下面的内容,我们称之为“技术树”,旨在描述当今世界如何制造和使用软件,概述计算机如何工作,以及制造和使用计算机所需的基础技术。GitHub档案计划的目的是为后代保存开源软件。这意味着也要保存开源软件运行的其他技术的知识,以及对使这些软件诞生的开源运动的描述。
除了这些技术文件,还囊括了一些艺术、文化和历史作品,以帮助描述创建这个档案的整体文化背景,以及一系列的字典,以帮助翻译成世界上最广泛的几种其他语言。
这个技术树的初始版本将几乎完全由先前存在的作品的副本组成,其中没有任何作品是为未来的未知读者而写的。因此,与其说它是一份指南,不如说是一份资源的集合,我们希望这些资源在历史上是有趣和/或有用的。我们试图在抽象/理论和具体/实践工作之间取得平衡,并至少提供现代软件工程所依赖的整个技术栈的概述。
请注意,本文件目前是我们可能希望列入的作品的一个松散的“愿望清单”,我们公布该清单的目的是为了进一步的征求建议和意见,而不是最终确定的选定作品登记册。还要注意的是,将作品以人类可读的形式复制到缩微胶卷上的前景,会导致潜在的版权问题,同时也意味着获得有关作品的可复制数字版本的实际考虑。某些出版商(Packt、O'Reilly、Springer和Wiley)已经表示他们很乐意与我们合作,而大多数其他出版商和版权持有者的情况仍未确定。
拟议的技术树大致分为以下16个部分:
1. 计算机和互联网基础:计算机是如何工作的,以及它们如何被连接在一起,成为一个单一的行星网络。
2. 算法和数据结构:以高效的方式解决常见类别问题的过程、规则和整理数据的方法。打个比方,算法是软件程序的中枢,数据结构是存储。
3. 编译器,汇编器和操作系统:写好的源代码如何成为导致计算机内部电信号以受控方式变化的机器代码;操作系统的理论,是支持计算机基本功能的软件,并提供所有其他软件最终调用的基本的、底层的功能。
4. 编程语言:详细介绍世界上一些最流行、最广泛使用的编程语言。虽然从根本上说,任何程序都可以用任何语言编写,但某些语言在特定的任务中表现的更好或更差。
5. 网络和互连:计算机如何通过物理和无线信号在更大的网络中相互连接。因特网,世界上最大的互连网络,它连接着地球上大多数的计算机。
6. 现代软件开发:在保证质量的前提下,持续处理监测和通信的大规模软件项目、工具及服务。
7. 现代软件应用:深入描述各种应用,如网络开发(网络实质上是互联网中用于显示输出和接收人类输入的部分);科学研究和分析;图像处理;通过神经网络进行模式识别和生成;分布式计算机软件;加密货币,可用作无信任的分散软件的平台;以及量子计算的新领域。
8. 硬件架构:计算机硬件的概念、结构和布局。硬件指的是物理电子元件;硬件架构指的是如何将这些元件结构化并连接起来,以便运行软件;而软件最终会演变成物理元件内的电传导模式。
9. 硬件开发:如何从电子元件集合中构建简单的计算机,无人机,机器人和数码相机的技术说明。
10. 电子元件,晶体管,半导体制造:那些早于计算机的电子元件以及各种晶体管,制造计算机的元件,以及制造大规模互连晶体管的技术和过程的概述。
11. 电力、无线电和其他工业技术:计算机前的基本技术,包括产生可用的电力、通过电线传输电力、利用电力通过无线电在没有电线的情况下远距离传递信息,以及基本的工业金属加工。
12. 前工业技术:电力时代之前的技术。
13. 女性和技术:概述女性在软件开发和其它技术领域被忽视的作用。
14. 语言:一本英语词典以及翻译词典,旨在帮助读者将英语转换为阿拉伯语、汉语、印地语和西班牙语,这是世界上使用最多的其他四种语言。
15. 艺术、文化和历史:人类历史和不断变化的人类文化,主要通过过去150年中写的著名小说来叙事。
16. 文化背景:在技术树创建时关于人类的信息;特别是维基百科的快照,这是一个集体生成的关于我们世界的各种信息的储存库。由于维基百科的规模巨大,这一部分与其他档案一样,以编码数据的形式提供,而不是以可视/可读页面的形式提供。
前七章专门介绍软件、GitHub北极代码库的目的和内容,及其用途和应用。接下来的五节描述了构建软件可能运行的计算机所需的技术。其余三节旨在说明这些技术发展的人文背景,我们这个时代的文化所讲述的故事,我们讲述这些故事的语言,以及我们生活的世界的事实背景和描述。
技术树只是巨大的GitHub Arctic Code Vault的一部分。因此,作为附录,它还包括GitHub Code Vault指南的可视化副本,以及该库中15000个最重要的代码库的索引,包括简要说明和在该库中的位置。
也许值得注意的是,我们的咨询委员会强调,我们的时代很可能是人类历史上迄今为止记录得最好的时代,因此,将技术树与档案捆绑在一起,对其继承者来说可能是便利多于必要。因此,它很有可能提供有关创建档案的时代和文化的背景,而不是作为新的和不可获得的知识的来源,当然,也有想象中的未来,它将发挥后一种作用。
以下是对每个部分的简要总结,描述了它所涵盖的一般主题。
计算机和互联网基础
这些书籍描述了什么是计算机,从硅开始,到电、晶体管、二进制逻辑、数字门、比特、字节、芯片、ALUs、微处理器、软件等,并介绍了它们的功能。它还包括,从更高的层次描述计算机如何连接在一起,以及这意味着什么的书籍。
算法和数据结构
计算机和软件工程的基础;描述了数据如何被结构化和存储,及数据最有效和最高效的处理方式。
编译器、汇编器和操作系统
档案计划的目的是保存软件,而这些是软件的基本构件。这些书有助于解释高级语言软件如何变成底层文件的。
编程语言
编程语言有数百种,如果你是开发人员,计算机历史博物馆里那张可视化的巨大图表值得一看,我们并不打算将它们全部记录下来。不过,对世界上一些主要语言进行易懂的长篇描述似乎还是可取的。
网络和互连
计算机是伟大的,但从某种程度上,它属于20世纪;至少可以说,网络计算机才是21世纪真正的技术革命。因此,我们的网络协议和技术值得给予重视。我们可能希望我们的继承者要么早已超越了我们的网络,要么可以自由地重新设计,而不是被我们为了向后兼容而需要做出的所有妥协所束缚,但无论如何,希望他们能从我们的工作中学习到一些东西。
现代软件开发
编写软件的逐行行为与开发、测试、集成和部署软件的团队过程完全不同。这里将介绍一些关键的方法、工具和角色,出于显而易见的原因,其中包括解读Git本身。
现代软件应用
要想描述软件的所有用途,需要的是一片技术森林,而不是一棵树。然而,一些关于单个项目和库如何编织成强大的网络应用的描述似乎很有价值,对虚拟化、"大数据 "软件、特别是机器学习等的概述也是如此。
硬件架构
从单个模拟晶体管到现代多核处理器,其复杂程度不用说,很难概括。本章试图描述数字电路和微处理器的基础知识,以及一些关键的参考资料,然后再介绍硬件架构和硬件设计语言。
硬件开发
这里我们尝试提供一些计算机I/O设备之外的硬件开发实例和讲解,如成像、无人机和机器人。
电子元器件,晶体管,半导体制造
对基本电子元件和以晶体管为基础的电路进行更深层次的分析,以及描述光刻和芯片制造的教科书。显然,这种制造基本上不可能从头开始重现(摩尔鲜为人知的第二定律描述了制造者的成本如何随着芯片密度的降低而增加),但可以想象,这些著作可能具有历史甚至实际意义。
无线电、电视和其它工业技术
描述有助于界定我们这个时代的其它技术,从电力到无线电和电视。
前工业技术
这些作品针对的是档案馆继承人的“浪漫灾难”形象,他们试图从工业化前的零开始重新启动所有现代技术文明。这种可能在未来确实存在,尽管它们似乎不太可能;此外,这些作品似乎有可能帮助填补历史知识中出现的空白。
我们认为,妇女在创立和塑造计算机和技术方面所发挥的独特作用,她们应该有属于自己的章节。妇女在这一领域的被抹杀意味着,原始资料整理所占用的时间(如女性撰写的书籍),历史学家发现妇女的贡献相当重要。包括这一部分,我们应当承认这项工作。特别感谢Mar Hicks;本节中的许多参考文献借用了他们在威斯康星大学麦迪逊分校开设的 "Women in Computing "课程。其中还包括讨论科技对女性负面影响的文献。
语言
专业语言学建议是,与流行的看法相反,英语句法和语法的变化已经大大放缓,除非发生一些大规模的灾难,否则英语很有可能在一千年后仍然存在,并在很大程度上可以识别。为了对冲我们的赌注,虽然,我们在档案的每一卷中都包含了翻译成阿拉伯语、印地语、西班牙语和汉语的“罗塞塔”指南,以及每一种可用书面语言的《世界人权宣言》,并将同样在这里包含字典和几本语言学著作。
小说、文化和历史
我们坚信,文化往往可以通过伟大的小说作品得到最好的表达。因此,我们试图收集一份著名的文学作品清单(包括/从一些非小说书开始),以在人类层面上传达我们时代的历史和文化。
文化背景
技术树的这一部分旨在传达我们文化中有用的信息,同时也是对编写档案时情况的描述。它将由编码数据组成,而不是图像页面。
维基百科虽然不是没有缺陷和遗漏,但它是 "我们世界的书面总结 "的最现成的代表。请注意,这一部分绝不是为了完整地描述今天的人类:正如我们的顾问所强调的那样,这个时代很可能是所有人类历史中记录得最好的时代,而且这种信息不太可能很难找到。相反,它的目的是为了方便向档案的继承人表明档案编写时代的具体、特殊背景。
GitHub北极代码库
技术树是GitHub Arctic Code Vault的配套作品,它将包含一个索引,其中包含北极代码库中存储的所有GitHub仓库的名称、简要描述和电影卷号,即截至2020年2月2日的每个活跃的公共GitHub repo。
这个索引还将突出显示15000个GitHub仓库,这些仓库在编写档案时是最高星级或最多依赖的。这些资源库也将被存储在档案的两卷“最热门”子集中,将与Oxford's Bodleian图书馆等合作伙伴共同保存)。
值得注意的是,北极密码库的每一个卷轴也有自己的索引,逐项列出其内容,以及解读该卷轴中存储的信息所需的所有说明和信息。这个主索引将是所有这些索引的超集,以便继承人备份和使用。
相关链接:
https://github.com/github/archive-program.git
实习/全职编辑记者招聘ing
加入我们,亲身体验一家专业科技媒体采写的每个细节,在最有前景的行业,和一群遍布全球最优秀的人一起成长。坐标北京·清华东门,在大数据文摘主页对话页回复“招聘”了解详情。简历请直接发送至zz@bigdatadigest.cn