最近学习语言的感想 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sensui7
V2EX    编程

最近学习语言的感想

  •  
  •   sensui7 2017-01-07 03:14:06 +08:00 via iPhone 4573 次点击
    这是一个创建于 3204 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近学习了 scheme , python , ruby ,正在学习 c 中。
    scheme 只学了一点,为了 sicp 学的但后面几章吃力暂时放下了。

    之前只会 Javascript ,了解了这些语言真的给我很大启发,让我对程序有了更多的认识。
    比如 scheme ,对命令和数据的统一对待。
    比如 ruby ,更高程度的抽象(向自然语言靠近)
    而正在学习的 c 语言,让我对程序在机器上的实现有了更多了解。
    至于 python ,让我明白了什么样的语言会流行,简单易学,类库丰富,除此以外,这门语言个人觉得没有任何亮点, python 的哲学应该是实用。

    之前还发帖问 lambda 和迭代器的问题,直到我学了 ruby ,才发现这些是 ruby 里最为常用的特性,而 python 迭代器竟然在标准库里。
    还有 with ,叫什么情景管理器,好 fancy 的名字。然而在 ruby 里,这种需求根本不需要单独做支持, ruby 的 block 功能完美的实现了这种操作。可见, python 的原则就是你们需要什么,就额外增加语言支持,这种打补丁的方式真的让人呵呵了。

    未来计划, c 学完学数据结构和算法,然后 haskell , c#. c++和 java 暂时不想碰,感觉坑太大。不知道什么时候能搞定。
    但是 c++和 java 又是这些语言中最广泛使用的,像 haskell , c ,除了开开眼界好像也真的不会去做什么。所以我很纠结。
    这篇本来应该发到博客,可是懒得整理成文。
    24 条回复    2017-11-21 15:56:46 +08:00
    onlyhot
        1
    onlyhot  
       2017-01-07 03:16:40 +08:00
    为什么可以学的这么快?
    Lonely
        2
    Lonely  
       2017-01-07 03:22:28 +08:00 via iPhone
    有本书叫七周七语言
    sensui7
        3
    sensui7  
    OP
       2017-01-07 03:25:20 +08:00 via iPhone
    顺便说一下,以前对递归一直感觉似懂非懂。学了 scheme 一下就开窍了。 es6 里的迭代器以前也不理解怎么用。学了 python 理解一点,学了 ruby 之后立马就明白了。

    语言真的影响思维。我想这就是语言设计者想要体现的思想。顺便再黑 python ,它只能体现编程导论的思想。
    sensui7
        4
    sensui7  
    OP
       2017-01-07 03:30:44 +08:00 via iPhone
    @onlyhot 这些持续了几个月。而且只学习语法,也没多少内容。不过我看书还是挺快的,学 ruby 一个月看了 4 本书。当然有些章节我跳过了。
    onlyhot
        5
    onlyhot  
       2017-01-07 03:31:40 +08:00
    @sensui7 做东西了吗
    aijam
        6
    aijam  
       2017-01-07 03:36:34 +08:00
    黑我们大 python 我就不干了。 ruby 原生语法都没有 genrator ,不知道你怎么就开窍了。
    sensui7
        7
    sensui7  
    OP
       2017-01-07 03:37:38 +08:00 via iPhone
    @onlyhot 没有,做东西要了解类库,这个可就花时间,像 ruby 我只看过一些标准库写过几个小脚本。 python 和 scheme 就完全没写过什么。
    aijam
        8
    aijam  
       2017-01-07 03:40:59 +08:00
    > ruby 里最为常用的特性,而 python 迭代器竟然在标准库里
    ruby 才在标准库里把,你是不是说反了?
    aijam
        9
    aijam  
       2017-01-07 03:48:40 +08:00
    再说 ruby 一个类似的东西搞出 block, proc, lambda 三个概念,你说说是闹哪般?
    sensui7
        10
    sensui7  
    OP
       2017-01-07 04:09:14 +08:00 via iPhone
    @aijam ruby 支持生成器,是内置的,在 Enumerator 类,我记得 python 是在标准库里。难道记错了?
    至于 proc , block , lambda ,灵活嘛,你懂的。绝大多数情况使用 block 就可以了, proc 按需使用。 proc 和 lambda 是闭包, block 只是语言特性,我是这么理解的。
    nagato
        11
    nagato  
       2017-01-07 04:19:08 +08:00
    学这么多语言干嘛
    aijam
        12
    aijam  
       2017-01-07 04:47:49 +08:00
    @sensui7 说明你对 python 还是不了解啊, python 从在语法上就支持 generator ,比 ruby 不知道搞哪儿去了。而且可以玩出很多花样,最近几个版本的 async 都是围绕 generator 和 coroutine 做的强化。
    Felldeadbird
        13
    Felldeadbird  
       2017-01-07 08:55:23 +08:00 via iPhone
    @onlyhot 会一门语言换语言就简单多了
    Cbdy
        14
    Cbdy  
       2017-01-07 09:04:14 +08:00 via Android
    可以找一本编译前端的书看看,了解一下比较流行的语言特性一般是怎么实现的。
    sorra
        15
    sorra  
       2017-01-07 10:09:59 +08:00
    我是 Java 老司机,不久前学了 Ruby ,同意你的看法。不知道你有没有逛 Ruby China ?他家 Wiki 做得很好。 The Rails Doctrine 写得很好。
    并发编程通常要在 Java 和 Go 之间择一,而 web 开发用动态语言挺好的,静态的 Kotlin 也不错。
    soli
        16
    soli  
       2017-01-07 10:24:06 +08:00
    C++ 的特点就是学院气息浓重。一点都不工程友好。
    kkzxak47
        17
    kkzxak47  
       2017-01-07 10:51:39 +08:00 via Android
    继续学,过阵子你有了新认识会回头来更正自己错误。
    另外没必要吐槽中文译名,英文里合适的名字翻译之后就驴头不对马嘴很常见吧。
    sensui7
        18
    sensui7  
    OP
       2017-01-07 12:44:49 +08:00 via iPhone
    @Cbdy 不知道有没有什么书推荐,对编译原理恐惧,担心自己看不懂
    @sorra 当然去过,不过很多人吐槽 go 的 gc.
    java 到底怎么样呢?很多人吐槽 java 繁琐,吐槽它的各种模式,但也有人称赞他的安全严谨。王垠就喜欢 java
    sorra
        19
    sorra  
       2017-01-07 17:19:49 +08:00
    @sensui7 Java 是有些繁琐,但综合战力高,大公司不怕繁琐。我自己用 Kotlin
    myid
        20
    myid  
       2017-03-10 10:16:11 +08:00
    @soli 在说反话吗? C++ 学院气息浓重?! C++诞生在贝尔实验室,从出生那一天起就一直致力于工程实践。。。。
    myid
        21
    myid  
       2017-03-10 10:18:08 +08:00
    楼主,推荐你学习 ML 语言。 OCaml, SML 或者 F# 随你挑一个。你泡在 Windows 里,可以用后两者,不然, OCaml 可以试试。
    soli
        22
    soli  
       2017-03-10 10:57:31 +08:00
    @myid 那就是搞 C++ 的那帮水平太烂或者太懒。一直致力还这么落后。
    myid
        23
    myid  
       2017-03-10 17:07:53 +08:00 via iPhone
    @soli C++构建了以下众多软件--
    所有的主流互联网浏览器, chrome, IE, Safari 等
    Visual Studio
    Microsoft Office
    WPS
    Adobe Photoshop
    Windows
    C++复杂是真 判定为落后了不太公平 :-)
    yoyohaha
        24
    yoyohaha  
       2017-11-21 15:56:46 +08:00
    还在纠结语法,说明还没入门
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2731 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 14:54 PVG 22:54 LAX 07:54 JFK 10:54
    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