大家的主语言都是什么啊,为什么选择他(她)

2022-04-09 23:23:02 +08:00
 echojoy

是为了快乐编程选择 ruby ,还是因为走上人工智能和机器学习而选择的 python ,或者喜欢为网页而选择前端

2425 次点击
所在节点    问与答
23 条回复
Inn0Vat10n
2022-04-09 23:24:25 +08:00
我不需选择语言,是语言选择了我
leimao
2022-04-09 23:25:27 +08:00
C->Python->C++
sadfQED2
2022-04-09 23:45:44 +08:00
php java go python ,因为钱
realkaiway
2022-04-09 23:51:27 +08:00
Java>>>JavaScript>>>TypeScript>>>Node
从 Java 到 JavaScript 最根本的原因是钱给的多,而且 JS 这门语言的可能性很多,其他的算是业务上的需要~
EscYezi
2022-04-09 23:57:57 +08:00
java ,当时只是觉得 java 能做的事情很多,后来一看工作岗位确实很多。
cmdOptionKana
2022-04-09 23:58:57 +08:00
如果是指工作,影响因素很多,未必能反映个人选择。
ericls
2022-04-10 00:05:48 +08:00
语言是作品的属性 不是程序员的属性
wonderfulcxm
2022-04-10 00:16:50 +08:00
PHP ,因为听说是最好的语言,啊不是,因为 WordPress 天下第一,啊好像也不是,因为我不思进取,是的!😂
Procumbens
2022-04-10 00:18:35 +08:00
为什么是他 /她 不是它?
ldm0
2022-04-10 00:20:42 +08:00
因为快乐选择 Rust
ETiV
2022-04-10 00:22:43 +08:00
小学初中:小霸王和文曲星的 BASIC 、
高中:ActionScript 、网页 JS 、
大学毕业后:PHP 、C/C++、网页和 Node JS

我是纯喜欢写代码而做这份工作…
foam
2022-04-10 00:29:14 +08:00
我在不同场景选择不同语言。
公司工作需要:golang, node.js
想写个开源工具,不希望使用者装依赖,用 golang
在写个开源玩具,本想用 golang ,理由同上。但是依赖的库是 node.js 写的,不想移植过去了,用 node.js 写,问题不大
写点测试小脚本,php 使用库函数不需要各种 import ,require ,写起来快,用 php
写点 mac 原生 app ,原本用 golang 的 cgo 来写,但和 OC 调用时太多不安全指针,且在 oc 申请的内存很难回收,内存泄露严重,所以只好用 swift 写

所以哪个语言在哪种场景适合,我就用哪种语言,不存在主语言。
如果主语言的意思是:
- 最喜欢:好像没有最喜欢,各有喜欢和讨厌的地方
- 工作使用频率最高:过去是 php ,现在是 golang 和 node.js
3dwelcome
2022-04-10 00:32:58 +08:00
WASM

我上学时喜欢先做很难的数学题,因为那样比较有成就感。

工作后也一样,编程语言需要让我感觉有一点难度,才会有持续的动力,正反馈和兴趣。显然 JS 和 JAVA 都没能满足我。

公司规划原因,被划分到了前端组,一开始我内心是抵触的,动不动就上 V2 摸鱼。后来发现,竟然还能用 WASM 来写前端,一下子又重燃编程兴趣,仿佛找回了学校里的感觉。
Mirage09
2022-04-10 00:50:04 +08:00
英语
开会 / design doc / 聊天都用
GeruzoniAnsasu
2022-04-10 00:57:43 +08:00
最近看到不少 golang 的抱怨帖

但我想给 golang 正一下名。
众所周知没有任何语言或套件能解决一切问题。如果语言能解决一部分问题,那么在这部分问题上就是个好选择。

golang 解决了什么问题:

1. 没有菜逼能把程序性能写崩,也不会有 pro 写出你要看很久才能弄清楚妙处在哪的魔法,逻辑很直观
2. bootstrap 一个项目足够简单,有现代的好用的,yet keep it simple 的包管理
3. 对接 ABI 没有什么痛苦,一切可以在 C interface 上完成


