惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
美团技术团队
博客园 - 聂微东
博客园 - 叶小钗
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园_首页
Spread Privacy
Spread Privacy
J
Java Code Geeks
雷峰网
雷峰网
宝玉的分享
宝玉的分享
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Privacy International News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threat Research - Cisco Blogs
The Hacker News
The Hacker News
量子位
L
LINUX DO - 热门话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
GRAHAM CLULEY
D
Darknet – Hacking Tools, Hacker News & Cyber Security
月光博客
月光博客
腾讯CDC
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tor Project blog
罗磊的独立博客
V
Vulnerabilities – Threatpost
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
Project Zero
Project Zero
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tenable Blog
MyScale Blog
MyScale Blog
T
The Exploit Database - CXSecurity.com
GbyAI
GbyAI
博客园 - 【当耐特】
O
OpenAI News
Schneier on Security
Schneier on Security
S
Secure Thoughts
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Securelist
博客园 - 司徒正美

文章列表 on polarisxu

通过一个例子让你彻底掌握 Go 工作区模式 这道题正确率竟然只有 22% Go 开源项目推荐:一个简单的 Go 练手项目 go test 如何禁用缓存? Go1.18 快讯:constraints 包被移除标准库 跟着 Go 作者学泛型 「2022 版」轻松搞定 Go 开发环境 鹅厂小哥用行动反对加班:程序员加班能被终结吗? Go 为什么选择 Gopher 作为吉祥物? 本地如何配置多个 GitHub/Gitee 账号? 为 Java 开发者准备的 Go 教程 02:Java 有而 Go 无 GitHub 发现了 studygolang 项目依赖的漏洞 Typora 宣布收费后,这款开源 Markdown 编辑器火了 为 Java 开发者准备的 Go 教程 01:漫游了 我的 2021 年终总结 泛型版 singleflight:Go 中如何防止缓存击穿? 2021 年你写了多少代码?这个 Go 工具帮你统计 Go1.18 新特性:TryLock Go 泛型入门教程 程序员瑞士军刀:各种结构的转换工具 终于有 Go 版的 Elasticsearch 了 Go泛型系列:maps 包讲解 Go 1.18 中的 any 是什么? Go1.18 快讯:新的 IP 包 Go编程模式:详解函数式选项模式 Go泛型系列:slices 包讲解 Nginx 竟然也有 playground — Go 语言构建的 Go泛型系列:Go1.18 类型约束那些事 Go1.18 快讯:Module 工作区模式 Go1.18 快讯:新增的 Cut 函数太方便了 Go1.18 快讯:废弃了这个 API Go1.18 快讯:新增字符串 Clone API Go:如何获得项目根目录? Go 如何获取和设置环境变量 重磅变动:更快找到微信公众号里的Go文章 Go 这样设置版本号:我们的项目也可以 假期结束,推荐 2 本 manning 出的 Go 图书 Go Fiber 框架系列教程 04:测试应用 Go Fiber 框架系列教程 03:中间件 Go泛型系列:提前掌握Go泛型的基本使用 推荐一个 Go GUI 实战项目 Go Fiber 框架系列教程 02:详解相关 API 的使用 Go Fiber 框架系列教程 01: 和 Express 对比学习 Go Module:私有不合规库怎么解决引用问题 Go1.17 新特性:go get 变了 Go1.17 新特性:testing 包的相关变化 StackOverflow 上关于 Go select 死锁的问题 新书推荐:用 Gin 框架构建分布式应用 Go 官网要变天。。。 Gin 这是要成为 Go 官方框架? 扬眉吐气:刚刚,Go 已经默认支持泛型了 Go 1.17 新特性:Module 有哪些变化? Go 第三方库推荐:类型转换如此简单 担心密码提交到 GitHub?建议使用这个 Go 开源工具 Go 的时间格式化为什么是 2006-01-02 15:04:05? GitHub 为 Go 社区带来安全支持 Go开源项目推荐:500行代码确认请求时间花在哪 一道关于 len 函数的诡异 Go 面试题解析 厉害了我的 Go:推荐系统都有开源实现 Go1.17 新特性:新版构建约束 这个工具真好:看看你的Go项目依赖有无漏洞 网友很强大,发现了Go并发下载的Bug Rust 劝退系列 09:函数 Go项目实战:一步步构建一个并发文件下载器 这本 Go 新书挺期待的:100 个常见错误 Go 启用新的官方问答社区 这是要干嘛?!微软招 Go 编译器全职开发人员 Go1.17 快报之标准库越来越注重易用性 Go1.17 新特性之切片变数组 回顾 Go 官网的演变史 站长8年前的Go代码竟然进入大厂的项目里了 Go图书翻译:一个好消息,一个坏消息 不怕烂尾!决定组织翻译这本 Go 图书 Rust 劝退系列 08:模式匹配 一本花了2.5年写成的Go免费在线图书 被黑惨了:一句话,说明自己会 Go,咋整? Go1.16 中的新函数 signal.NotifyContext 怎么用? Go 1.17 新特性提前学之测试执行随机化 Rust 劝退系列 07:流程控制 官方的 Go 多版本管理:使用和原理 Rust新书:给你一个劝退的理由 周刊题解:常量表达式这个规则应该了解下 盘点那些使用 Go 语言的国外公司 编写了50万行Go代码是一种什么体验 Rust 劝退系列 06:常量 Uber 使用 Go 的规模这么大?!都自己定制的 Go 编译器了 Go Team Leader — rsc 大神新开源了一个库,增强模板功能 再一次看到了 Go 的节制:int128 类型要不要支持? Rust 劝退系列 05:复合数据类型 「卷」有理论依据:海勒姆定律—Go又是怎么卷的 Go 真的也可以进行 GUI 开发:还有这样的图书呢 Rust 劝退系列 04:基本数据类型 我的 Go 语言书单 Rust 劝退系列 03:变量 我又来推荐免费 Go 新书了:一本用 Go 讲架构的书 注释竟然还有特殊用途?一文解惑 //go:linkname 指令 这个功能,公众号、微信群会不会被玩坏? 一道 Go 闭包题,面试官说原来自己答错了:面别人也涨知识 Rust 劝退系列 02:第一个 Rust 程序 Rust 劝退系列 01:打造开发环境
AI 和 数据科学领域,Go 语言可能很快会取代 Python。最后的原因有点迷
2020-10-29 · via 文章列表 on polarisxu

