【 C# 】 はじめました

   2015/12/03   icon-clock-o読了時間:約7分47秒

ちょうど夏の盛りも目前、冷やし中華でも始めたかのようなタイトルですが、
そんな美味しいお話ではなく私が始めたのはC#(シーシャープ)というプログラミング言語です。
始めたはいいのですが、さすが未知の言語、何がなんだか分からずにジタバタしています。

そこで、自分用の備忘録も兼ねて、用語解説や簡単なプログラムの作り方を書いていきます。
私と同じように『何が解らないのかが解らない』状態から
C#でプログラミングを始めようとしている方にとって少しでもお役に立てるといいなと思います。
既にプログラミングに習熟されている方から見ればおかしな所も多々あるかと思いますが何卒ご容赦ください。

まずどの言語にしようか悩む

今までホームページやWordPress、オークションの商品ページなどの作成のために
html や CSS などの、スクリプト言語と呼ばれる(らしい)ものをかじり、プログラミング言語としては
PerlやPHPをホームページ上で扱う必要に迫られてひと舐め味見をした程度の私ですが、
とりあえずプログラミングなんてものには縁も無く生きてきました。
しかしこの度めでたく(?)社内で需要が生まれたので勉強する機会を与えられ、
ついでにどの言語でプログラミングするかの自由も私に委ねられました。
委ねられたところで何にも分からないので立ちすくむこと暫し。
とりあえずこんな時はGoogleさんに尋ねよう、と『プログラミング言語 どれが良い』という
なんだかぼんやりしたワードでググって色々調べた結果、数あるプログラミング言語の中でも
私のやりたいことを実現できそうな、かつ使用者が多くてネットからでも知識を得るのが容易そうな言語として
VB.NET、C#、C、C++ の4つにアタリをつけました。
ちなみにVisual Basic(VB)も使っている方は多いようなのですが、
VBはVB.NETになったというか代わったというかなんというか。

更に悩む

私がやりたいのは、普通にWindowsで動作して、ウインドウが開いて、
マウスで『表示』ボタンをクリックしたらユーザーの欲しい情報が
ウインドウの中に表示されるような、こんな感じ ↓ のよくあるタイプのプログラムの作成です。
GUIの一例
このようにウインドウを開いてユーザーがマウスで操作するようなプログラム、
それがGUI(グラフィカルユーザーインターフェース)と呼ばれるもので、
特にWindows上で動作するGUIを作るのに適している言語は
VB.NETだったりC♯だったりするようです。

ちなみにこれは、CやC++がGUIに不向きという事では決してなく、
C、C++はWindowsだろうがMacだろうがなんだろうがこだわらず、
細かい部分まで自由自在に作成できる上に大規模なプログラムにも対応できる言語であるらしいので、
Microsoftの作った言語であるためにWindows対応のGUIに特化した
VB.NETやC#とはまたちょっと違う、というだけだと思います。

自由自在にできるんならCとか覚えたほうがいいじゃん、と思われる方もいらっしゃるでしょうが、
それはCを自由自在に操れるだけの技能があればの話です。
私の現段階の理解で言えば、C言語によるプログラムは手間暇かけて作り上げる匠の技。
パソコンの製作に例えれば、自分でネジやケーブルを一つずつ手作りし、
0.2mmのボールを整然と並べてハンダ付けし、その他ハードウェアも納得いくまで吟味し、
耐久性も動作速度も兼ね備えた逸品!みたいな。

対してVB.NETやC#は、ある程度の習熟度合いであれば
それなりのものが作れそうな印象を受けました。
先ほどのパソコン製作で言えば、既にある部品を組み上げて、
必要な箇所のみ接続したり、足りない部品だけ作ったりすれば
まあ普通の一般的なパソコンの出来上がり。
(もちろん極めれば匠の技になるのは同じでしょうが)

そこで私は『ある程度の習熟度合い』に至るまでの時間が短そうに思え、
またその難易度が低そうなVB.NETかC#にしよう、と決めました。
プログラマーとしてプログラミング言語と一生を共にするならばともかく、
私は事務と接客と営業とWeb制作とその他雑務の
合間に空けた時間でプログラミングをしていく訳ですから、
いきなり到達目標が匠の技というのはどう考えても無理です。死んでしまう…(;゚ Д゚)

C#たん、キミに決めた!

さて、いざVB .NETかC♯のお世話になろう、と言語を二つまで絞り込んだ上で、
ネット上の先人の皆様の意見を参考にさせていただいて表題のとおりC#に決めたわけですが。
一応それぞれの特徴と私がC#と歩いていくことを決めた経緯を以下に記しておきます。

 VB .NET 
Visual Basicの改良進化型:Visual Basic .NET (ヴィジュアル ベーシック ドットネット)、略してVB .NET。
VB 6.0からVB.NETへ華麗なる変身を遂げたことにより、本格的なオブジェクト指向言語になってみたり
.NET Frameworkの動作環境を使ってアプリケーションを動作させられるようになってみたりと
今までのVB使いの人達に衝撃と戸惑いを与えたようです。
しかし元々のVB使いの多さからVB .NET使いも多く、参考文献やサンプルコードも多い。

 C# 
2000年生まれで、プログラミング言語の中では若輩ですね。
しかし後で生まれた者の特権として
今までの先輩言語の良いところを掻き集め(ようと頑張っ)たオブジェクト指向言語。
.NET Framework をフルに生かせるようにMicrosoftが気合いを入れて世に送り出したもののようです。
Microsoftの後押し具合はVB .NETよりもC#が上かも?
その名称のせいで検索が掛けづらいのが難点。
『C♯』で検索すると『C』『C++』も一緒に出てきます。
むしろC言語のほうが昔から活躍していたせいでC♯のほうが少ない。
『シーシャープ』でググったほうがちゃんと出てきます。

上記のような特徴を踏まえ、ちょっと悩んだ末に私はC#を選びました。
C#を擬人化して分かりやすくプログラミングについて説明してくださっている記事を見て
その愛らしさにぐっときたというのもあります。C#たん可愛いです。
もちろん可愛らしさだけで選んだ訳ではなく、
Microsoftさんが今後推していくならそれなりに未来も明るいだろうし、
公式のサポートヘルプや参考文献も更に充実するだろう、という何となくの期待も込めて。

そんな軽い感じでC#をパートナーに選び、プログラミングという大海へ漕ぎ出した訳ですが
この段階で私とC#は、お互いの事をほぼ何も知らない赤の他人。
見知らぬひとと二人で大海原を漂流している状態です。・・・不安しかありませんね。
出来るだけ早くC♯の性格と能力を知り、
私のやりたい事をC♯に上手く伝えられるようにならなければなりません。
C#と一緒に漂流生活から脱出できるように精進します。

次回は、上で出てきた.NET Framework やオブジェクト指向など
C#にまつわる用語の解説をしてみようと思います。

 良かったら押してみてください♥

  • このエントリーをはてなブックマークに追加
  • Pocket