这意味着 golang 保持着极低维护成本的前提下还能提供不错的开发效率。

在过去, 能达到 1 效果的语言都因为先天不足非常难以管理构建环境和依赖,看看 C 就知道了。上手一个 5w 行不到的 C 项目,可能都得先研究半个月构建脚本在写什么,甚至怎么往项目里加一个新文件都要试错很久,单元测试也是噩梦,写一个「自动收集某目录下的文件并生成单测 executable 」的「构建脚本」就得花掉不少时间,更别说试图引入一个新依赖包的时候 —— 我 tm 不如想办法复制粘贴一小部分要用的代码得了。


而这一切在 golang 上只需要 go get 和 go test


可以说 golang 的项目我是有自信无论最后写成了一坨什么样的屎,后面接手的人都是能吃得进去的()



golang 粉在吹什么大道至简是吹歪了。简陋得承认,error code 就是冗长。但比起 c++ 能在异常处理里因为捕获的异常对象指针莫名其妙空了而 crash 的这种「异常」(这是我遇到的 ANTLR 生成的 c++代码的一个真实 bug )—— return error code 你一目了然它不可能搞崩 GC 。这种「从简」还相对有道理一点,但表达不出 golang 的优点。




一句话来说,一个语法跟 C 一样简单,且无缝对接 C Interface 和 os native 的,能编译成 standalone 的性能不错的静态类型语言,还能像 nodejs 一样随意下载任何依赖包,着足够现代的生态支持,我认为足以成为任何想要开发面向服务器应用的小开发团队的第一选择。

找不到会写代码的人=>不需要,随便写写不崩
简陋语法写起来很慢=>不用造轮子,你能很快地搜索并一键引入全球的轮子

小公司福音。
uqf0663
2022-04-10 01:21:45 +08:00
全干工程师表示最近一年我主要在写“易语言”,仅仅是因为刚好需求用“易语言”实现最简单快捷。
Zien
2022-04-10 10:38:15 +08:00
当然是汉语或英语了
pursuer
2022-04-10 11:07:11 +08:00
工作之外的话,为了更好的糊胶水,先什么语言都学点,然后主要拿 python 和 c/c++黏。。

@GeruzoniAnsasu 要说用 C 的 ABI ,感觉很少有写起来痛苦的,C++ extern "C"最简单,python 有 ctypes ,jvm 系有 jna ,node 不太了解但感觉大部分语言套上 libffi 都能搞个不错的。Go 的工具链倒是真的简单,但是 Go 的动态性太糟糕了,plugin 到现在依然不支持 windows
findex
2022-04-10 16:49:59 +08:00
@GeruzoniAnsasu 最近在用 go 的后继者 dart 语言。google 把这两个语言拿捏的很稳。现在用 python 做后台,dart 做前端。就是生态不太多,重新发明车轮
GeruzoniAnsasu
2022-04-10 18:00:29 +08:00
@pursuer 使用 C 暴露的数据结构确实大多数语言都没什么瓶颈,但方向调转难度就要陡增了。golang 和 C 几乎可以直接共享所有的数据类型,比如一个很常见的 C 接口接受一个 const char* 或者 struct whatever *,那些有 vm 的语言要从原生层传一个这种结构进去就算谈不上多麻烦吧,起码转译数据结构是躲不开的,而且好多实现被屏蔽了看不到做了啥。在 golang 这就是个「不会被 GC 的 unsafe 指针」,跟 C 的思路完全一致

我是感觉 plugin 属于那种还在 experimental 的东西(虽然发布挺早,但简陋啊),golang 1.11 之前的包管理也很糟糕,但现在已经能吹了不是,以后会有的(大概,如果有人提的话……)。 之前的项目里,需要动态特性的一律无脑 grpc 了,socket 总是能用的。 还是那句话,确实简陋,但轮子很容易接,这点成功弥补了很多缺陷。

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

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

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

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

© 2021 V2EX