【Rust日报】 2019-06-16:用 Rust, Haskell, C++, Python, Scala 和 OCaml 实现同一个工程的比较...
tx-rs - 一个提供 wrtie ahead 的原子交易库
刚出来,仅供了解,这里的“交易”是指业务的原子性,常见于数据库中。与区块链或密码学中的交易,是不同的概念。类似于 STM。
Repo
duang - 使用宏来提供默认参数和命名参数
一看就是国人的项目。命名有点玩耍的味道,但是思路和设计可以借鉴。
use duang::duang;duang!(
pub fn foo<T>(a: T, b: f64 = 13.0, c: T = a * a) -> (T, f64, T)
whereT: std::ops::Mul<T, Output = T>,T: std::fmt::Display,T: Copy,
{(a, b, c)
}
);// ----use demo_duang::foo;
// pass
assert_eq!(foo!(1, c = 30, b = -2.0), (1, -2.0, 30));
// pass
assert_eq!(foo!(a = 10), (10, 13.0, 100));
// fail
// foo!(1,c=30,c=2);
Repo
dua-cli - 用于查看当前目录下的磁盘容量使用情况
这个工具发布 v2.0 了。就是 du 的升级版。先看下效果图。
Repo
coffee 2D游戏引擎推出了响应式UI
不过这个UI是用于游戏内的UI。
Repo
stale-rs - 用于找出项目工程中,没有被链接的rs文件
对于这些文件,就可以放心删除。这在重构的时候很有用。来看一下效果图:
Repo
Rust不好的地方有哪些?
作者说,在网上,总是听到说Rust这里好那里好,那么,Rust不好的地方有哪些?
这里就简单汇总一下人们的吐槽:
- Compile times for large projects
- Crate ecosystem is still very young, volatile and sparse
- Because the community is young and still largely curiosity-driven, some essential crates have inconsistent maintenance since there aren't many maintainer organizations yet
- Orphan rules make the glue-package approach (like Java uses) intractable and thus it's difficult to combine different parts of the ecosystem or factor libraries as much as one would like
- Related to the above, we're probably still several years or editions away from a good dynamic linking/plugin story (but for good reason, related to the below)
- The language's real potential still always seems one unimplemented RFC away (e.g., async, const generics, GATs, unsized rvalues, etc.)
- A lot of the features really essential to write libraries of the quality one would like are still unstable (e.g., specialization)
- Many crates have not yet reached version 1.0. This can make them more "scary" to use, as the API could change at any point.
- std::net is quite lacking. For example, you can't perform a non-blocking connect. There is net2, but it has its own set of issues. Then there's socket2 to address net2's issues, but its API is a bit clunky. It's also not very popular, so it remains to be seen for how long it will stick around.
- I think only recently was mirroring of crates.io introduced in a more sane way, though I don't remember exactly in what state.
- Async IO is still clunky. MIO seeks to provide a nice API, but it's not zero-cost by any means. It also has some issues with Windows. I ended up having to use my own wrappers for epoll and kqueue, and used wepoll for Windows.
- No crate namespacing, so you end up with crates like "yorickpeterse-socket2", "billy-bob-socket2", etc. This also means name squatting is more annoying.
- This is not an issue with Rust itself, but is worth mentioning: I really can't stand Clippy. More often than not I upgrade it, and it introduces really annoying lints. For example, if you define len it will complain if you don't also define is_empty. This makes sense for a library, but when writing a self-contained application where you'd never use this it's annoying. Of course you can disable it, but I don't want to sprinkle Clippy directives all over the place.
- No (computed) goto, or something that is guaranteed to compile down to it. This means interpreters won't be able to make use of them, slowing them down a bit (depending on the hardware)
Read More
用 Rust, Haskell, C++, Python, Scala 和 OCaml 实现同一个工程的比较
要比较语言,莫过去用它们实现同一个项目/工程了。作者是一个学生,他们被布置实现一个Jave的子集到x86的编译器。不同的组用了不同语言自行实现。不过,这次这篇文章只是比较了实现同一个编译器需要用到的代码量。其实这个很不客观,因为不同小组实现同一个目标的设计思路和算法都不同。但是这还是能给人一点参考意义,至少知道一个大概的量级和复杂度。
Read More
From 日报小组 Mike
日报订阅地址:
独立日报订阅地址:
- Telgram Channel
- 阿里云语雀订阅
- Steemit
- GitHub
社区学习交流平台订阅:
- Rust.cc论坛: 支持rss
- Rust Force: 支持rss
- 微信公众号:Rust语言学习交流
【Rust日报】 2019-06-16:用 Rust, Haskell, C++, Python, Scala 和 OCaml 实现同一个工程的比较...相关推荐
- 【Rust日报】2020-01-27 QIP:Rust中的量子计算模拟
QIP:Rust中的量子计算模拟 量子计算库利用图形构建来构建有效的量子电路仿真.对于借口模型的量子计算,Rust是一种很棒的语言,因为借位检查器与无克隆定理非常相似. 请参阅Github仓库的exa ...
- 人工智能 | ShowMeAI资讯日报 #2022.06.16
ShowMeAI日报系列全新升级!覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向.点击查看 历史文章列表, ...
- 【Rust 日报】2022-01-09 又一个Rust中文教程《Rust语言圣经》
12个Rust的Tips 使用 Cow<str> 作为返回类型 使用 Crossbeam channels 取代标准库 使用 Scopeguard 实现类似 Golang 的延迟运算 使用 ...
- 【Rust日报】2021-12-14 Lapce: 用Rust编写的闪电般快速且功能强大的代码编辑器
Lapce: 用Rust编写的闪电般快速且功能强大的代码编辑器 Lightning-fast and Powerful Code Editor written in Rust Lapce完全是用Rus ...
- 区块链日报@2019.1.16
CoinBase CoinDesk是数字资产和区块链技术社区领先的数字媒体.活动和信息服务公司 Stablecoin之一的USDT价格创18个月的低点. USDT的价格在周一早上跌到了$0.92,是1 ...
- 前端面试每日3+1(周汇总2019.06.16)
<论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己). 前端面试每日3+1题,以面试题来驱动学习,每天进步一点! 让努力成为一种习惯,让奋斗成为一种享受! 相信 坚 ...
- 【2019.06.16】Django + 微信小程序 实现微信小程序1——小程序基本信息,开发规范
小程序基本信息 微信官方网站注册微信小程序账号 小程序开发规范 开发规范 - 目录规范.命名规范.代码规范 目录规范: utils(工具) pages(页面) compaonents(主键) thir ...
- 【Rust日报】2020-11-03 《Rust日报》总第1000期
今日头版 <Rust日报>第1000期,感谢有你 两年半的时间,我们一期期走来,到了今天发行的第1000期.回想我第一次看<Rust日报>,还是在Rust 2018刚推出的时候 ...
- rust主播排行_「Rust日报」2019每周精选 • 第四期
前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹 ...
最新文章
- uniapp 界面拖动,去掉半圆形阴影
- python切片操作例题_Python之切片操作
- Android系统编译过程中常见问题汇总(1)
- 盛大云主机 就是价格有点贵啊
- Android开发之RecyclerView之刷新数据notifyDataSetChanged失败的问题
- RunDll32.exe 详解及[Windows批处理]清除IE缓存
- [转]20年来我得到的20条编程经验
- [css]你有使用过preload、preconnect、prefetch这些属性吗?说说它们都有什么作用?
- 参考文献起止页码怎么写_论文参考文献怎么写?
- 由于供不应求 部分新款Apple Watch机型推迟至11月交付
- 第38届ACM中国区通化邀请赛-中文排名表
- windows开机后一键启动应用程序
- 怎么根据错误弹窗 判断进程_苹果手机弹窗bug是什么情况?苹果手机为什么会出现弹窗bug要怎么解决?...
- 骁龙200/400/600/800芯片型号对应及规格介绍
- 程序员为什么要学习数据库
- 5步完成编写Mysql的shell脚本
- android sd卡名称,科普详解Android系统SD卡各类文件夹名称
- Revit API之BoundingBoxXYZ的用法和剖面框(Section Box)
- 香港科技大学计算机实验室,香港科技大学机器人实验室科研项目
- Java题目:动物声音模拟器
热门文章
- 移动端H5页面生成图片解决方案 1
- LTspice基础教程-025.电路容差分析,蒙特卡罗分析(Monte Carlo)
- python 移动平均线_Python中的移动平均线
- 大数据分析:消费金融公司利润
- php 按比例裁剪图片,自定义裁剪图片大小,按照一定比例裁剪图片的软件
- maven-compiler-plugin如何快速打胖包和瘦包
- A Survey of the Four Pillars for Small Object Detection: Multiscale Representation, Contextual Infor
- 【渝粤教育】国家开放大学2018年春季 8622-21T社会调查研究与方法 参考试题
- 机器人/人工智能/就业形势2022
- 场景中配置阴影(个人笔记)