我的工作语言是java/kotlin/typescript, 本来是不喜欢它的,不理解它存在的价值,觉得它是个很难在实际工作中使用的语言,比如说做web app的后台,它肯定比不上java,因为不太可能有Netty, Hibernate这样的东西基于Python来做; 做Web前台,肯定比不上Angular Typescript这些; 做桌面,估计比不过WPF/C#,做底层和c/c++比较就更不用说了。

但最近在数学运算方面,发现它确实有价值。其实这是取舍的好例子。一种语言,适合大工程,那么开发小程序可能就比较费劲。而写小规模的程序,验证算法什么的,可能就是Python生存的土壤,我觉得它的优点主要如下:

运算符重载

这个事情争议很多。因为程序员可以定义奇形怪状的运算符,表达各种各样的意思,可能有很多不恰当的应用。但话说回来,如果很好的利用,绝对是一件好东西。对比一下这点代码,高下立见

print("度规张量的最原始解释: 将向量的斜角坐标转换成笛卡尔坐标再运算,"

"(Va @ G.T) @ (G @ Va)\n",

(Va @ G.T) @ (G @ Va))

print("度规张量的最原始解释: 将向量的斜角坐标转换成笛卡尔坐标再运算,"

"(Va @ G.T) @ (G @ Va)\n",

np.matmul( np.matmul(Va, G.T), np.matmul(G, Va)))

c/c++可以,但比起python,就难用的多了。

数学运算方便

做2**1000这种运算,java麻烦很多。要用BigInteger之类的

拿起来就写,不用定义类、main函数什么的

kotlin也有这个特性,不过kotlin倾向于更复杂的工程,所以这个特性默认不开启。事情总有两面性,这是一个好例子。

直接可以执行py文件

这是脚本语言的典型特征,不用编译。虽然kotlin也有解释器,但正常还是需要编译的,这是取舍,事情两面性的另一个例子。ASP, PHP这种改了刷新立即生效的特性,一直让人怀念。

安装包很好

安装完了,基本上就可以写程序使用了。不像java/typescript这些,还得做各种配置,有一定的门槛。不过像pip这些东西,也是有点增加了复杂性。如果能够一个简单的配置文件,列出来需要什么,然后执行程序,会自动下载依赖的库,那就好多了。

python typing typescript_Python的价值,对比Java/Typescript相关推荐

  1. Go语言和Java、python等其他语言的对比分析

    一.Go语言设计初衷 1.设计Go语言是为了解决当时Google开发遇到的问题: 大量的C++代码,同时又引入了Java和Python 成千上万的工程师 数以万计行的代码 分布式的编译系统 数百万的服 ...

  2. 对比java和python对比

    1.难易度而言.python远远简单于java. 2.开发速度.Python远优于java 3.运行速度.java远优于标准python,pypy和cython可以追赶java,但是两者都没有成熟到可 ...

  3. Python使用matplotlib绘制分组对比柱状图(bar plot)可视化时汉语(中文)标签显示成了框框□□、什么情况、我们有解决方案

    Python使用matplotlib绘制分组对比柱状图可视化时(bar plot)汉语(中文)标签显示成了框框□□.什么情况.我们有解决方案 目录

  4. python 速度 memmap_浅析Python 读取图像文件的性能对比

    浅析Python 读取图像文件的性能对比 发布时间:2020-08-30 16:31:06 来源:脚本之家 阅读:57 作者:BriFuture''s Blog 使用 Python 读取一个保存在本地 ...

  5. 强势崛起的Python会在十年内取代Java吗?

    现在最火的程序设计语言是什么?当然是--Python.你知道吗?现在连小学生都开始学Python了.Python在编程语言排行榜上也一路高歌猛进,蹿升到了第四的位置,现在除了老牌的Java.C和C++ ...

  6. 从编码层面对比java和c#

    java和c#都是面向对象编程高级语言,总体上来讲,它们还是很相似的,因为它们在发展过程中都很大程序上学习了对方不少优秀的特性.所以,一般来说,从其中一门语言转换到另外一门语言应该都不会有很大问题. ...

  7. 对比Java和.NET多线程编程

    这篇文章以对比的方式总结Java和.NET多线程编程. 基本概念 多线程:很多开发语言都提供多线程编程支持,比如Java,C#. 并发(concurrent):即使对于单核CPU,我们也会采用多线程等 ...

  8. 通过Python让数据产生价值,做到这4个字就够了

    导读:今天这篇文章是「大数据」内容合伙人囧神关于<Python数据分析与数据化运营>的一篇读书笔记.在大数据公众号后台对话框回复合伙人,免费读书.与50万「大数据」同行分享你的洞见. 作者 ...

  9. python 两个队列进行对比

    python 两个队列进行对比 list01 = [1,2,3,4] list02 = [1,3,5] for i01 in list01:is_in_02 = Falsefor i02 in lis ...

最新文章

  1. First Unique Character in a String(leetcode387)
  2. hibernate延迟加载lazy的原理,以及为什么session关闭会报错
  3. Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库!
  4. 写给那些在技术路上奔跑的人们!!!!!
  5. linux centos 下载rpm源码包
  6. python 仪表盘-跟小白学Python数据分析——绘制仪表盘
  7. error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
  8. 【每日一题】7月1日题目精讲 借教室
  9. python最短路径例子_Python实现的多叉树寻找最短路径算法示例
  10. Spring集成单元测试
  11. android横向滑动缩放,移动端实现内容左右滑动,并点击放大效果的问题
  12. 搭建vue项目时运行npm run dev 报错问题解决
  13. SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据...
  14. 银行卡Bin查询接口
  15. (附源码)Python在线办公系统 毕业设计 071116
  16. 1.3多媒体存储技术
  17. Android三大动画介绍及使用
  18. 应用COMSOL Multiphysics分析水平井压裂裂缝应力干扰现象
  19. MySQL定时任务,清理表数据
  20. vue在日历中使用 tippyjs 来做悬浮弹框自定义插入html

热门文章

  1. sum 函数'int' object is not callable
  2. 原来音色是波峰到波谷时间序列
  3. 分析思维导图与绘制思维导图方法介绍
  4. 路由协议OSPF知识点汇总
  5. 在Intellij上面导入项目 AOP示例项目 AspectJ学习 Spring AoP学习
  6. 任务管理器进程中多个chrome.exe的问题
  7. RFM模型分析与客户细分
  8. 用mysqldump远程备份mysql数据库
  9. 不能正常关机的处理办法
  10. Scala的特质(Trait)介绍