02:36:16 @lo48576@mastodon.cardina1.red
icon

ごきげんよう、Zenへようこそ | Zen Language Documentation
zen-lang.org/ja-JP/docs/

そのうち眺めてみるか

Web site image
ごきげんよう、Zenへようこそ | Zen Language Documentation
02:41:40 @lo48576@mastodon.cardina1.red
icon

Rust でいいじゃんとは思うけど、それはそれとして golang のような方向性でなく Zen があるというのはひとつの成熟の形なんじゃないかなみたいな雑な感想もある

02:49:07 @lo48576@mastodon.cardina1.red
icon

関数 | Zen Language Documentation
zen-lang.org/ja-JP/docs/ch04-f
エラー型 | Zen Language Documentation
zen-lang.org/ja-JP/docs/ch03-e

和型なぁ

Web site image
関数 | Zen Language Documentation
Web site image
エラー型 | Zen Language Documentation
02:50:00 @lo48576@mastodon.cardina1.red
icon

structural subtyping みたいなのとかあまり好きじゃないんだよなぁ

02:51:36 @lo48576@mastodon.cardina1.red
icon

タグ付き共用体 | Zen Language Documentation
zen-lang.org/ja-JP/docs/ch03-t

Web site image
タグ付き共用体 | Zen Language Documentation
02:52:11 @lo48576@mastodon.cardina1.red
icon

オプション型 | Zen Language Documentation
zen-lang.org/ja-JP/docs/ch03-o

タグ付き共用体はあるけど、それはそれとして optional は言語組み込みなのか

Web site image
オプション型 | Zen Language Documentation
02:56:02 @lo48576@mastodon.cardina1.red
icon

気になるところだけ雑に眺めてみたけど、「Rust から乗り替えるほどのものは感じなかった」という感想です
(Rust を使えない宗教の人が C から乗り替える先としては、まあアリだと思う)

02:57:17 @lo48576@mastodon.cardina1.red
icon

The World says Hello to Zen (v0.7.x Public Beta) | Zen Language Blog
zen-lang.org/ja-JP/blog/2019_1

> C言語からの移行を漸進的に進められる

結局ここが一番特異ということになるのかな

Web site image
The World says Hello to Zen (v0.7.x Public Beta) | Zen Language Blog
02:58:32 @lo48576@mastodon.cardina1.red
icon

それこそ漸進的型付けみたいなのと同じく、既存の C 資産をどうにかしてマトモにしていきたい人が使うものであって、最初から良いものを作りたいなら敢えて選ぶほどだろうかと

02:59:39 @lo48576@mastodon.cardina1.red
icon

最初に unsafe なものを作ってからマシにしていきましょうというアプローチ自体がピンと来ないというか、そういうビジネスちっくな宗教を信仰していないので、最初からガッツリ綺麗で安全に書こうやみたいな気持ちしかない (理想論)

02:59:59 @lo48576@mastodon.cardina1.red
icon

まあこれは宗教の問題なのでハイ

03:01:02 @lo48576@mastodon.cardina1.red
2019-10-04 02:58:57 rinsukiの投稿 rinsuki@mstdn.rinsuki.net
icon

このアカウントは、notestockで公開設定になっていません。

03:04:47 @lo48576@mastodon.cardina1.red
icon

私も趣味で書いてるから気に入らない設計を爆破したり自前でライブラリ用意したりやりたい放題だけど、これがツャカイでコード書かされるようになるとどんなヤバい制約与えられるかわからないからなぁ

03:06:02 @lo48576@mastodon.cardina1.red
icon

Cとのコンパイル | Zen Language Documentation
zen-lang.org/ja-JP/docs/ch14-c

どうでもいいんだけど、

> Zen標準ライブラリにあるChaCha20というアルゴリズムで暗号化、復号化します。

ここで笑ってしまった。 SSH か HTTPS でも実装するつもりかな?

Web site image
Cとのコンパイル | Zen Language Documentation
03:06:55 @lo48576@mastodon.cardina1.red
icon

crypto | Zen Language Documentation
zen-lang.org/ja-JP/docs/ch09-c

Poly1305 もあるし、明らかに意識してるっぽいですね……

Web site image
crypto | Zen Language Documentation
03:07:13 @lo48576@mastodon.cardina1.red
2019-10-04 03:05:26 rinsukiの投稿 rinsuki@mstdn.rinsuki.net
icon

このアカウントは、notestockで公開設定になっていません。

03:07:48 @lo48576@mastodon.cardina1.red
icon

同じ言語内でのバイナリ互換性すら担保されない C++ とのバインディング、自明に激ムズなので致し方なし

03:08:14 @lo48576@mastodon.cardina1.red
icon

いやちゃんと読んでなかったけど逆の話か、 C++ のライブラリを別言語から使いたい話ね

03:09:26 @lo48576@mastodon.cardina1.red
icon

Rust 使ってると、 subtyping イラネーと思うし、継承を前提としていろいろな API が提供されているようなライブラリをそのまま移植するにはあまりにパラダイムと文化が違いすぎるので、まあそういうものよねと

03:09:43 @lo48576@mastodon.cardina1.red
icon

