- Smalltalk総合 Squeak Pharo
220 :デフォルトの名無しさん[sage]:2015/02/11(水) 02:48:11.00 ID:kCQdnFWd - クラスライブラリの実装見ると
たいてい使える機能から予想するよりも 短い記述になってる印象なんだけど なんで? 文法が簡潔で記述量が少なく書けるから? 書き手がOOマスターしてるから? それとも継承しまくってるから (継承を追って見るくらいはしてる) 総量は多くても個々が少なく感じるだけ? じつはシステムブラウザから見えない部分 (インライン)で下処理を済ましてるから?
|
- Smalltalk総合 Squeak Pharo
227 :デフォルトの名無しさん[sage]:2015/02/11(水) 19:11:13.96 ID:kCQdnFWd - >>221
処理系はSqueak クラスは「Kernel-」系のクラス こんなコアな部分でもこれだけで済むの? ってのが素朴な疑問だった (とくに昔の)C++とかのソースだと 1ファイルに何千行もドバッと書かれてるから 小分けで錯覚してるだけかもしれないけど 自力で分かったのは Kernel-Objects BooleanのifTrueが インライン展開されてるから書かれてないってこと
|
- Smalltalk総合 Squeak Pharo
229 :デフォルトの名無しさん[sage]:2015/02/11(水) 22:16:32.83 ID:kCQdnFWd - >>228
うわー詳しい! 触ったばかりとはいえ雑な理解で恥ずかしいです^^; >実質的にはコード量なりの機能しか実装されていない パッと見で気づかれないていどに うまく手を抜いてるってことですかね たしかにC++みたいな巨大な仕様の言語と 細部の挙動が違うのは想像できます もしそれが気に入らなければ Smalltalkは仕様自体をカスタマイズできるんだし YAGNI的にも開発リソース的にも それが現実解の気がします なぜそこが気になったかというと 少ないコード量で実現してるというのは 設計の参考になるからです
|
- Smalltalk総合 Squeak Pharo
231 :デフォルトの名無しさん[sage]:2015/02/11(水) 23:29:09.42 ID:kCQdnFWd - >>230
>どうしてこんないい加減なものが動くのか 不思議ですよねー 古くからあるから職人芸なのかな 記述が短いから拡張や改造が楽で 助かる面はあります >実装やその動作などと併せて >予想・確認してみるのは比較的よい題材 それは良さそうですね じっくり取り組んでみます
|