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

快速掌握一个语言的方法

  •  
  •   inhzus · 2019-11-04 16:29:10 +08:00 · 3074 次点击
    这是一个创建于 1851 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前常在 v 站看到一种观点:快速掌握一个语言的方法就是“粗粗看看语法,就撸起袖子开干,边查 Google 边学习”。

    长久以来我也一直秉持类似的观点,今天看陈硕前辈的书,看到他引用的孟岩 08 年的一段博客,觉得很有道理。内容如下,分享给大家:

    粗粗看看语法,就撸起袖子开干,边查 Google 边学习......在对于这种语言的脾气秉性还没有了解的情况下大刀阔斧地拼凑代码,写出来的东西肯定不入流。说穿新鞋走老路,新瓶装旧酒,那都是小问题,真正严重的是这样的程序员可以在短时间内堆积大量充满缺陷的垃圾代码。由于通常开发阶段的测试完备程度有限,这些垃圾代码往往能通过这个阶段,从而潜伏下来,在后期成为整个项目的毒瘤,反反复复让后来的维护者陷入西西弗斯困境。

    原文链接: https://blog.csdn.net/myan/article/details/3144661

    18 条回复    2019-11-05 10:22:38 +08:00
    Ravenddd
        1
    Ravenddd  
       2019-11-04 16:42:07 +08:00
    写的不错, 按照这个路线就算用来复习加强也是一个好办法
    murmur
        2
    murmur  
       2019-11-04 16:44:11 +08:00
    这是互联网的开发模式,半年先拿出产品,要么被收购,要么被投资,要么因为不被投资人看好倒闭,要么被大厂抄袭丢掉市场
    index90
        3
    index90  
       2019-11-04 17:00:21 +08:00
    我想问问,如果按照这位“老师”说的路子,一般需要花多长时间才能开始做需求?
    DOLLOR
        4
    DOLLOR  
       2019-11-04 17:01:43 +08:00
    一下子没反应过来语言是指“编程语言”还是“外语”
    wqzjk393
        5
    wqzjk393  
       2019-11-04 17:06:06 +08:00
    “真正严重的是这样的程序员可以在短时间内堆积大量充满缺陷的垃圾代码。”
    难道后期不做重构的么。。你学 java 开始纯语法编程,用一堆函数实现了功能;后来接触了面向对象,然后发现用面向对象能很好的解决项目不断扩大功能不断增多的问题,然后用面向对象重构代码;再后来了解到一些框架一些优秀的包,发现比自己的代码效率要高,于是用重新修改代码。优秀的代码是反复迭代出来的啊。
    学习不是应该是这样来的么,难道就是从头抄 google 的代码抄到项目结束么。。。说实在的,快速掌握语言和合理地利用语言特性写代码本来就是冲突的东西,就好比要你一周用没学过的语法写一个项目出来,这种东西你要骂就骂产品经理,跟学习方法没关系,作为一个不反感学习新东西的人来说,如果时间够的话谁不愿意把它学透彻一点啊。
    deorth
        6
    deorth  
       2019-11-04 17:21:53 +08:00
    撸起袖子加油干
    OhYee
        7
    OhYee  
       2019-11-04 17:25:26 +08:00   ❤️ 1
    刚开始学一门新语言写的项目不都是玩具么
    不应该写够一定量,“学会”这门语言后才会去写一些正式点的项目么
    Greendays
        8
    Greendays  
       2019-11-04 17:31:31 +08:00
    理想很丰满
    Leonard
        9
    Leonard  
       2019-11-04 17:34:01 +08:00
    刚入门写出来的代码不入流就不入流呗。你要求一个刚入门的新手第一个项目就高质量约等于劝退。
    不管质量怎样,先能做出东西,才能谈精进。
    cigarzh
        10
    cigarzh  
       2019-11-04 17:42:16 +08:00
    连语法都记不住还能叫掌握吗?
    Orenoid
        11
    Orenoid  
       2019-11-04 17:47:24 +08:00
    正常人不会在初学阶段去写要投入生产的项目吧,这不是扯淡吗。。
    galikeoy
        12
    galikeoy  
       2019-11-04 18:21:13 +08:00
    理想很丰满
    rimutuyuan
        13
    rimutuyuan  
       2019-11-04 18:48:59 +08:00
    半年前刚写 go,全是 interface。几个小项目都重构好几次了,还好活不是很多,不然都堆成屎山
    MaiKuraki
        14
    MaiKuraki  
       2019-11-04 18:53:48 +08:00
    撸起袖子加油干
    mcfog
        15
    mcfog  
       2019-11-04 21:55:46 +08:00 via Android
    不是,这文章后面罗哩叭嗦说了一堆我觉得基本可以涵盖在“粗粗看看语法”的里面,少数超出的部分也没有超出“不懂就查”的范围,我不知道这能算什么观点

    我的观点是:快速掌握语言没有方法,你不会,就是水平没到那个程度,请慢慢掌握好已经在用的语言和第二第三门特征不一样的语言,再来想怎么快速掌握另外一门新语言,还是不会,那就继续递归加强你前三门语言
    EugeneYWang
        16
    EugeneYWang  
       2019-11-05 04:46:27 +08:00
    学新语言的先刷题?
    12tall
        17
    12tall  
       2019-11-05 08:55:46 +08:00
    对于 C 和 Java 的前面部分 确实是认真啃了的 其他的语言就直接开干了~~~
    Deathminip
        18
    Deathminip  
       2019-11-05 10:22:38 +08:00
    两个层级问题啊,如果你工作的时间长了就知道招聘要求上面写的,“熟练使用”和“精通”的区别了。“粗粗看,撸起袖子干”只是写出垃圾代码的原因之一,没必要强行关联
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1041 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:46 · PVG 05:46 · LAX 13:46 · JFK 16:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.