V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kushu001
V2EX  ›  程序员

都说学会一门技术语言,然后再学习另一门技术语言就很简单了,你们有这样的感觉么?

  •  
  •   kushu001 ·
    NeegixOpensourceGroup · 14 小时 43 分钟前 · 2006 次点击
    本人主要使用 java (当时花了非常多的时间去学 java se, spring mvc ,springboot 等),然后因为要用前端,学过前端的一些技术 js,css,html 和一些前端框架 reatjs, vue 等

    然后后来开发过 flutter 的 app ,学了点 dart ,说实话学的不精。

    然后现在想学一下 swift ,做一些 mac 开发或者 Ios 开发(买了三年的 macbook pro ,居然没有开发过)

    给我的感觉是,除了前端(可能本身比较简单?),感觉学其它的语言的时候,感觉还是挺吃力的(可能英语不是很过关?), 似乎没有那种会了一门语言,学习其它语言就很简单的感觉。

    本来也用过 python, php ,这些脚本语言相对来说简单一点,python 我开发的时候很多是借助 ai 的。

    跨语言的时候,感觉其它语言的很多写法,有点不太适应。然后还是要重新去学习一下😅,学的时候感觉又是很痛苦的过程。你们有这样的感觉么
    37 条回复    2024-12-26 23:50:43 +08:00
    Gilfoyle26
        1
    Gilfoyle26  
       14 小时 38 分钟前   ❤️ 3
    学会一门语言,这个语言指的是 c++,而不是其他语言。
    adtxl
        2
    adtxl  
       14 小时 38 分钟前
    rust 把我干懵逼了
    kushu001
        3
    kushu001  
    OP
       14 小时 36 分钟前
    @Gilfoyle26 原来如此,我也学过 c, c++; 不过都是在学校学的,早就忘得一干二净了😅
    flytsuki
        4
    flytsuki  
       14 小时 33 分钟前
    差不多,我目前写过项目的有 java,c#,c++,go,ts/js,dart 等,然后在 rust 上栽了跟头
    MrDarnell
        5
    MrDarnell  
       14 小时 32 分钟前
    @Gilfoyle26 你说的还真不一定对,但我不想反驳
    alfa
        6
    alfa  
       14 小时 31 分钟前
    我大一抱着 C++ prime plus 啃,大概懂个 6 成,之后其他语言几乎没啥太大的障碍。
    CodeCodeStudy
        7
    CodeCodeStudy  
       14 小时 30 分钟前   ❤️ 2
    c,c++,rust 是一个级别,java,c#,go 是另外一个级别 ,javascript,python,php 又是另外一个级别
    geekjoehome
        8
    geekjoehome  
       14 小时 30 分钟前
    只能说再去学相似的语言会容易点,比如 C 系列语言、java 、Kotlin ,本来就是一脉相承的。但有些如有思考方式、概念有很大差别,之前学习的知识反而是阻碍,要去适应一下
    lancelock
        9
    lancelock  
       14 小时 28 分钟前
    扯淡的。所有语言是由语法特性组成的。你学的语言包含的语法特性够多这句话才成立,比如 c++
    AlexHsu
        10
    AlexHsu  
       14 小时 27 分钟前
    变量 数据类型 数据结构 流程控制 异常处理 面向对象相关的 多线程 网络 函数式 这些都是共通的 肯定不用重复理解 掌握差异就行了 肯定会比从零开始容易
    rust 确实奇葩 所以 rust 这玩意要是不用学起来没啥意义 学完就忘
    vacuitym
        11
    vacuitym  
       14 小时 23 分钟前
    最早在学校学的 C ,确实感觉学其他的很简单,当然说简单也只是处于可以写,磕磕绊绊的写,并不是说精通
    liyafe1997
        12
    liyafe1997  
       14 小时 22 分钟前 via Android
    编程语言是要学的吗...甚至语言本身都不是一个值得讨论的问题。编程语言就像各种工具,比如螺丝刀,钳子,用到了自然会,不会的话看两下说明书(文档)也就会了。

    相比工具(编程语言)本身,更重要的是做什么,怎么做,用什么平台,框架怎么搭,再选择合适的工具(编程语言)。

    如果感觉编程语言要学,学起来痛苦,甚至连 C 都能「忘得一干二净」,建议真的考虑下自己适不适合长期从事/深耕这个行业。

    (还有一个原因是,C 是最接近机器语言的高级语言,本身就代表计算机的工作原理和基本思想,语言本身也就那几个 feature ,如果真的懂计算机&从事计算机工作的话,实在想不出怎么可能把 C 「忘掉」)
    yangzzzzzz
        13
    yangzzzzzz  
       14 小时 22 分钟前
    学校学的 c java android ,当时觉得 c 是写着最舒服的,结果毕业干了 前端+.net
    XuDongJianSama
        14
    XuDongJianSama  
       14 小时 22 分钟前   ❤️ 1
    吃力不吃力主要看 ide 好不好,坑多不多,难的不是语言,是 api
    wuyiccc
        15
    wuyiccc  
       14 小时 16 分钟前
    学的第一个语言是 c++, 学的第二门语言是 java ,结果花了半年的时间才把 java 和 c++分开
    NewYear
        16
    NewYear  
       14 小时 15 分钟前
    只要别碰汇编,怎么都好说,你要是染上了汇编,就索然无味了。

    我是学了 VS 的 C#后,再也没法学其他语言了,连个自动补全代码都不完善……怎么搞嘛……
    平时也写写 js ,自动补全居然是错的。
    msg7086
        17
    msg7086  
       14 小时 14 分钟前
    把 Haskell 往你头上一丢,纵使你日用 C++也没用。

    不过上手快还是快的,肯定比一窍不通从零开始学的人要快得多。
    msg7086
        18
    msg7086  
       14 小时 13 分钟前
    @NewYear 动态语言的代码补全肯定没法和静态语言比的。
    JS 都能原地动态给对象做手术,怎么补全嘛。
    visper
        19
    visper  
       14 小时 10 分钟前
    学会了一门语言,那基本的一些东西可能你已经知道了,比如什么是数字,字符串,编码。基本数据结构如数组字典等。基本程序概念循环递归条件等。那基本这些在不同语言里面都一样。另外就是看语法是不是同一系列的。比如 C 语法系的,或者 basic 那些系列的。不过现在大多 C 系列的。像 lisp haskell erlang 那些差别太多的基本遇不到。 另外有些思念上不同点的有 GC 语言和无 GC 语言这些。不过更重要的是会什么,而不是什么语言。你只会做 web 服务,那么不管 go java python rust c++ 你都是只会用来做 web. 你会写游戏,那或者就是用这些语言做游戏。
    PTLin
        20
    PTLin  
       14 小时 4 分钟前
    学会语法只占整个学习生命周期的 30%。
    剩下的最佳实践,常用库,各种各样的坑和一些语言底层原理才是真正的大头。
    比如你重度使用 java 后学习 dart 和 flutter ,dart 的 oop 概念和 java 很像但是 dart 的并发模型对你肯定是新的东西,如何运用好 dart 的 async 就是一个挑战,使用 flutter 还要详细学一些 flutter 底层原理才能更好的理解 flutter ,并且常用的库状态管理 bloc ,json 序列化库又是需要了解的东西。
    所以真想要用好一个语言很难简单的学会。
    henix
        21
    henix  
       14 小时 3 分钟前
    可以多从特性的角度比较不同语言,把语言拆分成特性,掌握一种语言之后,再掌握有相同特性的语言就容易了
    比如同样是迭代,有些语言是 for 循环,有些是 iterator ,还有些是 generator
    比如 js 数组的 filter map ,Python 里有一样的东西
    再比如一些多线程数据结构,如果你掌握了 Java 的多线程,在 Python 里也可以用类似的方式思考:
    https://stackoverflow.com/questions/10236947/does-python-have-a-similar-control-mechanism-to-javas-countdownlatch
    encro
        22
    encro  
       13 小时 56 分钟前
    应该是吧,至少 2 周上手写程序没问题吧。。。

    我一般 2 天就可以写程序了,2 周就不错了,2 个月能超过 80%的人吧。
    Mark24
        23
    Mark24  
       13 小时 36 分钟前
    前提是 你学的是 另一个的超集。

    如果你入门的是另一个语言的子集,要学习很多。
    huangyezhufeng
        24
    huangyezhufeng  
       13 小时 10 分钟前
    个人的体验是, 学过 Python 再去学 R ,Js 没那么难;学过 C ,Haskell ,再去学 Scala ,Elixir ,Rust 也相对没那么难。
    csys
        25
    csys  
       12 小时 58 分钟前
    语言范式不一样啊

    我自己感觉如果说能有一个“学了这个编程语言就能让其它语言的学习更容易”的编程语言的话,也许会是 lisp 或者 scala 这种?
    DOLLOR
        26
    DOLLOR  
       12 小时 45 分钟前
    @NewYear
    这就是 TS 流行的原因。如果没有 TS 那套工具链,JS 不仅缺少类型检查,就连补全都是残废,开发体验极差。
    paopjian
        27
    paopjian  
       12 小时 41 分钟前
    前端真的简单吗, 现在都是三方库满天飞, js 只是个载体, 实际语法糖好多都是框架带来的, 不会是真的不会. 看 leetcode 题解, 其他语言倒是也能转过来
    sagaxu
        28
    sagaxu  
       12 小时 28 分钟前   ❤️ 1
    撇开操作系统和网络等基本功不谈,

    语言:语法,标准库,技术规范,底层实现,演化历史

    生态:主流框架/库的使用和底层原理,各种需求场景下的选型

    功力:Thinking in XX ,XX 语言在 YY 生态下解决某个需求的最佳实践


    学会一门语言,只不过是粗通了这个语言的语法,离能干活和干好活还差的远着呢,再简单也是需要时间和项目经验积累的。否则,很容易在用 B 语言的时候,寻找 A 语言 XX 用法的平替,思考方式还是 A 语言的,不地道。


    https://www.v2ex.com/t/1100354 就是个例子

    别的语言,比如 C++, PHP, Go 封装一个 LogUtil 可能比较有必要,但在 Java 中,slf4j 就是事实标准,它只是个接口,其内部实现每一层都能自定义,统一汇总上报,分布式服务调用链 trace ,动态调整日志级别,脱敏等等都可以在不侵入接口的前提下很方便的实现。技术负责人沿用之前习惯,那便是“学会一门语言,再学其它语言很简单,但容易用的不地道”的例子。
    catazshadow
        29
    catazshadow  
       10 小时 52 分钟前
    我先学了 C ,然后学了 OCaml ,然后学了 rust ,然后学了 Lisp
    seers
        30
    seers  
       10 小时 42 分钟前 via Android
    学的 c ,然后其他语言感觉都挺简单
    kneo
        31
    kneo  
       10 小时 27 分钟前
    每个人情况都不一样。有时候承认自己没别人那么厉害是更有效率的做法。
    HRTops
        32
    HRTops  
       10 小时 16 分钟前
    这语言那语言,以后都可以用“AI 语言”代替了,哎~~不是以后,现在就快了
    anivie
        33
    anivie  
       9 小时 13 分钟前
    指的是一个家族,如果你对一个家族成员很熟悉,那么学习家族的其他成员就相对比较轻松
    auh
        34
    auh  
       8 小时 24 分钟前
    精通一门语言,然后对比着学习,我觉得很快。而且,能更深刻领略不同的编程语言的设计艺术。感觉编程语言设计的魅力。
    基本数据类型,逻辑控制,函数定义,代码组织,包管理,类,对象概念,多线程。内存管理。高级功能。
    然后,就是各种项目组件,日志,文件 io ,等等,最后找一些 most popular 框架,上手写写。
    我所接触的大部分,编程语言,按照上面的随便学习一下,找个项目练习一下,就差不多了。一个周撑死就无缝衔接了。
    hazardous
        35
    hazardous  
       8 小时 9 分钟前
    写了很多年 C++了,js 和 python 都很容易上手,但是 java 就不行,语法倒是没啥,spring 这一套连入门都入不了。
    5261
        36
    5261  
       7 小时 58 分钟前
    @adtxl rust 的符号是所有语言中最多的,也着实把我干懵逼,目前在看第二遍文档,边学边整理笔记!
    abcbuzhiming
        37
    abcbuzhiming  
       7 小时 53 分钟前
    @CodeCodeStudy
    rust 是单独一级的,C++都比不上,C++你不用特别精通,至少能写出 1+1 = 2 来; rust 如果你上手不能理解它那套思路的话,对不起 1+1=2 都编译不过去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1342 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:44 · PVG 07:44 · LAX 15:44 · JFK 18:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.