今月の活動 (GTKの勉強, WPFの再訪, 気になった記事など)
- 前回 (2022-08-31) https://vain0x.github.io/blog/2022-08-31/diary/
GTKの勉強
- リポジトリ: seven-gui-with-gtk-rust
- 7GUIs という7種類のGUIアプリケーションのサンプルがある
- それをGTKのRustバインディング (gtk-rs) を使ってやっている
- 7つのうち5つまでやった
- 簡単なタスクがあると学習がはかどってよい
- 目的なくドキュメントを読んでいても頭に入ってこない
- 新しいフレームワークだとなじみのないことがあっておもしろい
- いわゆるテキストボックスがEntryという名前で、データがBufferオブジェクトに分かれているとか
- RustでGUIを書くのは他の言語とは違って所有権がからむ
- 複数のコールバックが単一のデータへの可変な参照をつかまないようにする
WPFの再訪
- リポジトリ: wpf-enterprise-example
- ここ数年は React+TypeScript でウェブアプリを作っていて、フロントエンドの設計に関して考えが変わった
- 以前にWPFでデスクトップアプリを作っていたときの設計は課題がたくさんあった
- 課題がどのくらい改善するか、あるいはしないか、WPFに応用できるか、応用することに価値があるか、などを確かめたい
- そのためにサンプルアプリを書いている
- 例えばダイアログの出しかたはReactでよく行われている方法のほうがよさそうな感じがする
気になった記事など
- Abstraction: Not What You Think It Is | Path-Sensitive (公開日 2022-03-28)
- 抽象(abstraction)の用法について
- 似ているものの共通部分を取り出すこと (anti-unification) とかに濫用されがち
- 言語や型システムの設計はまさに抽象の構築や抽象を使った議論の展開だと感じる
- 逆にCのコード断片を埋め込む機能とかは抽象をぶっ壊すことの好例になっている
- このブログの他の記事もおもしろい
- ソフトウェアの設計はコードに現れない話 (The Design of Software is A Thing Apart | Path-Sensitive)
- 「プロジェクトを実際にやってみる」よりスキルを個別に練習したりよくできたモデルケースを扱うほうが効率がいいという話 (The Practice is not the Performance: Why project-based learning fails | Path-Sensitive)