安全

个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过 40 年的经验,用 C 的程序员也无法可靠地这样做。

尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。

Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯定不是提供这些安全保障的第一个主流语言,Java(1995)可能是该冠军的竞争者。关键是,世界对不安全的编程语言没有胃口,所以人们默认认为,Go 是内存安全的。

开发人员生产力

从 20 世纪 70 年代末,开发人员的时间变得比硬件所耗费的时间更昂贵了。开发人员的生产力是一个不断扩展的话题,但它归结为这一点:你花了多少时间做有用的工作,又有多少时间等待编译器或者失望地迷失在外部代码库中。

有个笑话说 Go 是在等待 C ++ 程序编译时开发的。快速编译是 Go 的一个重要功能,也是吸引新开发人员的关键工具。虽然编译速度仍然是一个永久的战场,但公平地说,在其他语言中需要几分钟的编译,在 Go 中只需要几秒钟。

Go 程序员意识到生产力的更根本的问题是代码是为了读而写的,所以将代码的阅读行为放在编写之上。Go 通过工具和自定义来强制所有代码格式化成特定的样式。这消除了学习项目特定语言的方言时的困难,并有助于发现错误,因为它们看上去就是不正确。

由于专注于分析和机器辅助,Go 开发人员开始采用越来越多的工具来发现常见的编码错误,这种工具从来没有在 C 语言开发者中产生共鸣 - Go 开发人员希望工具帮助他们保持代码清洁。

并发性

十多年来,芯片设计师一直在警告免费午餐将会结束。从较低端的手机到最耗电的服务器,硬件的并行性以更多、更慢、堆砌 cpu 内核的形式出现,但只有当你的语言可以利用它们才有意义。因此,并发特性需要内置到我们编写的要在今天的硬件上运行的软件中。

通过提供一种基于协程的轻量级并发模型,或者是 Go 中已知的 goroutines,Go 超越了那些暴露操作系统的多进程或多线程并行模型的语言。goroutines 允许程序员避开复杂的回调,而语言运行时确保有足够的线程来保持你的内核的活跃。

总结

我给朋友推荐 Go 有三个原因:安全性、生产力和并发性。有些语言可以涵盖一个也有可能是两个方面,但是这三个方面的结合使得 Go 成为主流程序员的绝佳选择。

对于机器学习,到底该选择哪种编程语言?
入行人工智能机器人研发,选择哪一种机器人编程语言比较好?
大数据时代,最适合大数据处理的编程语言有哪些?

多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站