gtk-rs の IsA trait とか見てて涙が出てきた

03:10:33 @lo48576@mastodon.cardina1.red
icon

パラダイムは大事だし、型について「継承」という概念を持っている言語はたとえマジョリティであってもそれが特殊な性質であるという事実は変えられない……

03:14:45 @lo48576@mastodon.cardina1.red
icon

私が FBX ライブラリを書くとき FBX SDK のインターフェースが全然参考にならなかった (継承の嵐だった) のを思い出した

03:15:20 @lo48576@mastodon.cardina1.red
icon

FBX といい JSON ベースのプロトコルといい、データ構造レベルで「継承」を多用されるの険しいのよなぁ

03:20:52 @lo48576@mastodon.cardina1.red
2019-10-04 03:16:32 Maya Minatsuki :neko_smiley:の投稿 mayaeh@taruntarun.net
icon

このアカウントは、notestockで公開設定になっていません。

03:20:53 @lo48576@mastodon.cardina1.red
2019-10-04 03:16:12 rinsukiの投稿 rinsuki@mstdn.rinsuki.net
icon

このアカウントは、notestockで公開設定になっていません。

03:20:55 @lo48576@mastodon.cardina1.red
2019-10-04 03:18:30 tateisu​ :force::r_9a:の投稿 tateisu@mastodon.juggler.jp
icon

Pixelfedはむしろリサイズしまくりで高画質は全く目指してないぽい

03:20:57 @lo48576@mastodon.cardina1.red
2019-10-04 03:19:42 あじょだよの投稿 azyobuzin@mstdn.maud.io
icon

そもそも上限をファイルサイズで決めると、動画 40MB バトルとかされるように、上限ギリギリでアップロードしてきやがるし、良くない

03:21:06 @lo48576@mastodon.cardina1.red
2019-10-04 03:20:56 KAZU34@末代の投稿 KAZU34@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

03:21:25 @lo48576@mastodon.cardina1.red
icon

Portal の動画を上げるときは 40MB バトルするけど、自分でやっててウーンという感じにはなる

03:21:31 @lo48576@mastodon.cardina1.red
2019-10-04 03:21:21 tateisu​ :force::r_9a:の投稿 tateisu@mastodon.juggler.jp
icon

長辺1280じゃモバイルデバイスだと荒く感じるのも確かなんで、時代の流れだな。STの自動リサイズも選択肢増やすかなあ

03:37:25 @lo48576@mastodon.cardina1.red
2019-10-04 03:36:36 ゆんたん💉💉💉の投稿 yuntan_t@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

03:38:16 @lo48576@mastodon.cardina1.red
icon

これ本当に難しいところで、ゲッム系エコスシテムを見ていると immediate mode がええで〜という流れがなかなか大きいんだけど、実際の標準的アプリケーションの UI フレームワークはまあ宣言的に UI 記述できないと厳しいよねみたいなのもわかる

03:40:00 @lo48576@mastodon.cardina1.red
icon

私が思うに、世の中で継承によって実現されているものの大部分は algebraic types で置き換えられる気がしていて、しかし UI はそうでもなさそうな気もするし

03:45:39 @lo48576@mastodon.cardina1.red
2019-10-04 03:45:27 ゆんたん💉💉💉の投稿 yuntan_t@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

03:45:47 @lo48576@mastodon.cardina1.red
icon

それもあるでしょうね

03:46:45 @lo48576@mastodon.cardina1.red
icon

3D graphics API 以前の普通の GUI toolkit ではウィンドウの一部領域のみのアップデートとか普通にやってたとか、その辺りの都合はありそう

03:47:52 @lo48576@mastodon.cardina1.red
icon

最近の GUI はバックエンドが普通に OpenGL ES とかだったりするし、そういう状況でどうなのかは知らん (普通にメモリ上にソフトウェアレンダリングする限りでは部分的アップデートは今でも有効な気はする)

14:19:40 @lo48576@mastodon.cardina1.red
2019-10-04 14:11:36 estplsの投稿 estpls@mstdn.beer
icon

このアカウントは、notestockで公開設定になっていません。

14:19:42 @lo48576@mastodon.cardina1.red
2019-10-04 14:10:42 ちちちの移住先は固定トゥにございますの投稿 1234567@fedibird.com
icon

このアカウントは、notestockで公開設定になっていません。

14:19:45 @lo48576@mastodon.cardina1.red
2019-10-04 14:12:59 おさの投稿 osapon@mstdn.nere9.help
icon

レターパックで電マ送れは詐欺です。

14:19:57 @lo48576@mastodon.cardina1.red
2019-10-04 14:15:36 🔞🍠💯芋緑茶🈴🍵🔞の投稿 Pote_greentea@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

14:22:48 @lo48576@mastodon.cardina1.red
icon

旧デスクトップを hibernate から復帰させてデータを NAS に転送しようとしたら昨日の10倍くらい遅くて、これは妙だぞと思って dmesg 見たら

Link is Up - 10Mbps/Full - flow control rx/tx

とか言われてて泣いた

14:23:18 @lo48576@mastodon.cardina1.red
icon

ケーブル替えて再起動したら 100Mbps/Full になった (これ Gbps 出ないのか……?)

