前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >哪个编程语言值得去学习?

哪个编程语言值得去学习?

作者头像
小锟哥哥
发布2024-05-22 17:19:22
770
发布2024-05-22 17:19:22
举报
文章被收录于专栏:GoLang全栈
市面上这么多开发语言,百花齐放,万家争鸣的,但是人的精力又是有限的,该怎么选哪个语言去学习?

接下来将从三个角度去给大家解析,思路打开后,自然就知道该怎么选了。

什么样的语言会流行?

一个技术要流行必须要满足这么几个条件。

第一个门槛低,除了门槛低以外还需要有大公司在后面撑着

没有大公司用的话不行,因为大公司用了以后就会在上面贡献更多的特性。

而且大公司用得越多,就一定会有标准化的东西出来,比如 Java、C 和 C++,很多公司都在用,就有一个标准化组织。

第三个,社区很重要,必须要有社区。

第四个它必须要有杀手级应用。杀手级应用的意思就是它必须要有个成功案例,没有成功案例不行。

这 4 个因素:门槛低、有大公司撑着、好的社区,还有杀手级应用,决定这个技术会不会成功,会不会爆。

换句话说,这也决定了,是否值得去花大量时间学习这门语言。

综合上面的这些因素,不难发现为什么 Go语言,java 这么受欢迎。

分析市面上的常见语言:

PHP 有大公司用,比如 Facebook,社区也很好,门槛也低,又有杀手级应用 LAMP,所以 PHP 能爆火

Java 语言也是全部都有,门槛也低,大公司也在不断地投入。Go 语言其实也是这样。

但 Rust 目前来说不是很乐观。

因为 Rust 门槛比较高,社区活跃度一般。虽然大公司陆续开始在用,但杀手级应用才刚刚开始有苗头,最出名的就是 WebAssembly( Web 上的汇编),另一个是它正逐步进入内核了。

虽然 Rust 有一点点起势的苗头,但是它有一个非常致命的缺点:

门槛太高,门坎太高了,门坎太高了。

语法太过奇特!

项目怎么选语言?

目前业界大都说,Java 适合做业务层,Go 适合做中间件,Rust 适合做系统层。

其实很多公司也在用 Go 写业务,其实没啥问题,Go 能写,Node.js 也能写,甚至 C语言 也能写。

Go 语言写业务层,天然有一个好处就是 Go 没有太多乱七八糟的东西,它特别适合写面条代码

所谓的面条代码就是这个业务流程长啥样就怎么写,不需要任何抽象,这些代码也懒得重用,我直接写就好。

国内的很多 Go 语言开发者,可能很多都是从 PHP 转过来的,因为太适合写面条代码了。

但,当你的架构变得越来越大、越来越复杂,里面一定要有一个框架的。

比如 MVC 框架。

为什么你发现 Java 代码写不烂,因为它有框架保证,再烂也不会烂得看不下去。

但 Go 语言代码烂起来就烂得看不下去。

另外,服务越来越多,就要开始运维,要做配置中心、服务治理、中间件等,但这方面,Go 在努力跟上,但 Java 那边成熟的已经有一大堆了。

项目迭代语言选择规则

早期的项目,你用什么语言都行。

如果把场景分成 0 到 1、1 到 10、10 到 100。

0 到 1 你爱用什么语言用什么语言,随便你用 Rust、Swift、Kotlin 随便什么,C 语言都行,你要用汇编写业务代码,都没问题。

但是 1 到 10,你开始要尊重两个东西。

第一个你的开发速度要快,第二个你的稳定性、性能这些要保证,因为要扩展用户

这个时候,你就必须得选一些工业化的语言。

Go 语言或者 Java、Ruby、Python 这些在这点上都比较完善,生产力各方面都还可以。

但是如果 10-100 的话,目前大家都力推 Java,为什么?他有太多成熟度还可以的轮子可以用。

所以,关键是你公司在哪个阶段。

有时候我们上网一看,哇,大量都是 Java 不行、Java 反人类、Java 太啰嗦。

但是你可以看看,说的那些人他们可能都在小公司,因为他的业务场景的确不需要用 Java,他说的是对的。

或者是那些独立开发者,都是从 0 到 1,他爱用啥就用啥,自己舒服就好。但是你看那些大公司,银行、电商、电信,只要是这种有交易型的用户公司,包括哔哩哔哩所谓的自己用 Go,但是他做电商,还是在用 Java。

随着 Go 被越来越多的大公司使用,后期追赶,这样的环境或许会慢慢改变。

你学废了么?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GoLang全栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么样的语言会流行?
  • 项目怎么选语言?
  • 项目迭代语言选择规则
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档