为什么说GO语言,是最重要的编程语言相关推荐

  1. R语言pacman包管理R编程语言需要的包实战:使用p_load函数安装和加载多个R包、使用p_unload函数卸载多个R包、使用p_update函数更新过期的R包

    R语言pacman包管理R编程语言需要的包实战:使用p_load函数安装和加载多个R包.使用p_unload函数卸载多个R包.使用p_update函数更新过期的R包 目录

  2. C语言荣获2019年度最佳编程语言

    关注.星标公众号,不错过精彩内容 作者:黄工 公众号:strongerHuang 近日,TIOBE官方发布了2020年1月编程语言排行榜单. 我在前面给过一篇文章<2019年11月C语言接近Ja ...

  3. python称号_C 语言荣获 2019 年度最佳编程语言称号

    原标题:C 语言荣获 2019 年度最佳编程语言称号 作者丨TIOBE 译者 | 刘志勇 策划 | Tina 每个人都以为,Python 将会连续第二次获得 TIOBE 的年度编程语言的称号.但这一次 ...

  4. 什么是Python语言?Python成为热门编程语言的原因

    什么是Python语言?Python成为热门编程语言的原因,由于Python简单易学功能强大,可以适用于各种开发环境,一门语言可走遍打天下,比较适合初学者入门. Python是什么?百度百科:Pyth ...

  5. 区块链用哪种语言 Java_区块链开发用什么语言呢?区块链与编程语言的关系详解...

    原标题:区块链开发用什么语言呢?区块链与编程语言的关系详解 区块链的概念就随着比特币的大热开始逐渐进入公众视野,比特币的拥有者为了使其创造更高的财富,开始疯狂炒作,因而引发购买比特币大浪潮.然而等到比 ...

  6. C语言竟成TIOBE年度编程语言候选!苹果iPhone 7卖得最好!

    每年这个时候,都是TIOBE榜单评选年度编程语言的时候.今年,Kotlin成为竞争的热门,让人意外的是,C语言居然也成为了候选编程语言之一.自从被Java摘走王者桂冠,C语言几乎是处于持续下滑状态,没 ...

  7. c语言编程常见问题解答 pdf,[编程语言]C语言常见问题集pdf pdf文件[1.35MB]-码姐姐下载...

    原著:Steve Summit 翻译:朱群英, 孙 云 修订版0.9.4, 2005年6月23日 目录 i 前言 xvii 1 声明和初始化 1 1.1 我如何决定使用那种整数类型?......... ...

  8. python编程 语言-Python——最美丽的编程语言

    之前总听别人说Python有多厉害,有多好,我是不以为然的.但是当我开始接触Python的时候,我就知道它被誉为最美编程语言不是没有道理的.简短的代码,清晰明了的逻辑,方便快捷的编程工具让它注定会大放 ...

  9. python编程 语言-Python成为2018年度编程语言,遥遥领先于其他语言

    TIOBE 近日宣布:Python 成为 2018 年度编程语言,Python之所以获得这个称号,是因为它在2018年的排名中比其他所有语言都高.Python语言赢得了3.62%的选票,紧随其后的是V ...

  10. python语言入门编程猫-少儿编程语言Python入门课程,尽在厦门编程猫

    计算机有各种层面的编程语言,Python相对来说语法简单,是不错的入门级编程语言,适合学员作为编程启蒙课程进行学习,六年级到初一的孩子学习能力强,厦门编程猫注重这一时期孩子的个人专业技能发展,为学员以 ...

最新文章

  1. sshpass的使用方法
  2. java设计模式之【策略模式】
  3. jzoj4227-B【dp,字符串】
  4. 当贝显示服务器生病,智能电视一直显示“缓冲中”是什么问题?当贝市场为你解答...
  5. 关于HTTP协议的几个问题
  6. mysql 备份表_Mysql 表的备份与恢复
  7. Ubuntu系统重装 -- 制作启动盘、装机过程问题、环境配置
  8. 前端提高篇(三十九)CSS进阶7:columns多列布局
  9. linux暂停命令 pause_linux操作命令:暂停进程
  10. 判断设备访问类型是PC端还是WAP端
  11. 双鱼林php生成器,双鱼林php代码生成器 v2.0 完整版
  12. android fagment 重叠问题
  13. 论文投稿指南——SCI投稿各阶段邮件模板
  14. Selenium | 页面跳转后无法定位到元素,怎么破?
  15. java EE初阶 —进程与线程的区别
  16. “体面人”俞敏洪,要步罗永浩的后尘了?
  17. Linux MTD架构下的nand flash驱动详解
  18. php gd库 圆形头像,基于 GD 库生成圆形头像
  19. NS中如何编制带有期初/发生/期末余额的资产负债表?
  20. 常见面试题之 1000的阶乘后面有多少个0

热门文章

  1. phpcount数组报错_PHPExcel把导入的excel表格转换为数组,然后运行,浏览器什么也不显示,也不报错...
  2. javaweb开发后段学习路线_WEB前端开发职业学习路线初级完整版
  3. 关于Session、Cookie、Token你知道多少?
  4. memcache源码编译安装
  5. libsqlite3.dylib找不到
  6. 编程规范基础学习笔记
  7. 如何实现一套鼠标键盘控制二台主机
  8. java 设计模式学习笔记四 prototype模式
  9. (X)HTML Strict 下的嵌套规则
  10. 关于flashdevelop测试flex项目时trace不出的解决方法