14:24:04 @lo48576@mastodon.cardina1.red
icon

これ USB HDD で転送した方が早い説あるなぁ

14:26:23 @lo48576@mastodon.cardina1.red
2019-10-04 14:24:35 rinsukiの投稿 rinsuki@mstdn.rinsuki.net
icon

このアカウントは、notestockで公開設定になっていません。

14:26:38 @lo48576@mastodon.cardina1.red
icon

アダプタ家になし、外出する気なし [閉廷]

14:26:42 @lo48576@mastodon.cardina1.red
icon

なるほどなぁ

14:27:16 @lo48576@mastodon.cardina1.red
icon

USB HDD ソリュッションに乗り気でないの、

・ USB HDD に暗号化かけている
・rsync での中断/再開をしたい

あたりの理由による

14:27:41 @lo48576@mastodon.cardina1.red
icon

何とは言わない天然水の話か!?

14:36:23 @lo48576@mastodon.cardina1.red
icon

不審と物議のダイレクトメールは本物 ヨドバシカメラ「正しいハガキです」(2019年10月3日)|BIGLOBEニュース
news.biglobe.ne.jp/trend/1003/

はぁ〜〜

Web site image
不審と物議のダイレクトメールは本物 ヨドバシカメラ「正しいハガキです」(2019年10月3日)|BIGLOBEニュース
14:38:41 @lo48576@mastodon.cardina1.red
2019-10-04 14:37:20 xaus(茶臼)の投稿 RaftXaus@seetake.net
icon

このアカウントは、notestockで公開設定になっていません。

14:38:41 @lo48576@mastodon.cardina1.red
2019-10-04 14:37:45 xaus(茶臼)の投稿 RaftXaus@seetake.net
icon

このアカウントは、notestockで公開設定になっていません。

14:38:42 @lo48576@mastodon.cardina1.red
2019-10-04 14:38:33 skiaphorus(引っ越し済み)の投稿 skia@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

14:40:47 @lo48576@mastodon.cardina1.red
2019-10-04 14:40:03 はーしぇる。 :sabakan: :freebsd:の投稿 herschel@raptol.net
icon

このアカウントは、notestockで公開設定になっていません。

14:46:36 @lo48576@mastodon.cardina1.red
2019-10-04 14:42:08 解凍の投稿 hina@mstdn.maud.io
icon

TDRのオンライン決済ページめっちゃJCBのロゴがどーんと出てくるのほんとわらう

14:46:37 @lo48576@mastodon.cardina1.red
2019-10-04 14:44:58 KAZU34@末代の投稿 KAZU34@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

14:47:05 @lo48576@mastodon.cardina1.red
icon

「致したんだけど、致しが完了する瞬間(下品)にJCBのロゴがバーンしてJCBのロゴで致してしまった(超下品)」

14:47:09 @lo48576@mastodon.cardina1.red
icon

???

14:47:38 @lo48576@mastodon.cardina1.red
15:15:09 @lo48576@mastodon.cardina1.red
2019-10-04 15:05:36 北枕 in Pawooの投稿 araigumaG@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

15:26:54 @lo48576@mastodon.cardina1.red
2019-10-04 15:24:44 ちゃーしゅーねこの投稿 charsiuCat@social.mikutter.hachune.net
icon

このアカウントは、notestockで公開設定になっていません。

15:30:10 @lo48576@mastodon.cardina1.red
icon

OSS へのプルリコ送りまくるのは大変良いことだと思うけど、「リリースノートに載るようなことをしたい」みたいなのは (願望としてはわかるけど) 邪念だと思う。
「プログラマは問題のないものでも修正しようとする」みたいな言葉もあるし、自分でもいいからとにかく誰かにとても必要とされている変更を加えるというのが第一の目的であるべきだと思っている

15:30:54 @lo48576@mastodon.cardina1.red
icon

変更のインパクトや目立ち具合ではなく、必要かどうかで評価するべき

……というのはまあ個人的な思想だけど、そのつもりでやっていきしている

15:42:29 @lo48576@mastodon.cardina1.red
2019-10-04 15:38:49 κeenの投稿 blackenedgold@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。

15:44:00 @lo48576@mastodon.cardina1.red
icon

どこかで「初心者は『○○をするにはどうすればいいか』と聞くが、実は○○をしたいのは××のためで、そのために○○はそもそも不適切であるケースが多い」みたいな話を読んで、まさにそれだと膝を打った記憶があるんだけど、 URL が思い出せない

15:46:37 @lo48576@mastodon.cardina1.red
icon

頼むからプログラミングを学ばないでくれ | TechCrunch Japan
jp.techcrunch.com/2016/05/17/2

Web site image
頼むからプログラミングを学ばないでくれ
15:47:31 @lo48576@mastodon.cardina1.red
icon

> プログラミングにおける何らかの問題に取り組むとき、まず私たちはその問題が何であるのか、そしてそれは本当に問題であるのかを見極めなければならない。その問題が本当にプログラミングで解決できる問題かどうかを考慮せず、プログラミングで解決することに固執し、「なぜ問題なのか」という視点を失ってしまっては、そこから何も得ることはできない。それがプログラミングで解決できる問題であろうと、なかろうとだ。

