mac地址长度是32位二进制,mac地址长度为多少

  

  自2009年开源以来,Go受到越来越多开发者的喜爱,在最新的TIOBE编程语言排行榜中排名第14位。开发者调查分析公司SlashData在2021年发布了《开发者报告》。它表明Go开发者的数量增长速度是Ruby的两倍。许多大公司,如脸书、腾讯和百度,都有使用Go语言的项目。Docker和Kubernetes也是Go写的。此外,Go语言也受到很多云创业公司的喜爱。   

  

  那么围棋为什么这么受欢迎呢?围棋的五位创始人在《Communications of the ACM》一书中透露了答案,书中说围棋的成功在于它专注于软件项目设计的整体环境。一方面,Go以发展为中心的理念使得它的社区能够蓬勃发展。另一方面,Go社区及其构建的技术最终使Go成为现代云计算环境的重要组成部分。   

  

     

  

  (Tiobe指数排名)   

  

     

  

  Go的早期发展   

  

     

  

  Go是一种静态强类型编译语言,语法上和C语言类似,但Go包含垃圾回收功能,可以自动释放变量未使用的内存。此外,Go使用新的多核处理器在专用核上运行垃圾收集,以减少对延迟的影响。   

  

  并发是作为Go语言的核心功能提供的,而不是作为一个单独的可选库。这在很大程度上解释了为什么Go是这样构建的。   

  

  Go在成长过程中从Google的经验中学到了很多东西,并且拥有由4000名活跃开发者共享的庞大多语言代码库。这些开发人员认为需要一种更好的方法来处理大规模负载。于是Go诞生了——它是专门为并发而设计的,并为其提供了一流的支持。它不仅能有效处理多项任务,还能同时执行多项任务。   

  

  在Go诞生之前,工程师们使用的是相对笨拙的语法和固定大小的线程栈。当时,支持并发的线程并不流行,因为它们不仅难以创建,而且难以使用和管理。   

  

  而解决这个问题是创造Go的主要动机之一。   

  

     

  

  对开发者的关注贯穿于Go的开发   

  

     

  

  云服务的发展也带来了更多的用户去。   

  

  此外,与其他语言相比,Go还有一些明显的优势。创始人在文章中提到Go‘消除了导致C和C程序中很多问题的未定义行为’。(例如,如果代码试图运行一些有风险的行为,如解释空指针或使用超出数组或分片界限的索引,Go将简单地抛出一个运行时异常并停止运行程序)。   

  

  但围棋创始人认为,围棋受欢迎还有其他原因。Go在构建项目的前期工作中发挥了巨大的作用,为软件开发打包、依赖、构建测试、部署等日常工作奠定了基础。   

  

  这吸引了在其生态系统中使用软件包的开发者。虽然最初的版本只支持Linux和MacOS X,但Go社区的热心开发者们很快为Go编译器和库创建了Windows版本,并移植到其他操作系统上。   

  

  其创始人表示,对开发者的关注贯穿了围棋的发展。例如,Go包含一个支持SSL和TLS的高质量加密库,以及一个包含内置HTTPS客户端和服务器(用于与其他系统进行在线交互)的标准库。   

  

  Go处理库的方式对开发者也有很大的帮助:Go的编译器只导入必要的库来包含在其二进制文件中,避免了导入整个库来确保包含一个必要的函数。   

  

  此外,考虑到开发者的需求,Go允许从其他领域轻松导入外部库(并且还有自动检查兼容版本的方法)。   

  

  在标准版本中,Go还支持优化技术,如程序分析,并支持测试功能,如模糊处理。Go甚至有一个代码布局约定。(Go的gofmt工具将源代码解析成这种标准化的布局。Gofmt工具和其他内置工具有助于使Go更容易构建任何东西,从IDE插件和调试器到框架和构建自动化。Go的创造者认为他们的语言是专门设计来鼓励工具和自动化的创造。因此,Go’中有一个丰富的、可扩展的、可互操作的工具包。   

  

     

  

  保持一致性   

  

     

  

  虽然Go的创作者也承认,在Go最早的几年里,它在发布的时候每周都有补丁和调整。当用户更新到新的Go版本时,他们经常需要更改它。   

们的程序。

  

不过2012年以来(随着Go第一版的正式发布),Go的更新就只对语言和标准库进行向后兼容的修改,这样程序在编译到较新的Go版本时可以继续运行而不发生变化。

  

虽然结果并不乐观,但是Go的工具有了极大的发展――更好的编译器,更强大的构建和测试工具以及更多的支持Go的开源工具。

  

"虽然大多数语言的设计都集中在语法、语义或类型的创新上,但Go却专注于软件开发过程本身。"

  

――Matt Weagle (@mweagle) 2022年5月11日

  

文章指出,Go的功能集能够避免开发人员的过度拓展。但是,同时也提到了这一惯例的例外情况,即Go确实增加了一个重要的新功能。两个月前,Go增加了参数化多态性,是 "为适应Go的其他部分而量身定做的..."

  

"在坚持一致性、完整性和社区原则的情况下做出如此大的语言改变,将是对这种方法的严峻考验"。

  

Go的创造者表示Go能够有今天的成就和发展,离不开Go社区的成千上万的开源贡献者们。正如Go的创始人所说:"我们感谢每一个帮助Go成就今天的人"。

  

参考资料:

  

https://thenewstack.io/what-made-golang-so-popular-the-languages-creators-look-back/

  

成就一亿技术人

  

<

相关文章