东莞本地招聘网站有哪些东莞公司注册官网
news/
2025/10/5 11:13:08/
文章来源:
东莞本地招聘网站有哪些,东莞公司注册官网,开源阅读app,网站如何注册域名众所周知#xff0c;知乎早在几年前就将推荐系统从 Python 转为了 Go。于是乎#xff0c;一部分人就说 Go 比 Python 好#xff0c;Go 和 Python 两大社区的相关开发人员为此也争论过不少#xff0c;似乎#xff0c;谁也没完全说服谁。
作者#xff1a;hello架构 大概每…众所周知知乎早在几年前就将推荐系统从 Python 转为了 Go。于是乎一部分人就说 Go 比 Python 好Go 和 Python 两大社区的相关开发人员为此也争论过不少似乎谁也没完全说服谁。
作者hello架构 大概每个开发人员应该都会认为自己使用的语言是世界最好的语言吧。这都相对来说的。对于每个人应该都是不同的。
众所周知知乎早在几年前就将推荐系统从 Python 转为了 Go。于是乎一部分人就说 Go 比 Python 好Go 和 Python 两大社区的相关开发人员为此也争论过不少似乎谁也没完全说服谁。
知乎从Python转为Go是不是代表Go比Python好?我认为各有优点谁也取代不了谁会长期共存! “由 Python 语言转向 Go 语言就说明 Go 语言比 Python 语言好”完全是一种片面理解。
“语言至上论”是解决不了业务问题的选 Go 也不行Java 也不行。
Go 的优势是文件易部署协程机制相对成熟且简单以及静态编译语言的效率还有就是编程模式相对简单。这大概是现在越来越多企业尝试Go的原因除了知乎B 站也把核心部件从 PHP 转到了Go。
除此之外BAT 等互联网巨头内部都有系统采用了 Go 语言。
那是不是说 Python、PHP 不行了?当然不是也不应该是这样的。如果要坚持Python、PHP也是没问题。一个系统沉积太久的话会产生很多大大小小、零零散散的“技术债”这其间就涉及解决成本的考量重构、重写、抑或重新设计核心模块或新模块?由此又带来技术选择的问题。还有Python、PHP人才储备的问题还有团队希望尝试新技术的考虑。这些问题交织在一起就不是哪个编程语言好跟坏这么简单的事儿了。所以还是要回到业务层面来看技术解决之道。
不得不说Go的协程一个“go”就能解决绝大多数问题确实写代码很简洁Python 新添的 asyncio 还是相对复杂Future、Task等等还是有不少门道的。所以技术永远只有合适的而没有最佳的也没有非此即彼的好坏分明。
我相信如果团队在 Python 方面积累厚实且热衷专注于 Python选择Python 应该就是个大概率事件。Python 现在已经应用颇广特别是在 AI 领域带动下Python 人才也不像以前那样难找工作了铁打的营盘流水的兵是不是知乎也面临人才流动压力?此外毕竟 Python 的生态在这么多编程语言中是数一数二的Go 虽热但在社区方面恐怕还是比不上 Python、PHP这也是一个现实问题。知乎前端换了 React我没感觉比原来的 AngularJS 进步但不能就此说 React 不行。尝试用 Go 写一些原来 Python 的范围也是同理。而且一个系统同时应用多种开发语言、一系列技术栈都是再正常不过的事了。
Python 有自己的场景不会被彻底替换的担心也是多虑的反正都是“增删改查”嘛!
至于知乎为什么选择 Go内部的一些工程师透露选择 Go 并不是一个人的决定而是整个团队深思熟虑后的结果!
众所周知知乎社区后端的主力编程语言是 Python。
随着知乎用户的迅速增长和业务复杂度的持续增加核心业务的流量在过去一年内增长了好几倍对应的服务端的压力也越来越大。随着业务发展我们发现 Python 作为动态解释型语言较低的运行效率和较高的后期维护成本带来的问题逐渐暴露出来
运行效率较低。知乎目前机房机柜空间已经不足按照目前的用户和流量增长速度可预见将在短期内服务器资源告急(针对这一点知乎正在由单机房架构升级为异地多活架构);
Python 过于灵活的语言特性导致多人协作和项目维护成本较高
受益于近些年开源社区的发展和容器等关键技术的普及知乎的基础平台技术选型一直较为开放。在开放的标准之上各个语言都有成熟的开源的中间件可供选择。这使得业务做选型时可以根据问题场景选择更合适的工具语言也是一样。
基于此为了解决资源占用问题和动态语言的维护成本问题我们决定尝试使用静态语言对资源占用极高的核心业务进行重构。
为什么选择 Golang?
如上所述知乎在后端技术选型上比较开放。在过去几年里除了 Python 作为主力语言开发知乎内部也不乏 Java、Golang、NodeJS 和 Rust 等语言开发的项目。
Golang 是当时知乎内部讨论交流最活跃的编程语言之一考虑到以下几点知乎决定尝试用 Golang 重构内部高并发量的核心业务
天然的并发优势特别适合 IO 密集应用知乎内部基础组件的 Golang 版生态比较完善静态类型多人协作开发和维护更加安全可靠构建好后只需一个可执行文件即可方便部署学习成本低且开发效率较 Python 没有明显降
相比另一门也很优秀的待选语言—— JavaGolang 在知乎内部生态环境、部署的方便程度和工程师的兴趣上都更胜一筹最终我们决定选择 Golang 作为开发语言。
最后我们做个简单总结第一点重构语言的选择关键要跟公司技术背景和业务场景结合起来;第二点架构尽量灵活并不断自我迭代;第三点监控要早点开展并尽可能底层化、通用化。
阅读目录置顶)(长期更新计算机领域知识
阅读目录置顶)(长期更新计算机领域知识
阅读目录置顶)(长期科技领域知识
歌谣带你看java面试题
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928174.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!