python语言太差_Python 是我用过最糟糕的语言之一

搜了下知乎居然没有一个吐槽Python的,吐槽js的倒挺多。作为近年在AI加持下大热的语言,我来斗胆吐槽一下,看看是否有人感同身受,也欢迎资深Python程序员反驳

start:

没有Let等局部变量声明(Scala有block,Haskell,Idris,Ocaml,es6的Let, js的 var),你无法可靠地在局部引入一个变量,一不小心就把全局变量改了。我觉得这个是最无法忍受的。

所有绑定都是可变变量,没有immutable

匿名函数不支持多行,这个还不如js。。

动态类型系统

面向对象方面,Class里边的self.xx不用先声明,可以随意引入。面向对象系统太简单,没有trait, interface这样的抽象机制,导致复杂一些的模块化以及Encapsulation无法实现。

由于动态类型,编辑器支持非常糟糕,难以代码补全(pycharm)

版本兼容问题:2和3不兼容是OK的,但是居然3.6和3.7的包都不互通(比如3.7就没法安装Tensorflow)

最重要的是,如果在机器学习行业,除了cpp,你将不可避免用到这门语言,不像js有很多选择(Scala Js,etc)。

还有评论中提到的缩进,完全可以做的更好,比如Haskell也是缩进语言,但是也支持使用括号和{}来Override

这里补充一下优点:用来代替Bash还是不错的,然后是反馈比较快,因为不用编译。numpy加分不少

目前看来对于静态类型强迫症的我来说,唯一的选择应该是idris to Python编译器,但是在上手之前,还是得硬着头皮用的

我认为Python的流行是因为它和R,MATLAB等数学统计以及数值计算的语言比较贴近,相对于他们python 还是顺手很多的。

吐槽完毕,明天还是得继续写Python

@CJex 关于py的其他黑点:各个编程语言都有哪些「黑点」?​www.zhihu.comzhihu-card-default.svg

由于我开始使用Python不久,里边可能有写得不对的地方,这是来自Python老司机的反馈:

某擁夜的黑貓:对《Python 是我用过最糟糕的语言之一》的回答​zhuanlan.zhihu.comzhihu-card-default.svg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值