V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Nixus
V2EX  ›  程序员

大家在学习新语言新技术的时候,都是怎么学习的?

  •  4
     
  •   Nixus · 2015-06-07 16:21:03 +08:00 · 5057 次点击
    这是一个创建于 3217 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学些React,教程中讲的东西都看得懂,但是抛开教程,自己动手去实现一个页面的时候,总是不知道从何下手,而且连React的语法格式怎么写都记不起来了……
    请问大家在学习新东西的时候,都是如何学习的?
    有哪些好的学习方法可以改变自己这种被动的状态?
    请分享自己确确实实实践过的学习方法,谢谢

    38 条回复    2015-06-08 13:13:36 +08:00
    hackerwgf
        1
    hackerwgf  
       2015-06-07 16:47:21 +08:00 via iPhone   ❤️ 1
    我的学习方法是动手写一个小项目,个人习惯是看文档然后写项目,就是…即使一边开着翻译看也好。最近的实践是从零开始接触django写接口。
    xingkaixin
        2
    xingkaixin  
       2015-06-07 16:53:13 +08:00   ❤️ 1
    一般就是看官网,然后照着官网的教学项目,走一遍。中间觉得不是很理解的地方,查查官网文档。然后么就是通过stackoverflow和社区本身了
    immjun
        3
    immjun  
       2015-06-07 16:58:09 +08:00   ❤️ 2
    起草一个自己的小项目,使用学到的新语言新技术一点一点地实现出来

    过程中不断的参考新语言的技术文档api文档 和 demo 代码

    等属于你的小项目基本成型了,你也就入门了这门新技术。

    后面的提高就需要对应的技术社区氛围,参与其中,并分享自己的学习经验,学习别人的实践经验。

    最后 大胆地把新技术用于生产项目吧,只有踩过坑,才能更好地掌握这个新技术。剩下的就是享受所学新技术带来的丰厚“回报”和自身的技能树的成长啦。
    laoyuan
        4
    laoyuan  
       2015-06-07 17:16:07 +08:00
    把教程中的每一行代码都自己敲上去,跑通之后按自己的想法改,改到彻底没有疑问。
    laoyuan
        5
    laoyuan  
       2015-06-07 17:16:34 +08:00
    教程是用来敲的,不是用来看的。
    laoyuan
        6
    laoyuan  
       2015-06-07 17:20:27 +08:00   ❤️ 1
    这是我确确实实实践过的方法: http://www.douban.com/group/topic/73878230/
    我用10来天刷完了 Learn Python The Hard Way,现在正在用pyspider 进行生产级开发
    Nixus
        7
    Nixus  
    OP
       2015-06-07 17:35:12 +08:00
    @hackerwgf
    @xingkaixin
    @immjun 感谢三位,虽然也知道要靠用来学,但是一直没有做到,哎……
    linxy
        8
    linxy  
       2015-06-07 17:38:19 +08:00
    多写多写
    我一般是刷题…刷那些不是很难的,能过样例就 行,这是最快熟悉语言方式。
    我学Rust的时候就是这么学的。
    Nixus
        9
    Nixus  
    OP
       2015-06-07 17:40:13 +08:00
    @laoyuan 好羡慕呀!有没有刷React和Golang的?求带
    Nixus
        10
    Nixus  
    OP
       2015-06-07 17:41:28 +08:00
    @linxy 感觉自学一门语言,尤其是比较新的,刷题是件难事:找不到多少题
    lilydjwg
        11
    lilydjwg  
       2015-06-07 17:41:54 +08:00
    @linxy 刷题感觉不划算,我更喜欢直接去写不急需的小程序,写成了还可以用,万一没成就算了,实在需要再拿 Python 弄一个用 :-)
    haiyang416
        12
    haiyang416  
       2015-06-07 17:43:49 +08:00
    最好的方法就是用新技能去实现你已经实现过的东西,比如可以用 React 重构你写过的应用。
    我喜欢每次学新语言后把个人主页后端重写一遍,虽然功能比较简单,但是足够熟悉新技能了。然后我现在已经收集了 PHP,JS(React),Rackt,Chicken,Rust 等多种版本了。

    React 貌似没有什么特别的语法,倒是 Flux 那套东西需要熟悉下。
    laoyuan
        13
    laoyuan  
       2015-06-07 17:44:26 +08:00
    过阵子我可能会刷Ruby... 感觉对不起陪伴我八年的宇宙最好语言
    goophy
        14
    goophy  
       2015-06-07 17:45:48 +08:00 via iPhone
    速看语言语法,理念,基础教程。开始小项目,边写边google,功能实现后,不停re-factory :p
    linxy
        15
    linxy  
       2015-06-07 17:46:49 +08:00
    @Nixus 我是习惯了这样的熟悉语言的方式了…自己有一个小题库,所有语言都用一个,然后写的时候完全不用去想解法,更多是关注点是在语言的细节与如何用语言去实现上。

    @lilydjwg 我python是写爬虫开始学的…自以为能用了,但心里一直不踏实就又刷两个题目。但是写项目什么的,应该是没有刷题之后那种对语言得心应手的感觉。
    goophy
        16
    goophy  
       2015-06-07 17:48:03 +08:00 via iPhone
    Refractoring
    zonghua
        17
    zonghua  
       2015-06-07 18:19:51 +08:00 via iPhone
    @laoyuan 我这么做的后果就是,做到后面忘了前面,泪
    zonghua
        18
    zonghua  
       2015-06-07 18:22:17 +08:00 via iPhone
    @laoyuan 现在视力在下降,对着电脑太多了。
    xlrtx
        19
    xlrtx  
       2015-06-07 18:23:51 +08:00
    在youtube上找个好教程, 一定要用手敲, 不然不容易记住..

    然后最好能自己做个小程序/项目, 如果真要用这个语言/技术的话, 需要至少隔断事件就做一下.
    NearTan
        20
    NearTan  
       2015-06-07 18:49:45 +08:00
    说下最近学习 React 的过程,本人纯后端 JavaScript 基础几乎为零
    先大概了解了下 React 说什么东西,引起了兴趣
    然后补一下基本的 JavaScript 的语法跟闭包等一些特性
    之后跟着官方文档和 Tutorial 来一遍,能做到根据自己的想法改出各种组建的效果
    后来在 GitHub 上发现有 React 写的框架,下载发现需要学习 Gulp 等各种包构建的管理器
    总结就是首先要有兴趣然后入门,写出自己需要的东西,再找些成熟的项目,这样学习的过程就很清晰
    dryyun
        21
    dryyun  
       2015-06-07 18:52:17 +08:00
    找本教程看起来,在学习go。
    lilydjwg
        22
    lilydjwg  
       2015-06-07 19:00:39 +08:00
    @linxy 对语言得心应手什么的,难道不是只有做过各种项目之后才能体会到的么?比如 Python,metaclass 啊 descriptors 啊刷题会遇到么?
    magicdawn
        23
    magicdawn  
       2015-06-07 19:06:46 +08:00
    1. 通读
    while(true){
    2. 写代码
    3. 翻书
    }
    opensu
        24
    opensu  
       2015-06-07 20:26:34 +08:00
    学习了!
    eeeeeeve
        25
    eeeeeeve  
       2015-06-07 21:02:34 +08:00
    @NearTan 你实现了什么牛X的功能呢?
    falcon05
        26
    falcon05  
       2015-06-07 21:06:55 +08:00 via iPhone
    文档先过一遍,了解个大概,然后动手写个小项目,不懂查文档,Google,配合做做笔记,不是很快速的办法,但是很踏实
    fishpig
        27
    fishpig  
       2015-06-07 21:11:38 +08:00
    我也有和你同样的问题啊, 目前都是看编程语法书, 按照书上的例子编程实践! 相互学习! :)
    chiu
        28
    chiu  
       2015-06-07 21:24:23 +08:00
    learn X in Y min?
    lilydjwg
        29
    lilydjwg  
       2015-06-07 21:35:51 +08:00
    @linxy 对了,我也有学习新语言的题。最开始是分解质因数,后来觉得太无趣了,换了一个包含计算、类型转换、字符串处理、I/O 操作和错误处理的 swapview https://github.com/lilydjwg/swapview ;-)
    xiaocsl
        30
    xiaocsl  
       2015-06-07 22:28:19 +08:00
    我:
    买本基础的书,大致撸一遍.

    写几个小项目,打开 Google ,哪里不会点哪里.再自己挖挖坑,自己埋埋坑.几个练手的项目完成后就大概算入了门了.

    其实简单点就还是,多敲代码.
    messense
        31
    messense  
       2015-06-07 22:44:09 +08:00
    最近在学 Rust. 先看了几遍官方文档,然后开始造轮子,用 Rust 重写一些其它语言的库。从简单的东西开始做,写好测试和文档。感觉还不错。
    linxy
        32
    linxy  
       2015-06-07 22:46:22 +08:00
    @lilydjwg 卧槽!原来是聚聚你!!看走眼了!!之前就拜读过相关文章,swapview很棒…学习了
    fy
        33
    fy  
       2015-06-07 23:39:38 +08:00
    翻一翻教程……造轮子……写小项目
    Numbcoder
        34
    Numbcoder  
       2015-06-08 00:14:12 +08:00
    21 天精通 C ++
    lilydjwg
        35
    lilydjwg  
       2015-06-08 01:00:35 +08:00
    @linxy 聚聚?

    swapview 我只是开了个头,绝大部分都不是我写的 :-)
    neo2015
        36
    neo2015  
       2015-06-08 09:14:38 +08:00
    实战派,直接拿起来做东西。虽然很多地方会掌握不住,帮助入门用。学swift的时候就是,直接做了一个APP,目前在苹果审核中
    www0525
        37
    www0525  
       2015-06-08 10:45:38 +08:00
    @lilydjwg lily酱威武~
    holulu
        38
    holulu  
       2015-06-08 13:13:36 +08:00
    玩多了就熟悉了,语法这些都是玩多了就记住 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3272 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:51 · PVG 21:51 · LAX 06:51 · JFK 09:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.