新しいものを表示

Go の interface 型は Java の interface 型などとは根本的に違っていて,他言語ではいわゆる Box 化(Boxing)とかスマートポインタとか呼ばれているものなんだよね。これに気が付いた時は「Go すげー」って思ったよ。だって Box 化の記述って面倒ぢゃん,普通。それをあたかも抽象型のように自然に使えてしまえるのよ, Go ならね。

Rust では Box 化のために Box<dyn Trait> の形式に落とし込む必要がある。公称型なので型を明示しないといけない面倒臭さもあるが,たとえば Java のように

```java
int iv1 = 100;
Integer ib = iv1; // boxing
int iv2 = ib; // unboxing
```

のように暗黙的な boxing/unboxing をやってくれるわけでもないので,面倒臭さが倍増する。 Rust はリソースの所有権管理が重要な要素なのでしょうがないといえばしょうがないのだが。

そう考えると,改めて「Go の interface 型すげー」と思うわけよ。そりゃあ Generics 実装が後回しになるわけだ。どう考えても便利すぎるものw
text.baldanders.info/remark/20
QT: mstdn.jp/@zetamatta/1111624353
[参照]

"ζ"  
あの、Box<dyn… というのは動的に内容を判断すべきデータが入るヒープ領域へのポインタですよ…というのは分かるんだけど、なんといいますか、もう少し手心といいますか、抽象的な一単語にはできなかったのかなとか思ってしまいます。が、これはGo脳で考えすぎなんでしょうね
Spiegel@予備系 さんがブースト

やっぱり、Rust で雑にエラーを返すとなると、戻り値は

Result<任意, Box<dyn std::error::Error>>

になるよねぇ…

↓ Go と Rust の比較の記事

Rust Vs Go: A Hands-On Comparison shuttle.rs/blog/2023/09/27/rus


最近は知らないけど,ポスターってくるくる巻かれてるので,伸ばすのに苦労するんだよなー

>『Beep21』「いろいろたぶれ22」(竹本泉)・第17回 ─ある日のポスター その②─|Beep21 note.com/beep21/n/ndfd4254b703

>noteの執筆体験をzennに近づけるためにGoでCLIツールを開発した話~はじめてのOSS~|ぱんだ zenn.dev/jy8752/articles/bff01

自転車乗りに優しい季節になりました

Spiegel@予備系 さんがブースト

最近の自転車って凄いよなぁ。まぁ、このクラスは私には過ぎた玩具だがw

>シマノ新型105は変速数以外も色々進化していた
youtube.com/watch?v=iHectTzOGT

古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。