さっそくに なりますが。
風邪をひいて寝込んでいて、
あまり勉強が進みません。
どうも咳が止まらなくなってきました。
基本的に体は強くないので、
たまにあるのですけれどね。
過去のブログを調べてみると、
同じようなことを書いたことが一度だけありますねえ。
ちょっとこの調子だと更新もきついですね。
仕方がないのでブログはちょっとお休みしましょうか。
プライベートなことを書くブログは以前やったことがあるのですが、
どうもうまくまとまらないので。
このブログは、プライベートなことは書かずに、
プログラマーとしての自分に関係のあることだけを書くことにしていたのですが。
毎日書くということにすると、それだと書くことが足りなくなるのですよねえ。
毎日書くということにしないと、書かなくなってしまいそうですし。
一応プログラマーとしてといいつつも、
もう少し範囲を広げてみましょうかねえ。
多少まとまってない感想とかも書いてみるとか。
まあ今日のような記事もプライベートといえばプライベートなのですけれどね。
実際どうもうまくまとまってませんし。
こういうのばかりにはならないようにはしないといけませんけれど。
プログラマーを始めて10年ほど。
自分の限界が見えてきました。
やっぱり世界や、日本でもトップクラスで活躍している人は、
なかなか遠いですねえ。
まあそれがわかるようになったのは進歩したのだと思います。
ちょっと自分をほめてみる。
人間、ちょっと勉強を始めたくらいの分野は、
自分が何でもできるような気がするものです。
たとえば、
相対性理論は間違っていると言い出す、
在野の研究家とかを見ていると、よくわかりますね。
私も、ちょっと興味を持っている、
比較言語学とか哲学とかの分野では、
なんか偉そうに意見を言ってみたくなったりもしますが、
よく考えると、専門書を読んだこともないのですよね。
(とはいえ意識のハードプロブレムはどう考えてもいちゃもんだと思うのですけれど)
物理の分野は、大学で叩き込まれたときに、
自分がいかにわかってないかはわかるようになりました。
で、プログラムの分野でも、
勉強すればするほど、自分がいかに勉強不足なのかがわかってくる気がします。
勉強すればするほど、勉強してない部分の巨大さが見えてくる。
まあそんなものですね。
まあ実際のところ。
トップクラスの人の何がすごいのかというのは、
それを追いかけてみないとわかりませんからね。
知識のないころの自分にわかったとは思えないです。
今だからこそ何がすごいのかある程度でも説明ができるようになってきたというものです。
ま、成長したということですかね。
Rubyを賛美する発言が増えてますけど。
もともと私のネイティブプログラム言語はC#です。
総合的に見て、こちらのほうが大変素晴らしいと思っています。
とはいえ、誉めるとなると難しい言語でもあります。
いろいろとあちこち、素晴らしいところは多いんですけどね。
RubyとかSmalltalkのように、熱狂的に素晴らしいと賛美する一点がないような気がします。
はっきり言ってしまうと。
作っているところに大量の予算があって、
かつ作ることにより大きな利益が見込まれる、
というのがC#の最大の利点だといってしまっていいんじゃないでしょうか。
言語開発を含み、ソフトウェア開発というものは、
コストをかければかけるだけよいものができる、
という性質を持っています。
まあ、どれだけでもお金を無駄に使うことができるという性質もありますし、
また天才的なひらめきのようなものはコストでは補えないため、
コストをかけたものが、必ずいいものというわけではないですが。
お金を無駄に使わず、適切に使うことができたなら、
そのお金の分だけはよいものができます。
そしてMicrosoftは、適切に膨大な予算をつぎ込んでいます。
世界でトップクラスの人材を何人も雇い、
そのほかにも高レベルの人材を大量に使うことができます。
それらの人材を使い、
設計やユーザビリティ調査、品質テスト、そして実装などを、
徹底的に行うことができます。
その結果。
C#を使えば、
言語の文法、ライブラリ、IDEサポート、インストーラまで、
すべてにおいてよく考えられ、コストをいとわず作りこまれた環境で、
作業をすることができます。
言語の文法は野心的な機能も含め、ユーザビリティのよいものが揃えられています。
また、たとえばジェネリックの実相の時も、Javaなんかはライブラリの変更コストを考えて折衷案が採用されたようですが、C#はライブラリを作りなおしました。
IDEのサポートはきめ細かで、、かつたいていの環境ではワンクリックでインストールできます。
その一つ一つの要素においては、C#より良い面を持つ言語は、
世の中にはたくさんあるでしょう。
が、全体的に最も効率よく作業できる環境を一つ選ぶなら、
それはC#になると思います。
Windows8はタブレット用なので、
デスクトップでは使いにくい、と書いてあるものが結構あるのですが。
本当に使ったうえで言っているのでしょうか。
デマだと思うんですが。
たしかに、タブレットでは使いやすくなっています。
が、デスクトップで使いにくくなっているかというと、それは別の話。
基本的には、スタートメニューが一画面全体に表示されるようになった、
というだけですよ。
ボタンは大きくなってタブレットで押しやすくなりましたが、
大きなボタンがマウスで押しにくいかというとそういうわけでもないです。
少なくとも、数時間使って慣れれば、十分に使いやすいと思います。
デスクトップモードアプリとメトロモードアプリの切り替えはちょっと面倒ですかね。
まあその辺は今まで通りの作業をするならデスクトップアプリだけで済むのであまり関係ない話です。
あと、画面の隅っこを触って何かするという動きが増えました。
これは、やってみないとわからないので、その分知らずに困る人は増えるかもしれませんが。
一度やってみればわかる話です。
今までのパソコンにいれるのはおすすめではない、
というのはデマだと思うのですがね。
それが売れ行きに響かねばいいのですが。
Windows8専用アプリは作り方が違うので、
ある程度普及してもらわないと困るんですけどね。
最近今一つ時間が取れないので、
会社の昼休みも使って進めています。
会社のお昼休みは、Railsを勉強しようかとも思っていましたが、
ある程度以上進捗がないとだんだん続かなくなっていくものですし。
ここはまとめて進めたほうがいいかと思いつつ。
とりあえず、最低限の機能を実装した後でいろいろ問題点を直していますね。
この調子でいくと、Rubyの勉強には今年いっぱいくらいかかりますかねえ。
C#を放り出してやっているわけなので、早めに終わらせたいものですが。