[心得] 2020-2-7 每日新聞

作者: damody (天亮damody)   2020-02-07 09:39:24
#每日新聞
# 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
作者: robler (章魚丸)   2020-02-07 09:56:00
我覺那只是單純的GO的GC寫的很爛
作者: domototice (tice)   2020-02-07 10:24:00
visual studio express 是免費版的 SQL express也是但LAMP WAMP or WAM+其他語言 是免費的 unbuntu也是
作者: johnny94 (32767)   2020-02-07 10:29:00
第一篇有人問說為何不先試試新版的 go 呢XD
作者: domototice (tice)   2020-02-07 10:36:00
Unity3D 可以用看看 蠻多遊戲用的
作者: x246libra (楓)   2020-02-07 14:09:00
https://twitter.com/_rsc/status/1224802726774812672GO 得主要維護者 維基可以看到名字
作者: domototice (tice)   2020-02-07 14:21:00
謝謝分享~!文章寫得很好 可以看標題找重點 只是怎麼沒有摘要?(abstract)接下來的心得我實在不想講可能有人會了因為我不想給對岸的學生還是工作者看到讀英文的時候 你就把它想成白話 自然而然改善的方式有哪些 就想的出來了 比如我論文是知識分享之內外在動機與知識分享障礙 在社群中一開始人都有動機去做某件事情 然後分享知識的溝通過程中會遭遇到障礙舊式簡單化 生活化 思考化 不好意思 獻醜了。。。就是
作者: damody (天亮damody)   2020-02-08 12:01:00
好喔

Links booklink

Contact Us: admin [ a t ] ucptt.com