转语言真的这么容易吗?

2023-11-03 13:40:21 +08:00
 ThinkStu

在 v2 里面泡的久了,经常能在许多帖子下面看到有人说“转语言非常容易”,Go 语言能半天入门 、Java 太简单了之类的回复。

但是在我看来事情却没那么容易,换一门语言就意味着框架、最佳实践、对接第三方开发等都要重来一遍。自从 4 个月之前从 Java 转到 go ,过程中经历了许多“痛苦”,慢慢的我发现转一门语言没有那么容易,学了四个月都不敢说自己已经掌握 go 开发,越学到后面发现自己不会的也越多,同时 Java 的语法也忘了一些。

作为一名对编程有着较大兴趣的爱好者,想知道大家对此事的看法。

1. 转语言是否是一件容易的事?

2. 真的有人同时擅长多门语言,并且写的都不赖?

7005 次点击
所在节点    程序员
75 条回复
volvo007
2023-11-03 22:44:13 +08:00
@liujavamail 看了好几个教程同感…… 感觉这些讲师对 go 的协程也没有达到融会贯通的程度,所以出错了排错要很久。另一个极端是,我遇到一位讲师从 g 家出来,一看就是 go 老手了,各种信手拈来,但是对于初学者有点过于随心所遇,“亿点点细节”我们跟不上啊😅
mythabc
2023-11-03 22:47:57 +08:00
仅就业务开发而言,在熟练掌握一门语言后,其他的语言可以一边用一边问 ChatGPT ,比啃厚书/文档的效率高很多
Ericcccccccc
2023-11-04 01:02:26 +08:00
你写业务代码, 基本上几天就学会了.

业务代码都是这样的: 你从 A 处获取数据(无论是数据库, 缓存还是 RPC, 直接抄现成的写法就行), 加工一下, 一般就是 list, map, set 几个简单的结构用一用就搞定, 返回给 B
icy37785
2023-11-04 02:04:41 +08:00
我在工作中前前后后写过十几种语言的代码,大多数开始写之前都没碰过,打开手册就开始写业务,写出来也都能跑,你问我转语言写一段能跑的代码交付难不难,那是不难的。
但是你问很好的掌握一门新语言难不难,想融入一门新语言让自己看起来像本地人那还是需要很多时间的。
Imindzzz
2023-11-04 07:44:57 +08:00
语言的语法只占软件工程的少部分。
Java 后端转 Go 后端一天就行了,转 Android 起码一个月吧?
FlashEcho
2023-11-04 09:54:20 +08:00
转语言,至少原来你能用语言 A 做到的事,也要能用语言 B 做到吧?
比如你原来能用语言 A 在 leetcode 上顺畅刷题,转了之后也能用新语言刷,不会有数据结构不会写
原来能用语言 A 找到工作,熟悉关于语言 A 的八股,转了之后,也能用语言 B 找到工作,熟悉关于语言 B 的八股
不然算什么转语言?充其量算是在学会语言 A 基础上,学了一点语言 B
keymao
2023-11-04 10:44:06 +08:00
高级语言只是语法和特性不同罢了,本质上一些涉及到基本逻辑处理的地方都是类似的,只不过写法或叫法不一样。

至于什么最佳实践之类的,都是深入了解到语言自己独特的一些功能和特性后重新组织和构建自己现有业务逻辑的一种说法罢了。 你用来构建软件,不算很难。 但是如果想要优化软件性能,你就得对这门语言有相当的了解才行。 浅的需要了解语言最新的特性和功能,深得需要了解对应的语言的虚拟机、解释器甚至是编译器等等。
docxs
2023-11-04 11:06:39 +08:00
说简单的,只是用语言写写 if else ,涉及到调优,这个得了解整个语言生态,这是有学习成本的,有哪些工具,如何分析,这个对新手不是那么容易的
threebr
2023-11-04 11:31:29 +08:00
又不是不能用,能实现需求就行了。什么时候各位程序员能意识到代码不是产品,代码运行的结果才是产品
danhahaha
2023-11-04 11:31:51 +08:00
一般人转语言不得先用一周查这种语言的各种优缺点,然后再用一周在论坛与人辩论,再用 2 天搭个环境,再摸鱼半天,半天打个 hello world ,感觉不过如此,再花 2 天与人论坛辩论,再过大概半年有个该语言的相关项目,一拍脑门,这语言我学过呀,然后一周连学带做项目,学会了,转语言成功
Evovil
2023-11-04 14:51:43 +08:00
有了 chatgpt 后转语言难度直线下跌。

不管是 c++还是 rust ,不懂就看看源码
多写,多趟几个坑,就熟悉了。

前提还是基本功打好。
zhaohua
2023-11-04 15:54:17 +08:00
我的历程是 c#->javascript(nodejs)->golang->java. 当然前后快 10 年了.
nodejsexpress
2023-11-04 19:47:29 +08:00
拿一段 C 的代码换成 python ,或者那一段 go 的代码换成 python ,nodejs 等等不难。

难得是让你重新开始用一门新语言写一个新项目,而这个项目在原来语言上是没有的。
ivvei
2023-11-05 01:23:32 +08:00
@nodejsexpress 这个也不难。网上搜搜代码就行。问 ChatGPT ,让它开个头也可以。
bianhui
2023-11-09 08:19:14 +08:00
我工作除了 java 主流后端语言全都用过(工作中)。其实只要你对一门高级语言理解的透彻(当然 c 的概念还是得理解的),千变不离其中。花一天看一下这个语言的语法,特性。剩下六天,找一个你最擅长语言写过的一个中小项目,直接用新学的语言上手去做。遇到不会的就去查。7 天足够到应用与入门程度了,至于精通,肯定会随着你的使用越来越深。根本不需要什么这个教程,那个教程的。

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

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

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

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

© 2021 V2EX