C#(.net) と java
今週から、C#でWindowsFormのプロジェクトの手伝いというか参加しています。以前、C#をやったときも思ったけど、C#だと、無駄に嵌ってしまうのは何故だろう?
他の人達が、普通に簡単に書けているような所で、俺だけ無駄に嵌るというパターンが多い気がする。
見えないC#(.net) 見えるjava
javaでは、潔癖症とも取れる程ライブラリの中はオブジェクト指向していて、それらを使うのは非常に面倒くさいんだけど、中身を方針を理解すれば、使う時に変なところで嵌ることは少ない気がする。それは、クラスライブラリの中のソースまで見えているからというのが大きいと思う。
一方、C#は、逆コンパイルでソース見れるらしいけど*1、見てないし、簡単に使えるためのインターフェースがあるんだけど、どこまで面倒見てくれるのかが、
わかりにくかったりする。
DataSet周り
C#の言語仕様は、悪くないように見えるんだけど、VisualStudioで、WindowsFormの開発を始めると、気分が落ちてくる。問題は、DataSet周りが暗黒の世界だからなんじゃないかと思う。C#の入門記事などでは、DataSet関連クラスも理解すれば、なんとかできそうに思うんだけど、
実際の業務で、VisualStudio触り始めると、Formデザインの画面がエラーになって表示できなくなったりすることが多くて、作業が進まない。
マウスでポチポチするのが面倒になって、vimでソースを弄り始めてしまうのが、最大の原因かもしれない。決まってその後、VisualStudioのごたごたに巻き込まれる。
劣化VB
- #region とかで、フィールド変数をとりあえず隠しておくというは、どうなんだろう。汚いものには蓋をしろと。
- フォームクラスで、引数の無いメソッドで処理を纏めてみても、副作用バリバリなので、逆に香ばしいパスタ状態?
- .net2.0くらいで、ユーザ用フォームクラスのファイルとデザイナが自動的に更新するフォームクラスのファイルに分割したけど、酷い解決方法だと思う。同じクラスを複数のファイルで定義できるなんて。
- フォームデザイナが不安定すぎて、触るのが恐い。
VisualStudioを満足に扱えない自分を棚の上に上げておくと、モチベーションを下げている原因は、VisualStudioは、コピペと全部フォームクラスに記述するスタイルに最適化していると思う。
業務で、上手にVisualStudioを使っている人達は存在するのかな?OSSでもいいけど、そんなプロジェクトのソースを見てみたい今日この頃です。
*1:グレーというか黒っぽいのでやってません。
ライブラリソースの参照ですが
http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx
今はこういう風に公開されてます。
rayfillさん、ありがとうございます。
おぉ、良さそうですね。VS2008からは、VSでも住みやすくなるかもしれませんね。
でも、今のプロジェクトは、VS2005ベースなので、我慢しないとです。