15:50:48 @lo48576@mastodon.cardina1.red
icon

mstdn.jp/@blackenedgold/102902
mastodon.cardina1.red/@lo48576

初心者の質問を見ると「○○をするために『どう書けばいいか』わからない」と思っていそうな節があって、でも本当に考えるべき (そしてプログラミングの中核にある部分) なのは問題を「どう解決するか」のところで、そして初心者が「(××を解決するために) ○○をする」という部分自体が根本的に筋の悪いアイデアだったりするのよね

Web site image
κeen (@blackenedgold@mstdn.jp)
Web site image
らりお・ザ・何らかの🈗然㊌ソムリエ (@lo48576@mastodon.cardina1.red)
15:51:54 @lo48576@mastodon.cardina1.red
icon

でも何なんだろうなぁ

15:53:54 @lo48576@mastodon.cardina1.red
icon

私の場合コードを書く上で「できそうなことしか思い付かない」というか「書けそうなことしか書こうとできない」みたいなのがある。
それゆえ「こう問題を解決しよう」というのを素朴にコードに落とすことになるので、「こう解決しようと思ったんだけどどう書けばいいかわからない」ということは基本的にないんだけど。

「書こうとしたものをどう書けばいいかわからない」という状況が想像できない。アイデアが野心的すぎるのか、抽象的すぎるのか……

15:54:40 @lo48576@mastodon.cardina1.red
icon

私が試行錯誤する部分、アルゴリズムよりも API とかの部分なので、爆破して最初から作り直すにしても内部のロジックは使い回せることが少なくない

19:29:40 @lo48576@mastodon.cardina1.red
2019-10-04 19:28:31 ぱすB🔞🚸の投稿 bakupa@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

19:41:51 @lo48576@mastodon.cardina1.red
icon

普通の熟語の漢数字をアラビア数字にするのやめてほしい、そこで悩むのが許されるのはn角形とかそういう類のものだけでしょ

19:42:58 @lo48576@mastodon.cardina1.red
icon

@prime やめてえええ!!!

19:44:45 @lo48576@mastodon.cardina1.red
icon

あと once とか twice を「1度」とか「2度」と書かないでほしい、どう見ても degree でしょそれは

19:45:30 @lo48576@mastodon.cardina1.red
2019-10-04 19:44:24 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

10000が1
100000000劫

19:47:03 @lo48576@mastodon.cardina1.red
2019-10-04 19:46:51 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

"「一般」を「1般」と書くツイートが流れてきて思わず2度見。1発では変換できないから入力が7面倒くさそう。このツイートも4苦8苦、いや1000辛10000苦の末に成っている。100000000劫な身にはつらい。ことばの世界の豊10^28さを改めて感ずるが、何故そこまで、と10^40直10^48めて10^64だ"
twitter.com/nishinerima/status

19:49:02 @lo48576@mastodon.cardina1.red
icon

@prime ごくげん……

19:57:06 @lo48576@mastodon.cardina1.red
2019-10-04 19:54:15 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

あそうか for Hoge だけじゃなくて for &Hoge にも impl が書けるのか

19:58:14 @lo48576@mastodon.cardina1.red
icon

これ本当に良い仕組みよね
impl<I: Iterator> Iterator for &mut I

Iterator::by_ref()
とかなんというステキなアイデア

20:38:34 @lo48576@mastodon.cardina1.red
2019-10-04 20:32:35 体力自慢爆死お兄ちゃん(学生)の投稿 Otakan951@mstdn.maud.io
icon

i = 10;
if(i=0){
printf("i=%d",i);
}

なんでこれの出力がi=0になるんだ??ってなっていたので私はアホ

20:38:34 @lo48576@mastodon.cardina1.red
2019-10-04 20:33:27 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

それはむしろ表示されないのでは

20:38:37 @lo48576@mastodon.cardina1.red
2019-10-04 20:35:25 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

if (i=0) は if (0) として評価されるので普通に考えたら if 文の中は実行されないし,なんなら最適化でその if のブロックまるごと無かったことにされる

20:38:49 @lo48576@mastodon.cardina1.red
2019-10-04 20:36:17 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

if 0 が truthy なのは Ruby かな

20:38:52 @lo48576@mastodon.cardina1.red
2019-10-04 20:37:17 よみたそまるの投稿 yomi@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

20:39:16 @lo48576@mastodon.cardina1.red
icon

これで出力が出る環境とコードがほしいな…… (web で実行できるやつでもいい)

20:39:20 @lo48576@mastodon.cardina1.red
2019-10-04 20:39:01 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

おたかんさんの環境,メモリに常に宇宙線が照射されてビット反転したりしてない?

20:39:24 @lo48576@mastodon.cardina1.red
2019-10-04 20:37:38 体力自慢爆死お兄ちゃん(学生)の投稿 Otakan951@mstdn.maud.io
icon

C++だよ

20:40:07 @lo48576@mastodon.cardina1.red
icon

おたかん氏が Enter を押す動作で体から高エネルギー電磁波が発射され毎回同じアドレスかレジスタのビットが反転する (???)

20:40:31 @lo48576@mastodon.cardina1.red
icon

