mishimaの日記: 開発について朝まで語りあう 2
日記 by
mishima
みなさま、お疲れ様でした。
またまた朝まで語りあってしまいました。
大変面白い意見が聞けたと思っておりますよ。
いろんな意味で(w
…ということで、
今日は次のような議題で朝までまったりとお話をしてみた。
1) プログラミング言語(やライブラリなど)の
学習コストと便益のトレードオフ
2) GUI プログラムにおける look & feel の統一性
3) OSS プロジェクトにおけるマスコットキャラの重要性
それぞれの議題について、不完全燃焼の感がある方、
あるいは内容について知りたい方は、
続けてここで語りあってみたりみなかったりしよう、
ととりあえず呼び掛けてみる。
言語学習とオブジェクト指向 (スコア:1)
朝までの議論の結論を生かし、萌え萌えな名前を考えようと、日夜悩んでいます(何
さて、オブジェクト指向の学習効率の話ですけれど、
それって、オブジェクト指向のほうが覚えることが多い、ってことですよね。
つまり、bootstrapに必要な必須知識が多い、と。
それを前提にして。
けれども、例えばC#は言語組み込みの機能は減らす方向になっていますよね。
つまり、言語自体では覚えることは減っているはず。
よって、問題は言語そのもの以外にあるわけですよね。
と、すると、クラスライブラリが問題なのですかね。
Re:言語学習とオブジェクト指向 (スコア:1)
なんとか最近 /. に復帰できたというか…
まぁ言い訳は置いておいて、
> それって、オブジェクト指向のほうが覚えることが多い、ってことですよね。
そうです。
> けれども、例えばC#は言語組み込みの機能は減らす方向になっていますよね。
> つまり、言語自体では覚えることは減っているはず。
> よって、問題は言語そのもの以外にあるわけですよね。
そのとおりです。
個人的には継承という「概念」の敷居が高いと感じてます。
理解(した気になるの)と実際に使えるようになるのとの間が。
もし「理解した気でも十分じゃん」ということなら、
そもそもオブジェクト指向を学ぶ必要はないです。たぶん。
オブジェクト指向言語が「利用」できれば十分な人でしょう。
あとは、プログラム初学者がより上達していく道筋を考えると、
1) 初学者全体のうち何割が上級者になるか
(初学者のままでいる人が圧倒的に多いなら、
上級者になる人にばかり便宜を図るべきではない)
2) オブジェクト指向へのシームレスな移行と段階的な移行は
どちらのほうがよいか
なんてことろが争点じゃないかと思っています。
個人的には、2) でシームレスな移行をされると、ちゃんと
わかってるプログラマと移行途中のプログラマの見分けが
つきませんし、そうなると見るも無残なオブジェクト指向モドキの
コードが業界に蔓延するのであんまりうれしくない気がします
(別の試金石があればそれでもいいんですけど)。
> と、すると、クラスライブラリが問題なのですかね。
えーとそれは実際の言語のよしあしの話ですね。
実際に世間でよく使われているオブジェクト指向言語(Javaとか)
の話では、ちょっとしたプログラムを書こうとなると
いきなり同期/非同期、ブロッキングの概念、
スレッドの概念(=競合の概念を含む)、
あたりを全部把握する必要があったりして、
ある程度経験のある人間や、専門で学んだ人間以外には
立ち入ることが難しい領域がすぐ現れてしまいます。
これは状態をもつ手続き型言語に共有の問題なので、
理想的には
- 小規模なプログラムには手続き型言語
- 大規模なプログラムには、別の言語(おそらく手続き型言語)
で書かれたモジュールを組み合わせることができる
非手続き型言語
という形はどうだろ、と思っています。
現状の HTTP + Servlet + DB はこの一形態だと思っていますが、
そういう視点で言えば、あんまりきれいなモジュール化ではないですね。
# mishimaは本田透先生を熱烈に応援しています