python语言依赖平台吗_在大型项目上,Python 是个烂语言吗?

是。

在程序员水平正常的情况下:

好的语言只有一种写法。

C++ :Rust :Java :Elixir :Python

性能对比:1 :1.1 :2 :10 :100

开发效率:1 :0.8 :0.6 :0.1 :0.4

(怕评论区有理解歧义,补充一下衡量标准:耗时)

Python 并不算优秀,只是语法简单,包多而已。单论语言真没优势,那为什么这么流行都是因为项目还没逼到需要讲究的地步而已。

# 今日份更新 -- updated_at: 2018-10-25

我是来加数据来源的,毕竟上面的数据很多是靠自己“手感”体会到的,不够“精准”,所以找了份性能测试数据:

来个图:

From:

源码:

很遗憾没有找到 Elixir 的一些跑算法的数据,毕竟这门语言很新,算法也不是其顶尖的特色。如果按照 Erlang 的性能的话,同样算法耗时在4核心以内应该接近 2:1 于 C++,来源:

最后贴一份已经找不到出处的数据:来源知乎用户

上图数独算法性能对比数据来源:知乎 @韦易笑

对于开发效率而言,我个人做过的东西不算很多,数据基本上是根据同行尬聊大家一致认可的对比而来,简单交代一下:

Java 通常是 SpringBoot + MyBatis,有些场景也会用 Jpa 来做 ORM,一个不足十万行代码的项目个人单撸一个月出头的样子,项目最耗时的不是算法设计,而是对接第三方服务,Java 很多地方很成熟,受益良多。

Python 和 Java 差异不大,Django 手撸即可,代码量类似,生态也良好,不做过多论述。

Rust 的 Web 框架也有几个主流的了,但感觉生态还不够,没过多涉及,也没敢在在真实项目动刀。这门语言开发效率真的不高,只能靠性能得分了,就像一个被规范了的 C++ 的感觉,让你不用担心内存泄露,不用担心线程安全,不用怕变量被篡改,还有强大的模式匹配等等。

Elixir 是我感受最深的一门语言,元编程能力十足,很多 Java 里面根本无法解决的问题在这里迎刃而解。Phoenix 框架也让 Elixir 的 Web 开发能力变得十分易用,通常一个 HTTP 响应时间能达到 5 - 50ms 级别,性能十分优秀。这门语言提供 .exs 文件可以动态运行,为了减少动态语言的排错问题也做了很多规范,.ex 文件可以编译后运行,强大的静态检查能够在编译时期就发现足够多的问题。blablablabla 不多说了。优点过多,缺点也很明显:密集算法性能表现极差。所以真的遇到考究算法的时候基本都是 C++/Rust 写个 lib 给 Elixir 调就好了,不纠结。

总得来说,完成一个同等项目耗时,Java 一个月撸完;C++ 也得一个月起;Python 都差不多,还得因为动态语言的特性花更多的时间调试代码;Elixir 吸收了 Erlang、Ruby 的优点,又没有面向对象那么过分强调封装,易于排错,代码组织范式极好,一般来说一周内就能做得十分八九了。

要我选择我的主力语言,如果不考虑“是否有足够多的包“这样的情况,我肯定选 Elixir,天然分布式语言,源于 Erlang+Ruby,搞定了世界上一半以上的电话通信系统,还有比这种东西更苛刻性能、更追求热更新、更分布式、更强调9个9不掉线的吗?

以上,饭后啰嗦了几句,暂作更新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值