まあ真面目な話をすると、コンパイル忘れてるとか別ファイルを実行しているとかは割とよくあるミスだと思うのでそっちも疑っている

20:42:07 @lo48576@mastodon.cardina1.red
icon

とにかくそういう不可解でどこから手を付ければいいかわからない挙動は、全然違う環境でどうなるか試してみるとか、最小再現コードを用意するとかが基本的な流れ

20:44:19 @lo48576@mastodon.cardina1.red
icon

twitter.com/L16777216/status/6

C/C++ のコンパイルオプション -Wall や -Wextra 以外にもめちゃくちゃ付けまくってた話します?

20:45:53 @lo48576@mastodon.cardina1.red
2019-10-04 20:45:26 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

壁とextra以外にも付けるべきオプションあるんだろうけど数増やしすぎなんだよな

20:46:15 @lo48576@mastodon.cardina1.red
icon

デフォルトで有効化してくれみたいな話はあるな (rustc はいいぞ)

20:51:04 @lo48576@mastodon.cardina1.red
2019-10-04 20:49:59 体力自慢爆死お兄ちゃん(学生)の投稿 Otakan951@mstdn.maud.io
icon

あ、わかった

20:51:18 @lo48576@mastodon.cardina1.red
2019-10-04 20:49:14 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

ちなみに最適解なんですが,いますぐ GCC とか MSVC は止めて Clang で -Weverything を使うことです。

20:51:25 @lo48576@mastodon.cardina1.red
2019-10-04 20:47:46 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

このアホな issue みて >> 31573 – -Wall-all to enable all warnings gcc.gnu.org/bugzilla/show_bug.

31573 – -Wall-all to enable all warnings
20:51:34 @lo48576@mastodon.cardina1.red
2019-10-04 20:47:09 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

GCCの壁とRustの牛はあまりにも有名

20:51:54 @lo48576@mastodon.cardina1.red
icon

Cow が牛なのは仕方ないとして Arc は地味にかっこいいので気に入っている (???)

20:54:34 @lo48576@mastodon.cardina1.red
2019-10-04 20:52:57 体力自慢爆死お兄ちゃん(学生)の投稿 Otakan951@mstdn.maud.io
icon

if(i=0){
printf("i=0",i);
いろいろな処理
}else{
いろいろな処理
printf("i=%d",i);
いろいろな処理
}

実際のコードはこんな感じだったので、else以降が実行されただけですね…

20:54:41 @lo48576@mastodon.cardina1.red
2019-10-04 20:53:18 体力自慢爆死お兄ちゃん(学生)の投稿 Otakan951@mstdn.maud.io
icon

下手に省略した結果

20:55:17 @lo48576@mastodon.cardina1.red
icon

最小再現コードはやっぱり web で実行する系に投げるのが良いわね

21:04:01 @lo48576@mastodon.cardina1.red
icon

C++ は人類には難しすぎるよ

21:04:45 @lo48576@mastodon.cardina1.red
icon

あと C++ as better C を C++ だと思ってあれこれ評価しようとする人もいるけど、そういうのに耳を傾けるのもよくないからね

21:05:25 @lo48576@mastodon.cardina1.red
icon

こう、最初の方は「まあ言うて C の拡張やな」みたいな気持ちで学んでいくんだけど、最終的に idiomatic な C++ は C とは似ても似つかないものになったりしてな……

21:06:03 @lo48576@mastodon.cardina1.red
2019-10-04 21:04:02 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

まあ stdio のそれらは特にscanで罠が発生しやすいからね……

21:06:04 @lo48576@mastodon.cardina1.red
2019-10-04 21:05:18 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

たまになんだけど,stdin は std::cin するくせに stdout は std::printf とかやる

21:06:09 @lo48576@mastodon.cardina1.red
2019-10-04 21:05:32 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

あれの何がよくないかってC/C++の昇格ルールが垣間見えているところだよ

21:06:17 @lo48576@mastodon.cardina1.red
icon

default argument promotion なぁ

21:06:24 @lo48576@mastodon.cardina1.red
icon

printf() に float/double を渡したときの挙動と %lf の意義 - Qiita
qiita.com/lo48576/items/9901f7

Web site image
printf() に float/double を渡したときの挙動と %lf の意義 - Qiita
21:07:32 @lo48576@mastodon.cardina1.red
icon

何が恐ろしいって、 %lf と %f 程度のことに気付いていない人が C 完全にマスターしたつもりになってあれこれ適当な情報を垂れ流し続けてるところとかなぁ

21:07:46 @lo48576@mastodon.cardina1.red
icon

C++闇の軍団による鉞はやっぱり大事なんですよ

21:11:06 @lo48576@mastodon.cardina1.red
2019-10-04 21:10:32 KAZU34@末代の投稿 KAZU34@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:11:26 @lo48576@mastodon.cardina1.red
icon

Java は大概のものが参照で value の概念が希薄なので C++ と行き来するとややこしそう……

21:12:17 @lo48576@mastodon.cardina1.red
icon

Java ではあらゆる場面 (これは誇張) new するけど C++ では new せず値を受け渡しするという手があるしデザインレベルでな

