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

大家对于太过灵活的语言怎么看?

  •  
  •   Freeego · 2019-05-24 09:47:58 +08:00 · 1985 次点击
    这是一个创建于 2008 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学 python,不是说 python 不好,只是个人不太喜欢 python 太过灵活的语法。虽然写起来确实很方便,要完成一个功能很简单,但有的时候感觉会影响程序的可读性,还有经常会忘记返回的迭代器类型之类的。

    所以感觉一门太过灵活的语言是不是真的对程序员是有利的,写久了肯定会熟练并且习惯,但是会不会在这个过程中就丧失了某些在写静态语言时必须的严谨性。大家对于这个问题是怎么看的?

    Liudong1999
        1
    Liudong1999  
       2019-05-24 10:12:32 +08:00
    过于灵活的语言,写写脚本或者小项目还好;如果让其来写大型项目。。。。
    不知道会乱成什么样,后期维护也特别坑
    testplusplus
        2
    testplusplus  
       2019-05-24 10:17:53 +08:00
    所以基于 javascript 扩展而来的 typescript 会如此受欢迎。
    上次看到对三个语言之父的同台采访,python 之父就表示想借鉴 typescript
    whileFalse
        3
    whileFalse  
       2019-05-24 10:51:22 +08:00
    灵活的语言没那么多废话,但很难做静态合法性检查。(王垠对此有不同意见)
    所以当整个项目你一个人 hold 住的时候,灵活的语言嗷嗷快。如果要和人合作,或者想维护一下自己半年前写的复杂玩意,还是静态语言让人安心。

    还有就是,代码写的好不好和语言关系不大。写 python 的时候再怎么起飞,换 java 也得规规矩矩的。
    Felldeadbird
        4
    Felldeadbird  
       2019-05-24 10:56:53 +08:00
    我觉得这和 个人代码水平有关系吧。如果平时写代码,在大局观上比较好,写 PY 应该把控的很好。

    我写 PY 是一个文件解决一个问题。所以过一个月后,就不知道自己写的是什么了。
    QNLvw5fLfr7c
        5
    QNLvw5fLfr7c  
       2019-05-24 11:16:28 +08:00 via Android
    Python 的语法其实很死,你觉得它灵活只是因为动态类型。有很多非常灵活但是静态类型检查的语言。
    Lax
        6
    Lax  
       2019-05-24 11:24:29 +08:00
    python 用起来并不灵活啊,只能算是和 java 一样中规中矩的语言
    DsuineGP
        7
    DsuineGP  
       2019-05-24 15:07:57 +08:00
    Scala 写起来爽,改起来火葬场
    BingoXuan
        8
    BingoXuan  
       2019-05-24 19:02:03 +08:00 via Android
    python 缺点还是很明显的
    1.没有类型。看代码你只看到变量名,但具体是什么你要跳转。然后发现别人初始化是个 None。(就算不用 assert,就算初始化时是 None,起码加个注释啊)
    2.面向游标卡尺编程
    3.语法不容易看出错误。以前不喜欢写花括号,但写多了 python 后发现花括号还是能提高可读性的(见仁见智)
    4.过多的实现方式。你可以用多种方法创建一个 list,但在一个项目里面就会觉得很累。花太多时间去思考代码最终实现效果会是怎么样的。同时真的不利于有效率的编码在开发者内传播。
    5.有 getattr 和 setattr,却不是 duck type 编程。

    现在如果让我写 python,我宁愿去写 c++。尤其是接手别人的屎山。永远都不知道变量是什么;一份文件里面 n 多个类,实现 m 个功能;
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   973 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:05 · PVG 05:05 · LAX 13:05 · JFK 16:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.