#每日新闻
# 2020-2-7 每日新闻
# FB: http://bit.ly/2UizW6X
# 为什么 Discord 要从go转换到rust
今天来讲的更详细一点
他们发现go程式每两分钟就会有一个延迟高峰
这个延迟高峰是因为go每两分钟就要清一次内存垃圾
这个问题出现在 go 1.9.2 也许最新版修掉了
不过已经对现在的Discord没有意义了
这次的测试是在 2019年5月进行的
结论:
有GC的语言不代表你可以不用处理内存问题
如果你持续使用,他会在未来转化成另一种成本更高的问题
但有GC的开发速度的确快,可以先用有GC的语言先开发个雏形验证商业模式
在你的商业模式短时间不会改变的情况下,再用其它高效安全没GC的语言去重写
http://bit.ly/38dIGQd
# Mint 用于编写单页App的程式语言
看起来是想干掉JavaScript, TypeScript
http://bit.ly/2S4HAQP
# 从React的角度来看Rust和GTK
作者试了几种能让React跨平台的方案都失败后决定来用native的UI
最后他选择了 Rust + GTK
这种转换对过去都写前端的他并不容易
所以他整理了一些方向
方便之后有写过React的Web前端
快速上手Rust + GTK来做Native前端
http://bit.ly/31DBp9F
# Rust游戏开发-生态系统调查
去年八月,我们对Rust gamedev生态系统进行了一项调查。
现在终于可以展示结果了。
1. 是业余爱好者,还是专业游戏开发想用Rust做游戏呢?
75%是业余爱好者 20%是商业游戏开发人员
2. 你有用过Rust在游戏开发吗?
45% 考虑使用 50%正在用
3. 作为一种语言和生态系统,Rust会给您作为游戏开发人员带来最大的负面影响吗?
专业人士和业余爱好者的工作重点基本相同。最大的区别是:
爱好者希望将生态系统成熟度提高两倍。
爱好者更关心手机、网络的支援程度
专业人士更关心console(Xbox, PS4)支援
专业人士更关心C++互相沟通
4. Rust的其它问题
无法正确除错,例如hashmap绝对无法查看内容。不知道它在Rust是如何运作的。
缺少像Visual Studio这类强大的IDE支援
会Rust的人太少,不好找
Sony或Microsoft尚未正式在console(Xbox, PS4)上支援Rust
没有专业的游戏引擎(UE4,Unity)与Rust集成。
程式码以及引擎都是C++。一起使用Rust和C++会很痛苦,
而将现有技术完全重写为Rust将成本太高。
http://bit.ly/31wmqyg
# 成立LLVM ICE-breaker小组| Inside Rust博客
什么是Cleaning Crew ICE-breaker组?
“ Cleanup Crew”专注于改进错误报告。具体而言,目标是尝试确保每个错误报告都包
含修复它所需的所有信息:
一个错误的最小程式范例。
连接错误报告到重复错误报告或相关错误报告
如果错误是重新出现(曾经有用,但不再有效),把修正的PR的分为stable, nightly
谁应该加入?
熟悉Rust的任何人都可以完成此工作,而无需特别了解编译器。
您可以在rustc-guide部分找到有关该组的更多信息。
http://bit.ly/2UvNood
# gsl-lite v0.36 released
Guidelines Support Library for C++98, C++11 up
这个库能对C++的特性做检查与提示
下面用 gsl::not_null 来表示 p 永远不为 0
```cpp
#include <gsl/gsl-lite.hpp>
int * use( gsl::not_null<int *> p )
{
// use p knowing it's not nullptr, NULL or 0.
return p;
}
struct Widget
{
Widget() : owned_ptr( new int(42) ) {}
~Widget() { delete owned_ptr; }
void work() { non_owned_ptr_ = use( owned_ptr ); }
owner<int *> owned_ptr_; // if alias template support
int * non_owned_ptr_;
};
int main()
{
Widget w;
w.work();
}
```
http://bit.ly/373NqX1
# Luamon 即时开发小工具
检查档案变更并重新执行
http://bit.ly/2UCXhAJ
# Java Collections 该重制了
Java Collections 是该淬炼重生了!
目前少了哪些功能呢?
好用的 API 来直接操作 Collections
记忆效率
优化的Eager API
所有原生类似的Collections
保证不变的 Collections
惰性求值API
并行执行的阶层迭代器
新类型的资料结构 Multimaps, Bags, BiMaps
可变和不可变的Collection工厂
64位元的Collections
http://bit.ly/31wmVZf
# 5种python常见的错误
https://youtu.be/fMRzuwlqfzs