21:12:57 @lo48576@mastodon.cardina1.red
2019-10-04 21:12:29 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

C言語あるある LibName_funcname

21:13:24 @lo48576@mastodon.cardina1.red
icon

C言語あるある

struct foo_internal;
typedef struct foo_internal *foo;

21:13:50 @lo48576@mastodon.cardina1.red
2019-10-04 21:13:08 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

あと今からC++書く人は頼むから enum class を使ってくれ

21:14:13 @lo48576@mastodon.cardina1.red
icon

new を撲滅して unique_ptr と shared_ptr 使っていこうな!!!!!

21:14:29 @lo48576@mastodon.cardina1.red
2019-10-04 21:14:11 体力自慢爆死お兄ちゃん(学生)の投稿 Otakan951@mstdn.maud.io
icon

チーム作業()なので言語を替えづらいというのもある

21:14:58 @lo48576@mastodon.cardina1.red
icon

チッム開発 (1年間) の授業で「ジャッヴァとパイソョンは嫌……」ってゴネたら Rust 使うことになった感動の実話

21:16:18 @lo48576@mastodon.cardina1.red
2019-10-04 21:16:00 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

あと (uint8_t) hoge みたいなのは uint8_t(hoge) にしろみたいなことを言われたけどこれはアリなのか?

21:16:27 @lo48576@mastodon.cardina1.red
icon

static_cast<uint8_t>(hoge)

21:17:09 @lo48576@mastodon.cardina1.red
icon

安全なキャストはそうであることを明示するために static_cast にせよという流儀がありますね

21:17:50 @lo48576@mastodon.cardina1.red
icon

casting - Should I use a C++ reinterpret_cast over a C-style cast? - Stack Overflow
stackoverflow.com/questions/84

21:18:14 @lo48576@mastodon.cardina1.red
icon

本の虫: 邪悪なC形式のキャストにしかできないこと
cpplover.blogspot.com/2010/07/

邪悪なC形式のキャストにしかできないこと
21:18:24 @lo48576@mastodon.cardina1.red
2019-10-04 21:18:12 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

さっきのキャストというよりコンストラクターを呼んでいる感があるな

21:18:30 @lo48576@mastodon.cardina1.red
icon

まあ本質的には同じなので

21:18:56 @lo48576@mastodon.cardina1.red
icon

暗黙の型変換と implicit ctor あたりはなぁ……

21:19:08 @lo48576@mastodon.cardina1.red
2019-10-04 21:18:47 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

私 STL の使いかたとか『独習 C++』でへーってなりながら学んだので他人にも勧めがちなんだけど,実際のところ STL の使い方ちょっと知りたいナーぐらいだったら何読むのがいいんだろうね。『ロベールの C++ 入門講座』とかもよく名前見るけど読んだことないや。

21:19:12 @lo48576@mastodon.cardina1.red
icon

cppreference.com (半分本気)

21:19:55 @lo48576@mastodon.cardina1.red
icon

べつに C++ に限らないけど、末永く付き合っていくつもりのある言語は何より先に標準ライブラリのドキュメントを一通り舐めておくべき、これは本当にマジで

21:20:17 @lo48576@mastodon.cardina1.red
icon

いやもちろんそれよりも言語仕様が先だけど

21:20:26 @lo48576@mastodon.cardina1.red
2019-10-04 21:19:57 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

明らかに変更するつもりのないファイル名などの文字列を char* で取るな!!!

21:20:26 @lo48576@mastodon.cardina1.red
2019-10-04 21:20:08 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

これは pigpio に対する文句です

21:21:01 @lo48576@mastodon.cardina1.red
icon

execvp の argv が non-const である話かと

21:21:35 @lo48576@mastodon.cardina1.red
icon

本の虫: 邪悪なC形式のキャストにしかできないこと
cpplover.blogspot.com/2010/07/

邪悪なC形式のキャストにしかできないこと
21:21:43 @lo48576@mastodon.cardina1.red
2019-10-04 21:20:38 TGMのサントラ販売中の投稿 Common_Lisper@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:21:55 @lo48576@mastodon.cardina1.red
icon

鉞は linter の警告みたいなもんだよ (???)

21:21:57 @lo48576@mastodon.cardina1.red
2019-10-04 21:15:53 Yavit :verified:の投稿 8vit@gs.yvt.jp
icon

このアカウントは、notestockで公開設定になっていません。

21:22:01 @lo48576@mastodon.cardina1.red
2019-10-04 21:20:17 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

強い人はそれ読んどけでいいんだけどそれ読んどけでなんとかなる人はほぼほぼ居らんやろ

21:22:28 @lo48576@mastodon.cardina1.red
icon

C++ は C の次に学ぶ言語みたいなところがあるので、その手では「リファレンス読めばとりあえずわかる」レベルの人が少なそうというのは確かにある

21:22:56 @lo48576@mastodon.cardina1.red
icon

C++ 、どう考えても言語習得経験の後ろの方に位置すべきものなんだけど、 C の派生なせいで先に学びがちなの、バグだよなぁ

21:23:39 @lo48576@mastodon.cardina1.red
icon

s/その手では/その点では/

