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

2019-05-24 09:47:58 +08:00
 Freeego

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

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

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

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

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

现在如果让我写 python,我宁愿去写 c++。尤其是接手别人的屎山。永远都不知道变量是什么;一份文件里面 n 多个类,实现 m 个功能;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/567176

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX