[心得] 2020-3-1 每日新闻

楼主: damody (天亮damody)   2020-03-01 13:40:31
#每日新闻
# 2020-3-1 每日新闻
# FB: http://bit.ly/2UizW6X
# Klein: SIMD加速的 C++17 几何库
看起来想要做跟openmesh一样的事
http://bit.ly/39cGatJ
# C++: is_printable
一个判断是否可以输出字串的 trait
http://bit.ly/2TrllEh
# boolean 在Java占用几bytes?
在Java虚拟机规范中,没有用于boolean专用字节码指令,
而是在编译后使用int替换它。
这表示当将布尔值编译为布尔变量时,其大小将为4个字节,
如果它是boolean array,
则数组中每个boolean的大小将仅为一个字节。
但这又取决于每个Java虚拟机的实现,某些JVM可能根本不遵守该准则。
每一个boolean大约是1~4btyes,
代表在java使用boolean你会浪费8~32倍的空间。
http://bit.ly/32I8CBw
# Let's Encrypt 已经发行了十亿个Certificates
Let's Encrypt是一个免费发送的SSL/TLS 凭证的组织
他们为网络安全做了极大的贡献
http://bit.ly/2wZFWbk
# Rust程式员对Go的感觉
我将尽力避免与Rust进行过多的比较。
- 总体印象
使用Go进行编程非常不错。我在程式库中想要的内容它都有。
学习它是一种流畅的体验,它是一种精心设计且实用的语言。
与使用C/C++,Java,Python等相比,
它减少了很多挫败感,并且提高了生产力。
- 易学性
Go非常容易学习。
我实际上在两天之后就编写了“有趣的”,可提交的代码。
Go很小,标准库也是又好又小
- 样板
Go代码很快变得非常重复。
它缺少用于减少重复的任何机制,例如宏或泛型。
错误处理也会导致重复。
函数里面常常塞满err!= nil {return err},
这些错误处理的程式码比有趣有用的要更多。
阅读Go程式心很累,因为您必须忽略太多程式或寻找细微的差异。
- 我喜欢的点
编译时间。绝对的快;绝对比Rust快很多。
Go routines跟channels
它确实显示出语法的强大功能,使并发编程比其他语言感觉更好。
Interfaces
易于理解和使用,并且在很多地方都有用。
if ...; ... { } 语法
能够将变量范围限制在if内是不错的选择。
有垃圾收集器(GC)!不考虑内存确实会使程式变得更容易。
- 我不喜欢的点
nil, a nil slice, empty slice 都不同
但我敢肯定你只需要其中两种。
没有好用的enum
for ... range返回一对索引/值。
使用多值返回类型时,类型上必须带括号,但return语句中不需要。
声明一个结构需要两个关键字(type + struct)。
使用大写字母将变量标记为公共或私有。
这就像匈牙利命名法,但感觉更糟糕。
无法为其他程序库中的receiver 编写函数,
也无法为上游类型实现interface,从而使它们的实用性大大降低。
泛型和宏的缺乏。
# 半小时学会Rust
在本文中,我将不着重于一个或两个概念,
而是尝试尽可能多地让你看目Rust程式码,
并解释它们所包含的关键字和符号的含义。
http://bit.ly/3akz1Ie
# Rust: xtra 一个小型,快速且安全的actor框架
有以下特点:
有安全、轻巧的特性
并能异步加同步的处理程式消息
可以跟Tokio或async-std协作
非常的快
http://bit.ly/2TsGZrJ
# 探索在Rust中实作中断处理程式和共享数据的方法
教你在嵌入式Cortex-m上面写中断处理程式
http://bit.ly/3cq65Ar
# Rust: stegano 把文字加密进图片
http://bit.ly/3andgYh
作者: SIMD (丹丹指令流)   2020-03-02 08:10:00
加速
作者: oopFoo (3d)   2020-03-02 14:51:00
Klein是Geometric Algebra, 是要代替传统3D的matrix。跟openmesh要做的东西完全不同。
作者: Bencrie   2020-03-02 21:08:00
可是他是 CPU SIMD 实作耶

Links booklink

Contact Us: admin [ a t ] ucptt.com