さて今日はまずは昨日の日記を読んで笑ってしまった話から・・・・・・。
昨日は午前4時くらいまで日記と格闘していたため、意識が朦朧とした中アップしたんだね。で翌日爆笑できるような誤字・脱字があったんだね。だから、直しておいたよ。それどころか、昨日書いたソースの間違いもあったし、とにかく間違いだらけだったので、その辺を纏めておこう。ついでに22日からの日記を全てチェックしておこうと思うね。
まずはその22日から。この日は無し
で、23日は、2段落目は「甲斐」ではなく、「階」だね。そして、同じ段落で「アラして」ではなく、「荒らして」だったね。さらに、3段落目では「太めに」ではなく「ふと目に」で、6段落目の「300円か」は、「300円とか」なんだね。
24日は無し。
25日は、サイトの話の所の2段落目の「まってるんだろうな」は、「待ってるんだろうな」だね。さらに、3段落目の「増やした石」は「増やしたいし」に。で、カープの所のネタの3段落目で、「出」は「で」に。
26日は、ジェントル・ジャイアントのネタの所の5段落目の「未定がGLASS106なんだね。CD 」を「未定がGLASS106CDなんだね。 」に。さらに、聴いた理由の所で、「けっこう気おけるだろう」と。なんだろう?多分「結構聴けるだろう」のはずだからそう直しておいた。
27日は、まず、Cと、C++のソースの所で、<と>をきちんと表示できてなかったね。つまり、Cの所では、<stdio.h>と表示されなければいけなく、C++の所では、<iostream>と表示されなければいけなかったので、表示されるように直したね。その他、動かないことはないけど細かい文法的な間違いがあったので直したね。これは詳しく書かない。さらに、C#は動かない文法間違いがあったので直したね。さらに、「巨hsじかんぎれになったから」というところを、「今日は時間切れになったから」に直したね。また、カープの所で、「情」ではなく「情報」ということ。これは指摘を貰いました。くれた人ありがとうございます。
さて、昨日の続き。
今日はC#を体験してみた。Microsoft .NET Framework SDKをダウンロードして、インストールしたんだね。160MBもあるSDKだったので、かなり待ってダウンロードしたね。C#のコマンドコンパイラがあるかどうかは不安だったのだけど、まぁ、何とか有ったので助かったね。csc.exeというファイルがコマンドコンパイラだったんだね。
まず、そのコマンドコンパイラを使ってみた感想。ちょっとコンパイルに時間が掛かったモノの、ストレスを感じるほどではなかったね。C言語の系列言語ということで、中間ファイルが出来るだろうと予測していたのだけど、出来なかったのだね。どうやら、メモリ上で中間ファイルとライブラリをリンクさせてるようだ。うーん、これでは、メモリ容量の厳しい環境では大きなソースはリンクできないかもしれないと予想が出来るのだけど、その辺はどうなんだろうね・・・・・・。ちょっと調査してみよう・・・・・・。
で、C#についての雑感だけど、意識的に名前空間まで使わせるそのスタイルに、かなり自由度の高さを感じたね。いわばオブジェクト指向の要であるカプセル化が、かなり細かい部分で出来そうだからね。中身はメソッドに包まれており、メソッドはクラスに包まれている。クラスは名前空間に包まれているし、名前空間は複数存在している。クラスライブラリも名前空間で処理しているので、C言語のように別の中間ファイルを用意しなくても良いのだろうね。
using System;
namespace HelloWorld
{
class HelloWorld
{
static void Main()
{
Console.WriteLine("Hello World");
}
}
}
昨日も書いたサンプルソースだけど、これが基本で、こいつを一個のカプセルと仮定して、そいつを何個どうやって組み合わせるか?それでプログラミングしていくということだからね。だから、オブジェクト指向としてプログラミングしやすいと思ったんだね。
ここで昨日私が作ったお遊びサンプルを紹介しておこう。
using System;
namespace NS1
{
class Class1
{
public static void hello()
{
Console.WriteLine("NS1のClass1のhello()");
}
public static void test()
{
hello();
Class1.hello();
NS1.Class1.hello();
NS2.Class1.hello();
}
static void Main()
{
NS1.Class1.test();
NS2.Class1.test();
}
}
}
namespace NS2
{
class Class1
{
public static void hello()
{
Console.WriteLine("NS2のClass1のhello()");
}
public static void test()
{
hello();
Class1.hello();
NS1.Class1.hello();
NS2.Class1.hello();
}
}
}
どう?このプログラムの意味はCや、C++を使ったことがある人なら分かると思うけど、わざと全部を駆使してみたプログラムは実用性は皆無だけど、この言語の骨格を知るには便利だと思うね。
さぁ、これからもうちょっと学習だね・・・・・・・。
その日聴いたCDをなぜ聴いたかって理由、494日目。
今日も4枚と少なかった。しかし、ブレッドはいつ聴いても聴きやすいねぇ・・・・・・。一つのアルバムに色々なタイプの曲が詰まっているイギリス方式(私の作った造語)のアルバムを作ってくれてるし、特に、アップテンポの曲がビートが効いていて良いね。うん、そんな気がするよ・・・・・・。
今日聞いたCDのリスト(聞いた順)。
- ラッテ・エ・ミエーレ/鷲と栗鼠・・・キングレコード/KICP 2388
- ジェントル・ジャイアント/キング・ビスケット・ライヴ・・・SONY/SRCS 8583
- ブレッド/灰色の朝・・・wea japan/WPCR-616
- マーティン・テイラー/スティーヴ・ハウ/マスターピース・ギターズ・・・SONY/SICP 332
今日の広島カープ。今日も情報無し。