转语言真的这么容易吗?

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

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

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

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

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

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

7005 次点击
所在节点    程序员
75 条回复
jiayouzl
2023-11-03 15:51:34 +08:00
我 PHP,node,java,Python,go,C#需要什么就用什么,甚至易语言也是拿来即用.
ihciah
2023-11-03 15:54:42 +08:00
不同语言还是有自己的思维模式的,相似模式的很容易切换。我写过 py/go/cpp/rust ,但就是写不来 js/java 。
superkeke
2023-11-03 16:09:54 +08:00
C/C++ ,Objective-C ,Swift ,Javascript ,Java ,Kotlin ,Dart ,语言快,特性和生态要时间
cambria
2023-11-03 16:09:59 +08:00
掌握基本语法:容易
理解语言特性:一般
熟悉语言生态:困难
精通语言内核:想屁吃

还有个前提是有计算机基础知识和底层开发语言( C/C++一类的)开发经验
coolair
2023-11-03 16:13:25 +08:00
那些说容易的都是写的屎山,只是用不同的语言模仿熟悉的语言去实现业务而已。
getzhujie123
2023-11-03 16:15:21 +08:00
不管是 PHP ,java 还是其他语言,只要能做到一门语言真正精通,再学其他语言都能触类旁通,自然能学的很快把
liujavamail
2023-11-03 16:17:54 +08:00
我看那些教学课程里,go 语言的视频教程, 凡是讲师直播手写协程的, 没有一个能很顺畅的就写对的, 调试有的都调试了一个小时才发现问题, 还是看起来很牛的讲师
ShadowPower
2023-11-03 16:36:24 +08:00
我个人的经历:
从完全没摸过任何苹果设备,到会做 iOS 开发(用 Objective-C 和 UIKit ,能边查文档边按要求实现功能),共花了 3 天。
那时候是 iOS7 ~ iOS9 时代。

第一天就差不多把 iOS 开发需要掌握的知识搞清楚了,里面涉及到的东西:

MVC 模式:提前学会了……

Objective-C:其实 3 天都在学这个,在此之前已经写过了 Java 、C#( Unity 的)、C++、Python 。
语法其实不需要刻意记忆,看着现成的代码来写,遇到不会的再查询就好了。
只有这些东西花了我一点点时间:
@property 、代码块对象、ARC

UIKit:我感觉它基本上是仿造 Java Swing 或者 Qt Widgets 来设计的,之前做别的项目的经验也能适用。所以我只记了一些对应关系,比如 QWidget 对应 UIView……

之后就是找一些类似于 awesome-xxx 之类的项目看看有哪些现成的库可以用,比如 AFNetworking 、Masonry 。

做项目的过程中慢慢掌握其他东西,现学现用。

PS:没有看过 iOS 开发教程/图书
yangzzz
2023-11-03 17:00:44 +08:00
我认为只要基础语法上手了,多些一些项目就已经可以算是入门了。因为 GO 的语法都比较简单,所以很多人认为 GO 很简单吧。
thetbw
2023-11-03 17:05:29 +08:00
主要是好多库,思路都变了,写代码没那么流畅了,还要找一些该用哪些库
HFX3389
2023-11-03 17:12:09 +08:00
@cdwyd #3 想看看 Java 味的 Python 和 PHP 的代码
duluosheng
2023-11-03 17:49:08 +08:00
多搞几个练手的项目,就差不多入门了。精通需要时间,入门没那么难。
yh7gdiaYW
2023-11-03 17:51:27 +08:00
工作几年后,如果一直持续学习的话,按项目需求换语言换数据库都不是个事儿,上手很快的
darkengine
2023-11-03 17:59:09 +08:00
跟人类的语言一样,具体要看你“转”到什么程度,是可以到餐厅点餐的级别,还是可以跟人 battle 的级别。
cdwyd
2023-11-03 18:11:48 +08:00
@HFX3389 阿里细的 python sdk 旧版本很明显,新版本很久没看了
kujio
2023-11-03 18:13:01 +08:00
基础的东西都差不多,你会的语言越多,新学一门语言就越容易,很多基础的类/结构体,方法/函数,常用操作,常见设计你都不用看文档就能大概猜到怎么用.
难点在于技术栈,不同的技术栈想要做到熟悉至少需要一两年的工作经验
xuhuanzy
2023-11-03 19:03:57 +08:00
基础的简单,但深入很难,浮于表面的小 demo 谁都能一天搓出。
aloxaf
2023-11-03 19:28:56 +08:00
能实现功能是一方面,能用 idiomatic 的方式实现是另一方面
kakki
2023-11-03 21:06:03 +08:00
cpp ,haskell 学的好换其他的不都是降维打击么。。。
iorilu
2023-11-03 22:11:55 +08:00
@HFX3389 很简单, 你看一些套了几层得什么继承, 一大堆得 class, 什么 get_xxx, Service 之类得词到处飞
肯定就是 java 风格

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

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

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

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

© 2021 V2EX