大家好,今天给各位分享webgl网站源码分享的一些知识,其中也会对web源代码在哪儿可以免费下载进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
与任何其他领域一样,计算机技术也有着令人印象深刻的进步历史。今天,由于过去程序员的辛勤工作,我们使用高端计算机、高质量的现代GUI、人性化的编程语言和实时的未来Web应用程序。学习历史让我们快乐——看到创新随着时间的推移而逐步发展是?非常有趣的。例如,想一想现代飞机背后的辛勤工作——过去人们如何将飞行的想法从扑翼机演变为飞行器——飞机。同样,计算机从房间大小的昂贵机器转变为现代(相对)低成本的通用设备。
我经常在空闲时间浏览互联网上可用的公共源代码。一些代码库包含现代流行计算机软件模块的源代码。同时,我发现了一些令人印象深刻的历史代码库,它们不再作为可用项目进行维护,而是作为历史计算机科学对象为下一代保留。
在这个故事中,我将解释几个帮助整个计算机技术进步的历史源代码。我们可以检查这些源代码,研究并了解每个项目如何影响现代计算机生态系统并使我们的生活更美好!
万维网(WWW)演示源代码
WWW项目提供了一种通过HTTP等网络协议共享信息的方法。1989年,蒂姆·伯纳斯-李(TimBerners-Lee)展示了第一个可用的WWW版本,它带有全新的网络浏览器和服务器。Tim使用C标准库和NeXTSTEPOS中的AppKitGUI库用C和Objective-C编写了第一个网络浏览器Nexus。您可以从这个GitHub存储库中找到Nexus浏览器源代码。看一下HTML解析器的第一个实现:
现在我们有许多功能齐全的HTTPWeb服务器实现——您甚至可以使用首选的编程语言构建自己的HTTP服务器。第一个Web服务器是什么?TimBerners-Lee使用CERNhttpdweb服务器演示了第一个WWW版本。您可以从这个GitHub存储库中找到CERNhttpd源代码。
HTTP协议诞生于CERNhttpd项目。服务器生成HTTP标头如下:
早期的C编译器源代码
计算机是一种数字设备,只能理解一组预定义的原子指令,称为ISA汇编。即使过去的程序员使用Assembler工具编写早期的计算机程序(即POPII),但编写Assembly代码无疑是耗时的。后来,他们引入了编译器的概念,设计了人性化的编程语言。
C是一种众所周知的编译型编程语言。我们仍然使用C来构建各种软件系统。C无疑是一种基础语言——程序员几乎用C创建了计算机生态系统的所有底层组件,因此现代编程语言永远不会取代C,直到有人用另一种语言重写过去的计算机历史。我在下面的故事中解释了为什么你应该学习C:
每个人都知道我们可以从这个GitHub存储库中找到GNUC编译器源代码,但是第一个C编译器实现在哪里?这个GitHub存储库提供了最早可用的C编译器源代码。这个编译器不是用B语言写的,而是用C写的自编译编译器:
早期Unix研究源代码快照
Unix无疑是所有类Unix和基于Unix的操作系统的鼻祖。流行的Apple操作系统使用Darwin-XNU内核。Darwin内核从来自原始Unix源的BSD派生实现。另一方面,类Unix系统,如Linux和Minix,都是基于Unix的核心概念制作的。
unix-history-repoGitHub存储库让您可以通过Git分支浏览各个历史阶段的Unix源代码快照。例如,您可以按如下方式检查最早可用的Unix版本的源代码:
如您所见,早期Unix版本的代码库由PDP-7汇编源文件组成,但您可以在Unix版本4中找到C源文件。该存储库的作者为Unix开发时间表生成了基于Git的历史记录unix-history-make项目。
当Git在GitHub上提交时,很高兴看到计算机科学先驱们的贡献。例如,查看以下屏幕截图如何暗示GitHub存在于1970年——尽管事实并非如此:
您甚至可以通过Gource可视化这些提交!
Linux的第一个版本(v0.01)
LinusTorvalds创建了Linux内核作为Unix和Minix操作系统的免费开源替代品。我们可以从GitHub上的官方开源存储库浏览Linux源代码,但该存储库的历史是从v2.6开始的。然而,第一个Linux内核版本是0.01。我们可以从这个GitHub存储库中浏览历史Linux0.01源代码。
尽管现代Linux代码库看起来复杂难懂,但这个Linux版本的代码库很容易阅读,因为源文件相对较少,而且它只支持i386CPU。查看mainLinux内核v0.01的最小功能:
最初,Linux内核项目是个人爱好项目,但现在数以百万计的云服务器、移动设备和嵌入式设备都使用Linux内核作为基础!汽车公司还维护Linux内核分支(即Tesla)。
第一个JavaScript引擎(Mocha)
在WWW发明之后,人们开始通过Web1.0概念发布带有静态内容和超链接的公共网页。此外,程序员开始开发网络浏览器。NetscapeNavigator浏览器版本带有一种新的客户端脚本语言,可以使静态网页动态化。这种脚本语言在第一次发布时被称为“LiveScript”,但后来,原作者BrendanEich和Netscape将其名称改为“JavaScript”。
流行的网络浏览器支持使用现代网络API,例如WebSockets、WebGL、DOM和WebRTC,因为存在JavaScript。JavaScript充当浏览器和网页之间的中间层,它为开发人员提供访问WebAPI的接口。它还可以帮助程序员通过Web浏览器使用客户端计算能力来减少服务器工作量。
mocha1995GitHub存储库让您可以通过Emscripten在浏览器上试验第一个JavaScript引擎。与现代复杂的JavaScript引擎源代码不同,Mocha引擎源代码非常容易理解。
看看它是如何实现Math.random内置的:
结论
技术每天都在发展——新的创新技术可能会淘汰或改进现有技术。但是,了解我们创新新事物并让我们的生活变得更美好,这要归功于过去程序员的辛勤工作,这一点非常重要。所以,我们应该保存他们的优秀作品,让后人研究。也许,数百年后,新一代可能会使用过去的程序员赋予我们的东西,比如C、Unix体系结构、HTTP协议等。
当你开始学习一种新的编程语言、库或框架时,考虑研究它的内部结构、历史和依赖关系,那么你实际上会在特定技术上变得更好。
关于webgl网站源码分享到此分享完毕,希望能帮助到您。