30 年前,Python 首次出现。但是花了 20 年时间才能获得开发人员的赏识。快进到 2019 年,它成为开发人员中第二受欢迎的语言。(来自 Stackoverflow 开发人员 2019 调查结果

过去,尤其是在过去的 5 年中,它的增长是巨大的。Python 成为机器学习和数据科学开发人员的首选语言。

在接下来的几年中,Python 在这些领域的主导地位无疑会持续。但是与更新的语言相比,它具有一些严重的缺点。对于 21 实际 20 年代的开发者来说,这可能是一个障碍。

现在是检查 Python 问题并将其替换为更好的替代方法的正确时机。就 AI 开发和数据科学而言,我们的下一个入门语言可能是 Golang。

Python 受欢迎的主要原因是:它易于学习。与其他语言相比,它的语法很简单,任何人都可以在几小时或几天内学习 Python 的基础知识。

即使在学习了其他语言(例如 C++ 或 Java)之后,开发人员通常还是更喜欢使用 Python。那是因为有一个 Python 库,几乎可以满足所有人的要求。

库和简单的语法使使用 Python 开发软件既简单又高效。这些优势使 Python 成为了初学者的语言。

Python 问题

速度

Python 是一种解释型语言,这会引起 Python 的最大问题:执行缓慢。与其他编译语言(例如 C++ 和 Go)相比,Python 的执行速度很慢,非常慢。

Python 是一种动态类型的语言。在运行期间会自动分配变量的数据类型。这使执行速度大大降低。

使用 C/C++

为了克服 Python 运行慢的缺点,Tensorflow,Numpy 和 Pandas 之类的库部分用 C 或 C++ 编写。它们有助于显著提高执行速度。

基本上,Python 需要其他语言的帮助才能克服其问题。

全局解释器锁(Global Interpreter Lock)

Python 的全局解释器锁 (GIL)一次只能执行一个线程,同时提高了单线程性能。Python 的多线程并没有真正让多个线程同时运行。

实际上,Python 无法执行真正的多线程。

(注意:Python 的非 CPython 实现(例如 Jython 和 IronPython 没有 GIL))

为什么要使用 Go 语言?

Go 是一种开放源代码编程语言,可轻松构建,简单,可靠和高效。

“ Go” 在 10 年前首次亮相。它是 Google 开发的通用性编程语言。

与 Python 和其他编程语言相比,它具有多个优势,这就是我们感兴趣的原因。

快速

Go 是静态类型化和编译的语言。这意味着执行速度将比 Python 快几倍。与 Python 不同,Go 不需要其他语言的帮助就可以更快。

这是 Go 和 Python 之间的一个小型基准测试游戏比较 。Go 几乎与 C++ 和 Java 一样快。而且,Go 的代码编译速度比 C/C++ 和 Java 快得多。

简单易学

Go 的语法很简单,类似于 C。它是一种易于学习的编程语言,特别是已经了解 C 或 Java 语言的基础知识。

要了解 Go 的基础知识,请访问 Go 指南 进行交互式之旅或访问官方文档

越来越受欢迎

根据此次 Hackearth 对来自 76 个国家/地区的 16,000 多名开发人员的调查 ,Go 是 2020 年最受欢迎的编程语言。

32% 的经验丰富的开发人员和 29% 的学生说他们想学习 Go 不足为奇。

并发

并发是 Go 的主要优势之一。Go 具有 Goroutines 以实现并发。Goroutines 是可以同时独立运行的函数。

Goroutine 重量轻,仅占用 2KB(依赖于不同实现,目前 Go1.15 是 2KB) 的内存。由于 Goroutine 轻巧,因此可以同时运行成千上万个。

Goroutine 还有很多其他优点,比如:

  • Goroutine 具有可增长的分段堆栈。这意味着它们仅在需要时才使用更多的内存。
  • Goroutine 具有比线程更快的启动时间。
  • Goroutine 带有内置原语,以在它们自己(通道)之间安全地通信。
  • 使用 Goroutines 可以避免共享数据结构时不得不使用互斥锁。
  • 此外,goroutine 和 OS 线程没有 1:1 映射。一个 goroutine 可以在多个线程上运行。 Goroutines 被多路复用到少量的 OS 线程中。

参考文章:为什么要学习 Go?

是什么使 Go 适用于 AI 研究

将 Go 专门用于 AI 研究或数据科学并没有什么特别的。为什么应将 Go 用于 AI 和数据科学?我会告诉你的…但是等一下。

30 年前,尚未开发 Python 来构建机器学习或深度学习算法或进行数据可视化。

之所以是今天,是因为开发人员和学生们喜欢用 Python 进行代码编写,并且支持开发该开发人员意图的语言。

Go 旨在提高程序员的生产力。与 Python 相比,它具有多个优点。它很可能会在未来几年中成功取代 Python,成为最受欢迎的语言。

因此,它可以归结为 1 行:

Go 可以支持 “21 世纪 20 年代的开发人员”发展他们的思想,这比任何其他语言都要好得多。

原文链接:https://towardsdatascience.com/golang-ai-programming-language-for-the-20s-71890baa8c47

本文作者:Dasaradh Saran

编译:polarisxu