2022 年最适合写业务代码的编程语言是哪个?

2022-01-24 00:01:44 +08:00
 aljun

2022 年,各个语言已经有了长足的发展,但其实业界更多的需求还是写业务。

这里写业务主要考虑的是解决问题的敏捷性与后期的可维护性扩展性,在性能层面要求不会特别的高,考虑的不只是语言本身的特性,还包括语言本身的生态。当然也需要考虑招人或者新人上手成本。其中业务泛指非计算要求极高的场景

其中我觉得作为候选的为:

当然也不限上述语言,C++Rust就算了吧,用那个写业务首先在敏捷性就不太好

因为限定为 2022 年,考虑的范畴都为该语言最新版本,且没有历史包袱

提名请给出具体的理由

25950 次点击
所在节点    程序员
233 条回复
nba2k9
2022-01-24 11:24:58 +08:00
Java yyds
fengjianxinghun
2022-01-24 11:29:21 +08:00
c++ rust 怎么就不能算。。。
我的业务就是 c++ rust 写的,除非业务==web 开发
gongquanlin
2022-01-24 11:34:41 +08:00
php ,laravel 一把梭哈,该有的函数都内置了,explode 、implode 、sort……,系统不内置的 laravel 内置了,collection 、orm 、queue ,全都现成的,就算是 java stream 等也搞不过 collection 香。php 写业务是真的快,无敌。但是速度和效率堪忧。中小型企业完全够用了,量大了上负载就是了
kirisamemarisas
2022-01-24 11:34:47 +08:00
@redvoilin 主要还是协作方面的问题吧,Ruby 的自由度太高了,而 OP 需要多人协作。Ruby 的很多语法糖新人上手可能根本都看不懂的。
lysS
2022-01-24 11:35:35 +08:00
@BeautifulSoap 第一点还是看业务,要是那种快开的业务,绝大部分的 CRUD 之类的,go 用起来确实比较麻烦。像我这种做数据库的,一段小代码就要干一天,review 几遍,这些东西根本算不上事。
zjsxwc
2022-01-24 11:43:01 +08:00
居然没有 PHP
msg7086
2022-01-24 12:05:52 +08:00
@redvoilin #54 新人上手 Ruby 怕是连代码都看不懂。
比如说某算法题,给定一个二维数组,从左上角开始逆时针方向输出序列为字符串。
spiral_print([
['a','b','c','d'],
['e','f','g','h'],
['i','j','k','l']
])
# -> 'aeijklhdcbfg'

这是我的答案:
def spiral_print m
s = ''
while !m.empty?
m = m.transpose
s += m.shift.join
m = m.map(&:reverse)
end
s
end

随便给个别人写的答案:
def spiral_print m
return '' if m.size == 0
m.map(&:shift).join + spiral_print(m.reverse.transpose)
end

这种程度的代码在 Ruby 项目里还算是很常见的。
(不会写得这么简洁,肯定会有注释和合理的变量名,但基本是这个程度的东西。)
当然,要是让新人把 Ruby 当成 Python 甚至 Java 来写,那确实不难,只不过我不会考虑和这样的人一起协作开发。
undefine2020
2022-01-24 12:09:48 +08:00
从国外 remote 招聘信息来看,后端好像 nodejs 是最热门的,但是从国外普通招聘网站看,后端第一是 java ,第二是 php ,就挺奇怪的
xieren58
2022-01-24 12:14:45 +08:00
nodejs + rust
nine
2022-01-24 12:22:47 +08:00
Ruby 吧,我做过 30+人 Ruby 团队,90%是 Java 培训转过来的,另外 10%是在之前公司 Java 培训转的。
后端基本 2-3 周就上手了。当时主要是要全栈,国内 react 刚起步,培训起来费劲。毕竟写业务也都要写表单的。
lonenol
2022-01-24 12:35:01 +08:00
肯定是 Java 啊。。。考虑一下生态。。
liuhan907
2022-01-24 12:38:36 +08:00
不考虑历史包袱,那就 C#。
jitongxi
2022-01-24 13:14:59 +08:00
重业务还是 java(个人更喜欢 kotlin), go 是公司在用,go 和 php 初始结构不行, 后面就是一团 X
lululau
2022-01-24 13:18:30 +08:00
swift 和 kotlin
redvoilin
2022-01-24 13:19:24 +08:00
@msg7086 你说的没错,主要还是看团队情况和团队要求了,我想说的是新手刚接触其实少用 ruby 的语法糖也完全可以写,这样的代码也清晰易懂,并且写起来效率也不低
seansong
2022-01-24 13:22:11 +08:00
会写哪个就用哪个,不明白 C++和 Rust 为啥被鄙视了
popil1987
2022-01-24 13:25:44 +08:00
python:慢,异步的库极少。有 fastapi 又怎样,sqlalchemy 这样的 orm 有异步又没完全有,文件读写异步也残缺。python 不适合 web 的后端的前端,可以作为后端的后端。比如 AI 应用,支付等,因为库多啊。fastapi 做接口。
typescript:可以全栈,性能不错,后端有 nestjs ,前端有 react ,orm 有 prisma ,生态极其丰富
ruby:慢
elixir:函数式,并发并行模型极其优秀,whatsapp 和 discord 的成功故事。就是计算性能不如 java ,go 。不过有 rustler 可完美使用 rust 来提高计算性能,极其适合做后端的前端,orm 有 ecto ,graphql 有 absine ,就是其它的库少啊,和 python fastapi 做后端的后端配合,计算密集和 rust 配合
java/scala:生态极其丰富
go:部署方便,可以卖软件不卖代码。并发模型可以说和 elixir 一样简单,但是条件竞争问题和没法和函数式比
haskell:在可重用上以上编程语言无人可比,确实太适合做业务,频繁更改需求,减少出错几率。尤其 reflex 可以 web 、android 、ios 通吃,性能并发也很好,可惜了学习曲线太高,生态不太丰富(由于开发效率极高,大家喜欢从头写一套)真可惜啊
cwcc
2022-01-24 13:28:43 +08:00
PHP 搞起来,毕竟还是世界上最好的语言哈哈哈。只要你不怕写 dollar 符号被说崇洋媚外,PHP 永远的归属(非狗头)。

- 天生适合写 Web 业务。
- 写并发多开进程。( fpm 可以调,cli 下的 Workerman 、Swoole 也可以调)
- 库用 composer 一拉。
- 部署直接静态编译一份 PHP 到处带。
aababc
2022-01-24 13:31:51 +08:00
PHP 怎么可以被遗忘!写 Web PHP 确实牛逼,再配合上 laravel 简直无敌了!
fx
2022-01-24 13:54:28 +08:00
Ruby
Elixir

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830159

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX