++C++; // 未確認飛行 C について

目次

ようこそ ++C++; へ。 せっかくだからいろいろ見ていってください。名前には「C++」と入っていますが、 今となっては、このサイトの主要なコンテンツは C# です。

++C++;とは

「++C++;」と書いて「未確認飛行しー」と読みます。Unidentified Flying C、略して「U.F.C」。 ++C++; という名前を考えたのは C# が発表された直後くらいのことで、その頃はこのサイトの管理人はまだ C++ をメインに使ってプログラミングしていました。++C++; という名前を考えたのは C# が発表された直後くらいのことで、その頃はこのサイトの管理人はまだ C++ をメインに使ってプログラミングしていました。当時(まだ学生)の同級生と一緒に「C++ → C# ときたら次は何だろう」みたいな話をしていた時に、冗談で決めた名前が ++C++ です。UFOっぽい見た目から、UFO演算子とか言われていた、両脇に ++ を付けた名前でした。

ULTIMATE FIGHTING CHAMPIONSHIP とか、UFC-crypt を検索していて間違えて来てしまわれた方には申し訳ありませんが、まったく関係ありません。 あくまでも 「++C++;」であって、 「C+=2;」などと書いてはいけません。 最近の標準仕様では「++C++;」というコードはエラーになるはずなのですが、 無視してください。 Visual C++に「error C2105: '++' には左辺値が必要です。」 などというエラーメッセージを吐かれても、当然、無視してください。 GCCに「non-lvalue in increment」などとけちをつけられても気にしてはいけません。 C#コンパイラに「error CS0131: 代入の左辺には変数化、プロパティ、またはインデックスを指定しなければなりません。」といわれても何のことか分からないふりをしてください。

リンクについて

当サイトへのリンクは自由です。 報告不要。 (報告があった方が気持ち的には嬉しいですけど。) トップページ以外への直リンクもOK。好き勝手にやってください。 ただし、トップページ以外は唐突にURLを変更する可能性がありますのでそのつもりでいてください。

お願い

誤字等を見つけた場合や、ご意見・ご要望がございましたら、GitHub の Issues まで気兼ねなくご連絡ください。

サイト作成の動機

いろいろな時期に、いろいろなことを書いたので、その時々でいろいろな動機がありました。

それぞれの動機

C# によるプログラミング入門

このサイト、一番最初は 「C# によるプログラミング入門」 から始まってるんですけど、 それは「C# を普及させたい」と言うのが動機でした。 言語仕様的には、Java や C++ と比べて大幅に洗練された非常に素晴らしい言語なんですが、 バックについている企業が Microsoft だというだけで日本では毛嫌いされてしまいそうな雰囲気があったので。

ちょうど、ウェブサイトの1つでも作ろうかと思ってた時期に、C#の発表がありました。割かし一目ぼれでした。こんなにもよい仕様を持ったプログラミング言語が流行らないはずがない、流行らなかったらもったいないという気持ちで「C#によるプログラミング入門」を作りました(当時は、単に「C#入門」でした)。

電磁理論

電磁理論」 のところは元々、研究室内で同級生向けに院試勉強資料として作ったのがきっかけ。 院試を終えて、せっかく作ったまとめ資料を眠らせてしまうのももったいないので公開。 今となっては、電磁理論は情報システムコースの第1選択科目から外れて、 院試でも選択科目になってしまったんですけども、 当時は必須だったので。 (電磁理論は情報系にとってはあまり必要の無い科目。 昔、必須だったのは、電子・電気系と一緒だった頃の名残。 電磁理論とか制御工学とかが出来る学生は情報系には極めて稀で、 テスト前には重宝されました。)

ディジタル信号処理、数学解析

ディジタル信号処理」 とか 「数学解析」 のあたりは、 「工学数学と純粋数学の間を埋めたい」とかそういう理由。 工学側の「何でこうなるかは分からないけど、使えればいいや」ってのも、 純粋理論寄りの「何に使えるのか分からない」ってのもあまり好きではないんで。 「何でこうなるのか」も「何に使えるのか」も疎かにしない文章が書けたらいいなぁと。

数学

僕は数学が趣味です。 整然とした理論に美しさを感じるような人間です。 一方で、本業の方は工学系です。 数学的な厳密さなんてあまり必要のない世界にいます。 そういう境遇にいる人間としては、いろいろと思う所があるんですよ。

工学部の学部で授業を受けていたころ、授業には常に不満がありました。 理学系の先生の授業ははっきり言って工学部にそんな知識はいらねぇって感じのものですし、 逆に、工学系の先生の授業は公式使いこなせればそれでいいのかよって感じだったりします。 使えもしない知識ってのも、公式覚えて終わりってのも、 どっちも教わってて決して面白くはないんですよね。 まあ、授業では時間的な制約もあってあんまり贅沢は言ってられないんですが、 ここみたいにウェブサイトで公開してる文章にそんな制限は一切ないので、 どちらにも歩み寄れるような文章を書ければいいかなぁと思っています。

