V 友们都是怎么学习一门新语言的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
xuyl
V2EX    程序员

V 友们都是怎么学习一门新语言的?

  •  
  •   xuyl 2018-01-26 16:22:43 +08:00 6172 次点击
    这是一个创建于 2820 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大神都有哪些高效的学习方法?我现在在看 Go 的手册,看得不耐烦。但不过一遍的情况下,看别人的代码处处要查文档也累。王垠的博客《掌握所有编程语言》里的学习方法是挺科学的,但难度不小,我不是天资聪慧的那种人,有时候无法做到融会贯通,也不能轻易抓住问题的本质。

    41 条回复    2018-02-01 09:12:40 +08:00
    MrLin
        1
    MrLin  
       2018-01-26 16:26:42 +08:00
    看一个开源的框架,比如 gin
    xuyl
        2
    xuyl  
    OP
       2018-01-26 16:30:29 +08:00
    @MrLin 入门学习就看框架,没有前导知识各种看不懂。
    Luckyray
        3
    Luckyray  
       2018-01-26 16:34:40 +08:00
    go 的教程简直不要太友好了...跟着做一遍就行了呀。你难道直接看文档?
    lingyv
        4
    lingyv  
       2018-01-26 16:35:20 +08:00
    官方文档 + 多用
    xuyl
        5
    xuyl  
    OP
       2018-01-26 16:37:29 +08:00
    @Luckyray 我不是说 go 的文档不好,相反是很好,很容易看懂。我的问题是如何高效学习,看文档太枯燥。
    zjsxwc
        6
    zjsxwc  
       2018-01-26 16:38:49 +08:00
    掌握基本语法,写代码时全靠 idea 提示,就已经能干项目了,然后代码写久了,别人的代码也看多了,这个语言就就差不多了。

    对于 Go,掌握基本语法不需要多少时间,1 小时就够了
    aksoft
        7
    aksoft  
       2018-01-26 16:56:46 +08:00
    我也刚学,因为有需求,所以拿起来就是干,遇到问题在 google
    ai277014717
        8
    ai277014717  
       2018-01-26 17:15:49 +08:00
    感觉现在语言都一个套路,就是语法不一样。
    有些基本语法都是通用的实在不行先上去写。慢慢的学习特性。
    觉得 swift 很优秀。语法简洁优雅,类型安全。效率也不错。可惜使用场景太少。
    natforum
        9
    natforum  
       2018-01-26 17:17:02 +08:00
    看书《 7 天学会 xxx 语言》
    SuperMild
        10
    SuperMild  
       2018-01-26 17:39:50 +08:00
    可以试试做笔记,写技术博客,写几个可以说明一个特性的代码片段,包括故意使用错误语法,还可以用新语言写一个函数来实现自己原已学会一种语言的相同功能函数,把这些代码片段整理一下就是一篇很不错的博文了。这样就不枯燥了。
    ranwu
        11
    ranwu  
       2018-01-26 17:41:24 +08:00
    看基本语法,然后刷算法题
    XIVN1987
        12
    XIVN1987  
       2018-01-26 17:42:47 +08:00
    不看教程,直接上手码,,遇到问题就 Google
    WordTian
        13
    WordTian  
       2018-01-26 17:42:57 +08:00 via iPhone
    了解基础语法,熟悉网络 文件读写 数据库 多线程等常用库,就是干
    extra888
        14
    extra888  
       2018-01-26 17:51:43 +08:00
    无论学啥语言都需要动手去操作,不然都白搭
    largecat
        15
    largecat  
       2018-01-26 19:07:14 +08:00 via Android
    基础语法肯定要先看一次的,这个免不了,有编程基础的,再学别的,基础语法可能就几个小时的事,如果没有基础,那就是要好好看了,
    看完了,选个自己有兴趣的,写一个成品出来,写完了基本就入门了,只是入门哦,就是有感觉了。
    熟练的话,多写多练了。
    prolic
        16
    prolic  
       2018-01-26 19:10:32 +08:00
    直接写项目,照着自己熟悉的语言写,有问题就去查。不过这样有个缺点,无法写出 xxnic 的代码
    likuku
        17
    likuku  
       2018-01-26 19:11:51 +08:00
    官方入门文档看完,接着就找出自己最近做过的其他语言写的东西 /模块,拿新语言重新实现一次。

    随时搜索 /查手册。
    xiaoke0718
        18
    xiaoke0718  
       2018-01-26 19:36:22 +08:00
    @XIVN1987 请问你是如何上 Google ?国内搜索搜了没找到合适的,是不是搭建 v 搬 p 瓦 s 工?
    XIVN1987
        19
    XIVN1987  
       2018-01-26 19:38:18 +08:00 via Android
    @xiaoke0718
    用的 vutrl 2.5 美金的,现在还能用,,就是速度慢
    xiaoke0718
        20
    xiaoke0718  
       2018-01-26 19:41:52 +08:00
    @XIVN1987 哦 谢谢
    timothyye
        21
    timothyye  
       2018-01-26 19:56:25 +08:00 via Android
    @xiaoke0718 搬瓦工 cn2
    cxbig
        22
    cxbig  
       2018-01-26 20:05:40 +08:00
    找所有你能找到的资源
    1. 找合适自己的学习方式:书、音频、视频、培训机构等
    2. 找人学脸皮要厚:带几遍教程,配置环境等
    isbase
        23
    isbase  
       2018-01-26 20:09:03 +08:00
    一般来说,在学习一门语言之前是有某个问题需要解决,抱着解决问题的态度去学
    BBCCBB
        24
    BBCCBB  
       2018-01-26 20:15:45 +08:00
    我记得是过了一遍<go 圣经>
    guog
        25
    guog  
       2018-01-26 20:18:08 +08:00 via Android   1
    两天把文档大致看完,边干边学
    leo9960
        26
    leo9960  
       2018-01-26 20:27:11 +08:00 via Android
    想几个自己感兴趣的小项目,用新语言写几遍就能掌握基本的语法了,然后再用开源的框架写个项目。看源码都是比较后面的事情了,刚开始看了也看不懂还容易让自己失了兴趣
    zdkmygod
        27
    zdkmygod  
       2018-01-26 20:36:47 +08:00
    先看完基础语法和官网教程(如果有教程的话),然后去 github 上找用这种语言写的项目研究(从简单到复杂),然后用这种语言实现一个用以语言实现过的需求,然后基本上可以掌握这种语言了。
    xiaoke0718
        28
    xiaoke0718  
       2018-01-26 20:55:16 +08:00
    @timothyye 多少钱
    lights
        29
    lights  
       2018-01-26 21:04:26 +08:00 via iPhone
    @xuyl 可是看文档最有效
    winglight2016
        30
    winglight2016  
       2018-01-26 21:25:35 +08:00
    不同语言学习方法不一样啊,比如 python,我跟着免费教程学了几个小时,基本上算掌握了吧,只是有个别语法的思路需要转换以及很多流行的库需要熟悉。而 scala,我几次想要学下去,但是那个思路真的难以理解,最后还是放弃了。所以,你先考虑一下学什么语言再提问,这样比较靠谱。
    winglight2016
        31
    winglight2016  
       2018-01-26 21:26:44 +08:00
    @winglight2016 哦,没看到 go 这个关键字,还是补充一下,我买了本书《 go 语言实战》,然而还没开始看。。。
    timothyye
        32
    timothyye  
       2018-01-26 21:52:56 +08:00
    @xiaoke0718 用优惠码,一个月 5 刀多点
    yomiko123
        33
    yomiko123  
       2018-01-26 22:24:28 +08:00
    技术升级也是累
    andreby
        34
    andreby  
       2018-01-26 22:42:36 +08:00
    为什么要学 go 来搞 rust 啊
    mysticzt123
        35
    mysticzt123  
       2018-01-26 23:53:35 +08:00
    看完语法 然后拿 gin 撸了个后台 再回来用 nodejs 写后台 发现简单了很多
    abcbuzhiming
        36
    abcbuzhiming  
       2018-01-27 00:06:49 +08:00
    1.hello world
    2.定义个变量,赋个值,然后输出它
    3. if else,for,while。。。。
    4. 定义个函数,调用它
    走完这几步你基本就可以开始上手写东西了,剩下的都是语言生态圈内容
    maemual
        37
    maemual  
       2018-01-27 00:16:09 +08:00 via Android   2
    感觉楼主想要的不是语法入门文档,而是 best practice
    vegito2002
        38
    vegito2002  
       2018-01-27 04:42:39 +08:00
    看一遍 tutorial, 然后直接写点小东西. 比如 golang, 当你直接写的时候, 碰到讲不通的问题就 Google, 你放心, 你转语言的时候碰到的这些问题, 都有人碰到过问过, 所以一般都能搜到答案.
    yiqiao
        39
    yiqiao  
       2018-01-27 10:16:52 +08:00
    直接找个项目直接练手,我学 python 写爬虫,遇到问题就 google,基本就解决了。
    zhicheng
        40
    zhicheng  
       2018-01-27 15:12:37 +08:00
    实现一个该语言的编译器。
    timothyye
        41
    timothyye  
       2018-02-01 09:12:40 +08:00 via Android
    @xiaoke0718 现在最便宜的 QN 机房,也连了 CN2,年付 19 刀
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2718 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 48ms UTC 14:56 PVG 22:56 LAX 07:56 JFK 10:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86