21:23:48 @lo48576@mastodon.cardina1.red
2019-10-04 21:23:38 TGMのサントラ販売中の投稿 Common_Lisper@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:23:59 @lo48576@mastodon.cardina1.red
icon

拡張が入るたびに + がひとつ増える言語 (???)

21:24:06 @lo48576@mastodon.cardina1.red
icon

プログレスバーかな???

21:24:40 @lo48576@mastodon.cardina1.red
2019-10-04 21:22:16 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

なんだっけな argv にstrcpyすると ps コマンドとかでの表示を変えられるとかなんとか?

21:24:48 @lo48576@mastodon.cardina1.red
2019-10-04 21:23:59 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

argv 書き換えたりするのちょっとした hack に必要でやったことはある

21:24:48 @lo48576@mastodon.cardina1.red
2019-10-04 21:23:17 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

怖すぎて泣いちゃったというか、あそこの表示変えてるソフトウェアそんなダーティーなことしてんのかよといった驚きが

21:24:52 @lo48576@mastodon.cardina1.red
2019-10-04 21:24:44 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

実際最初に option parser 走らせ終わったらもう argv とか要らんのだから何書いてもまあべつにというところある

21:24:56 @lo48576@mastodon.cardina1.red
2019-10-04 21:24:49 TGMのサントラ販売中の投稿 Common_Lisper@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:26:08 @lo48576@mastodon.cardina1.red
2019-10-04 21:26:02 sksatの投稿 sksat@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:28:35 @lo48576@mastodon.cardina1.red
2019-10-04 21:26:33 KAZU34@末代の投稿 KAZU34@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:28:38 @lo48576@mastodon.cardina1.red
2019-10-04 21:27:03 KAZU34@末代の投稿 KAZU34@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:28:39 @lo48576@mastodon.cardina1.red
2019-10-04 21:27:27 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

Rust とか Kotlin とか行く前に一度 Lisp とか OCaml とか Haskell とかのいわゆる関数型のパラダイムにひとつは触れておくとモダンな言語のモダンな機能に触れやすくて良いのでは

21:28:40 @lo48576@mastodon.cardina1.red
2019-10-04 21:27:54 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

他の言語の学習につなげやすいというところでは Lisp よりも ML 系言語のほうがいいのかな。

21:28:49 @lo48576@mastodon.cardina1.red
icon

最近の言語はみんなマルチパラダイムだからなぁ

21:29:26 @lo48576@mastodon.cardina1.red
icon

コア部分がシンプルで関数型言語寄りのものをひとつやっておくと、次に学ぶ現代的言語の理解度が格段に変わってきますよ

21:29:35 @lo48576@mastodon.cardina1.red
2019-10-04 21:29:11 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

Haskell がいいか OCaml がいいかは個々人の好みで

21:30:00 @lo48576@mastodon.cardina1.red
icon

大学とかだとλ計算と Scheme なんかだったりするけど、型付きがお好きなら OCaml とかがやはり有力なのでは

21:30:11 @lo48576@mastodon.cardina1.red
icon

Haskell はよくわからん (モナド……)

21:30:46 @lo48576@mastodon.cardina1.red
icon

Haskell 触ってみたことはあるけどモナドを本格的に使いたくなるほどのコードを書いていないので、実質なんもわからん

21:30:53 @lo48576@mastodon.cardina1.red
2019-10-04 21:30:37 解凍の投稿 hina@mstdn.maud.io
icon

