rust和python谁更简洁?
摘要关键字:rust,python

      rust和c++比速度就算了,还要和动态语言python比简洁?

      是的,没错,rust和python是两门我最喜欢的编程语言,都有一定的开发经验,我认为rust代码确实有资格比一比简洁度。之前分别用rust和python写了一个网络小工具,最近查看日志发现被nmap疯狂扫描端口,因此想增加一个ip地址白名单功能,就给rust和python程序补上了简单的白名单过滤代码。

      功能设计很简单,将许可的ip地址,每个一行,写入到whitelist.txt文本中。程序初始化的时候将文件中的白名单ip地址读到内存中,运行中遇到客户端连接就检查下客户端ip是否在白名单中。

      以下分别是在python和rust中的代码实现:

      

      上面是python代码,下面是rust代码,两者设计设计逻辑基本一致,rust只多了一个rwlock读写锁。但是rust的代码总行数比python还要少! 尤其是第一个whitelistget函数,rust严格来说通过函数式编程,一行代码就实现了文件读入、去除空白符、逐行迭代和解锁并保存!

      所以rust代码的简洁度绝对不输于python,我重构了之前写的很多python小工具,重构后的rust代码基本上都和python代码差不多甚至更少。

      从上面小例子可以看出,python有强大的成员运算符in三目运算符海象操作符(assignment express)、with上下文管理,写起代码来随心所欲,又简洁清晰。同样rust,有优雅的函数式编程、威力无穷的迭代器方法,写起来有一点到底一气呵成的快感,但稍微烧脑需要一点构思。

      rust和python,是个人认为是写起来最爽,设计最优雅的两门语言。虽然更偏爱rust一点,但是根据场景不同依然会同时使用它们。

本条目发布于2023-01-16, 共阅读 988 次, 评论 4 条
属于标签: rust
#1楼 匿名访客 2024-04-19 05:50:14
qQYOQJ5N
#2楼 匿名访客 2024-04-19 05:50:14
qQYOQJ5N
#3楼 匿名访客 2024-04-19 05:50:14
lyhanx
#4楼 匿名访客 2024-04-19 05:50:16
HT8XT4GZ
4 条评论,说点什么吧