理想としては、 理学系の人には「数学がどう応用に結びついていくのか」、 工学系の人には「どうしてこういう公式がなりたつのか」「どうやってその公式にたどり着いたのか」 というのを知ってもらいたいなぁと。 ほんとあくまで理想ですけど、 とにかく、このページを読んで、数学(あるいはその応用分野)の面白さを少しでも感じてもらえればうれしく思います。

自分が勉強するために

その他、趣味と自分用メモのつもりで書いているものも多々あります。 個人的な信念ではあるんですが、 「何事も他人に教えられるようになって初めて一人前」と思っているんで、 「自分が勉強するために他人に教える」というスタンスでやってます。 実際、他人に教えることを意識して勉強したり、 他人の目に触れることを意識して文章を書くことで、 ただ闇雲に読み書きするよりも深い理解が得られていると思っています。

反応が得られる楽しさ

また、人の反応が見えるというのもよいものです。 「どういう記事を書いておくとどういう人が来るだろう」、 「どういうキーワードで検索かけてきている人が多いんだろう」 「このサイト中の文章がどれくらいの影響力を持っているんだろう」 とかそういうことを試行錯誤できるのも、サイト運営の楽しみになっています。

執筆意図と文章の質

まあ、こういう執筆時期も意図も異なる文章をごちゃ混ぜにしておいてあって、玉石混交激しいのは、読み手に与える影響としてはあんまりよくないなぁと思ってたりもするんですけど。

普及目的の文章は正確であるべきだけども、 自分の勉強用の文章は間違いだらけでもいいわけで。 普及目的の文章を読んでこのサイトの記事を信用している人が、 自分用の文章を100%信じちゃうとまずいから。

どういう意図の文章なのか、 マーカーとかメタデータを付けとかないと駄目かなぁと思ってたりするんですけど、 100%普及目的でもないし100%自分の勉強用でもない両方の意図で書いてる文章も多いんで中々難しくて。

新たな方向性

長年サイトを運営してきて、別の方向性も見えてきたかなぁと思っています。 サイトの規模が大きくなってきて、運営意図的にもでっかいことを言えるようになってきましたし。

知識との出会いの機会を増やしたい

1つは、多くの人に対して、勉強になる内容に触れる機会をより多く提供できたらいいなぁと。

物事を学ぶ際、ある部分が分からなくても、1度その先に進んでみてから、 改めて分からなかった部分を見返すと理解できるようになっていることが往々にしてあります。 高みに上ってから振り返ると、視野が広がっていて、いろいろな物がよく見渡せるわけです。

ですが、そのためにはまず、1歩進んだ内容に出会う必要があります。 うちのサイトのように、ウェブサイトを通して教科書的な記事を公開することで、 その出会いを促進できないかなぁと考えるわけです。

まあ、もちろん、今まででも図書館に行くとかすれば、 教科書の水準を超える内容に無料で出会えるわけですが、 その「図書館に足を運ぶ」という手間すら省けるのがインターネットの一つの魅力です。 それに、ウェブサイトなら、税金や寄付に頼らずとも、 広告収入という資金源もありますし、 そもそも運営コストもかなり低く抑えられます。

それに、検索エンジンやリンクなどの存在によって、 図書館で参考文献を探すのに相当する手間も、 ほとんど1クリックで出来るようになります。

電子媒体だからこそ出来ること

そして、もう1つ、 ウェブサイトという媒体を通して数学などの記事を書いていると、 おのずとそういう方向に向かっていくもんだと思いますが、 電子媒体だからこそ出来ることもあるわけで、 そういうのを模索していきたいなぁと。

まあ、いわゆる e-learning を実践しようとしている方々の共通の目標になると思いますが、 電子媒体を使うことで、 今までの紙ベースの教育よりも効率の良い物を目指したい。

近年、科学技術の水準は高まる一方で、 人間の学ばなければならない内容はどんどん増えています。 それなのに、ゆとり教育とか言って、 教えることを減らしてどうするんだという批判が散々起きたのは記憶に新しいでしょう。 教育する側の人間の取り組むべき課題は、 難しい内容を簡単に教える、 同じ内容を短期間で理解させるということだと思います。

電子媒体を使った教育は、 そういうことを実現できる可能性を秘めていると思います。 例えば、専門用語が出てきたときに、その用語の解説へのリンクをつけておくだけでも文章の読みやすさはだいぶ変わると思います。 まあ、うちのサイトでは大したことは出来ていませんが、 アニメーションやデモプログラムの導入なんかも効果が高いと思います。

あと、誌面・締切の都合がないのも結構大きいんじゃないかと。 紙メディアだと、「中途半端に触れるくらいならカット」ということも多々あるんじゃないかと思います。 印刷物は、クオリティの低いままで原稿を納めてしまえば、それが一生残ります。 ですが、ウェブサイトだと随時拡充していけるんで、 簡単に概要だけ触れておいて余裕が出来てから追記ということも可能です。 記事を書く側からすると、紙メディアよりも高度な内容を書きやすいですし、 (前節の内容とも被りますが) 概要だけでもいいのでより高度な内容と出会う機会を設けることが出来れば、 学習の手助けになると思います。

リンク集