C/++なんもわからんマンだけど*argvと*argv[0]ってどうちがうの(

21:31:51 @lo48576@mastodon.cardina1.red
icon

const char *argv[] として
*argv (これは argv[0] と同じ) の型は const char * だし、
*argv[0] の型は *(argv[0]) なので char です

21:32:28 @lo48576@mastodon.cardina1.red
icon

a[b] は *(a + b) なので (少なくとも C 言語やポインタレベルでは)

21:33:00 @lo48576@mastodon.cardina1.red
icon

operator[] が定義されている非組み込み型だと普通にそっちの実装が使われるけど

21:36:12 @lo48576@mastodon.cardina1.red
2019-10-04 21:35:14 Ushitora Anqouの投稿 anqou@mstdn.anqou.net
icon

このアカウントは、notestockで公開設定になっていません。

21:36:21 @lo48576@mastodon.cardina1.red
2019-10-04 21:36:08 Ushitora Anqouの投稿 anqou@mstdn.anqou.net
icon

このアカウントは、notestockで公開設定になっていません。

21:36:45 @lo48576@mastodon.cardina1.red
icon

@kb10uy s/rewrited/rewritten/g

21:37:07 @lo48576@mastodon.cardina1.red
2019-10-04 21:36:47 sksatの投稿 sksat@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:38:06 @lo48576@mastodon.cardina1.red
2019-10-04 02:57:17 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

The World says Hello to Zen (v0.7.x Public Beta) | Zen Language Blog
zen-lang.org/ja-JP/blog/2019_1

> C言語からの移行を漸進的に進められる

結局ここが一番特異ということになるのかな

Web site image
The World says Hello to Zen (v0.7.x Public Beta) | Zen Language Blog
21:38:09 @lo48576@mastodon.cardina1.red
2019-10-04 02:56:02 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

気になるところだけ雑に眺めてみたけど、「Rust から乗り替えるほどのものは感じなかった」という感想です
(Rust を使えない宗教の人が C から乗り替える先としては、まあアリだと思う)

21:38:12 @lo48576@mastodon.cardina1.red
2019-10-04 02:58:32 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

それこそ漸進的型付けみたいなのと同じく、既存の C 資産をどうにかしてマトモにしていきたい人が使うものであって、最初から良いものを作りたいなら敢えて選ぶほどだろうかと

21:39:52 @lo48576@mastodon.cardina1.red
2019-10-04 21:36:29 Masanori Ogino 𓀁の投稿 omasanori@mstdn.maud.io
icon

冒頭からHindley–Milnerとか飛び出してくる硬派なSMLの講義があったら界隈の人々はうらやましがるけれど通っている学生のいくらかは渋い顔しそう

21:39:56 @lo48576@mastodon.cardina1.red
2019-10-04 21:38:43 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

たぶんいくらかどころか 8 割ぐらいか渋い顔すると思うよ。東大理情だと違うかもしれんけど。

21:41:09 @lo48576@mastodon.cardina1.red
icon

まあ C 資産から逃げられなくてかといって RIIR もコストがかかりすぎるという組込みマンは是非 Zen で頑張ってほしいという感じ

21:42:46 @lo48576@mastodon.cardina1.red
icon

オッキャムリについては学校の同期がおもしろい (しょーもない) バグに引っ掛かってて笑った記憶があって

21:44:32 @lo48576@mastodon.cardina1.red
icon

副作用のある無引数の関数を
let f = ...
みたいな感じで定義してたのに定数が返ってくるのでこれはおかしいぞみたいな感じで悩んでたんだけど、結局
let f () = ...
みたいな感じにしないといけませんでした、というオチ

21:44:58 @lo48576@mastodon.cardina1.red
2019-10-04 21:44:11 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

Kernel/VM に来てた Zig の人に Rust とどう違うのか質問したら,Zen/Zig は next generation C で Rust は next generation C++ だみたいなこと言ってて腑に落ちた

21:45:26 @lo48576@mastodon.cardina1.red
icon

next C としては golang が言われがちだけど、たしかに Zen (Zig は知らない) の方が近いという印象がある

21:47:53 @lo48576@mastodon.cardina1.red
icon

評価戦略を弄って遊ぼうな (?)

21:48:19 @lo48576@mastodon.cardina1.red
2019-10-04 21:47:09 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

今なんとなくTL眺めてて思ったけど Flash ROM が 256KB 以上あるようなマイコンなら Embedded Rust でもいけるのではと思った(?)

21:48:21 @lo48576@mastodon.cardina1.red
2019-10-04 21:47:25 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

それ以下だとZenぐらい生なほうが向いてそうな印象を受ける

21:48:56 @lo48576@mastodon.cardina1.red
icon

そういえば研究しないとなぁ

21:50:52 @lo48576@mastodon.cardina1.red
2019-10-04 21:48:40 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

ESP32 、ガワが非常に魅力的でよいのだけどARMでもAVRでもないんだよな

21:50:54 @lo48576@mastodon.cardina1.red
2019-10-04 21:49:17 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

日本人ぐらいしか組み込みサポートを提供しないんじゃないかという危惧を抱いており、その点では STM32 とかで遊ぶほうがリソースは確報できそうだよなあと思う

22:23:20 @lo48576@mastodon.cardina1.red
2019-10-04 22:21:21 Masanori Ogino 𓀁の投稿 omasanori@mstdn.maud.io
icon

Verilator、Crayがmutation testingのために使った話があったり様々な有名企業が使っていたりする

22:23:22 @lo48576@mastodon.cardina1.red
22:31:57 @lo48576@mastodon.cardina1.red
icon

:gitlab: が :tanuki: でないところに倫理と良識を感じている (???)

22:32:23 @lo48576@mastodon.cardina1.red
2019-10-04 22:31:44 おさの投稿 osapon@mstdn.nere9.help
icon

この運用考えた人凄いな。
>お支払いの際、楽天Edyの残高全てが引き落としされます。お釣りがある場合、給油後に警告音が鳴ります。必ず差額分のおつりをチャージください。所定時間が過ぎるとタイムアウトになりお釣りが受け取れません。
電子マネー「楽天Edy(ラクテンエディ)」 | 知っていますか?ガソリンスタンドでも楽天Edyが使えます!
edy.rakuten.co.jp/recommend/gs

Web site image
知っていますか?ガソリンスタンドでも楽天Edyが使えます!
22:32:40 @lo48576@mastodon.cardina1.red
2019-10-04 22:29:14 あじょだよの投稿 azyobuzin@mstdn.maud.io
icon

> お支払いの際、楽天Edyの残高全てが引き落としされます
edy.rakuten.co.jp/recommend/gs
は?????????

Web site image
知っていますか?ガソリンスタンドでも楽天Edyが使えます!
22:33:20 @lo48576@mastodon.cardina1.red
icon

地球にやさしい労働は週9時間かもしれないが、人間にやさしい労働は週0時間だ