プログラミング独習にC#を勧める理由

2020年9月24日

プログラミングを初めたいけれどどのプログラミング言語から初めたらいいですかとよく聞かれます。

本当に初めてのプログラミングはCode Of Hour などのビジュアルプログラミング言語から始めればいいと思いますが、ある程度年齢が高い大人ならばビジュアルプログラミング言語での学習は数時間くらいで良いでしょう。

その次の段階では私C#をやったらいいんじゃないかなと思っています。

C#とはマイクロソフト社が開発しているプログラミング言語でCとついていますが、文法はJave言語に似ています。

今回はC#がビジュアルプログラミング言語の次の段階にいいじゃないかなと思う理由を紹介します。

開発環境が無料で手に入る

C#はマイクロソフト社が開発しているプログラミング言語でマイクロソフト社のホームページからダウンロードでき無料のライセンスが用意されています。

商用利用でなければCommunity版が良いでしょう。

マイクロソフトはWindowsの未来を不安に思っているはずです。昔はLINUXでしたが、今はAndroidもしくはChromeOSが勢力を伸ばしています。

マイクロソフトはその対策としてユーザーにはWindowsアプリをたくさん作ってWindowsの使用環境をより便利にしてほしいと考えているようです。

だから、個人ユーザー向けのCommunity版などは無料で使用ができるんです。もちろん有償のProfessionalやEnterpriseなどもありますし、ゆくゆくはこういったプロ向けのバージョンにバージョンアップしていけるのもVisual Studioの強みでしょう。

また、過去のバージョンであればExpress版もあります。こちらは制限がありますが、商用利用が可能です。小さい企業が社内で計測器の自動化を行うために用いるには一番いいのではないかと思います。

Windowsのアプリケーションを作れる

Windows以外のOSが勢力を伸ばしているといっても現在でも不動のNo1はWindowsです。このサイトを読んでいただいているほとんどの方はWindows PCで見ていただいていると思います。

C#はVisual Studioで使えるプログラミング言語の一つですが、今のところWindowsと一番親和性が高いのがこのVisual Studioです。当たり前ですよね。両方ともマイクロソフトの製品なんだから。

C#は実はWindows以外のアプリケーションも作れます。作れるんですが、これはそのOSの専門の開発環境の方が勝っているかなー。という印象です。しかしながら、C#を極めて行けばWindows以外にも道が開けてくることは理解しておいてよさそうです。

開発環境としてかなり優秀

私は一番初めのプログラミングはLINUXのVIを使っていました。これは開発環境といってもただのエディターです。コードの色分けもやってくれないし、自動インデントとかもないです。初めてVisual Studioを使ったときに「おーっ!」と思った記憶があります。

C#も含むVisual Studioの一番便利なところは単語の補完をやってくれることでしょう。例えば関数名を入力したいときに、小さなウィンドウが開いて候補の一覧を表示してくれます。もちろん候補が1つになったときはEnterで自動に補完してくれます。

他のブログでも書かれていますが、この補完機能が最強です。この機能は他の開発環境ではないんじゃないかな。間違っていたら教えてください。

この他にC#にはデザイナと呼ばれる機能がが付いています。デザイナはGUIのウィンドウをデザインするための機能です。このデザイナがエディタとよく連動していてマウス操作である程度の部分がデザインできます。これもやはりVisual Studioにしかないメリットでしょうか。

外部の接続機器との連携が容易

私は仕事柄計測器のプログラムを作る機会が多いですが、C#はGPIB、USB、LXI、Serial接続などのプログラミングが容易です(多分Visual Studio全体的に言える)。残念なのはこれらの情報がネット上に少ないです。

この分野では長らくGPIBが主流でした。しかし現在、GPIBは積極的に開発されていない印象があります。理由はデバイスが高価すぎること、通信が遅いこと、規格が古すぎることなどたくさん上げられます。

私は好んでGPIBを使ってきましたが、この前KeysightのUSBを使ったら結構簡単で信頼性もそこそこでした。しかし、USBとSerial接続は1対1接続にしか対応しないので今後はLXI(イーサネット)が主流になるでしょう。プログラミングもUSBの書き方とほぼ変わらないようでした。

この件についてはブログで今まで研究したことを発信していく予定です。

プロのプログラマとして未来がある

企業内でもVisual Studioのような有料の開発環境が使われる傾向があります。これは有料ソフトにはサポートが付くからでしょう。大手企業はセキュリティなどの問題には非常に慎重です。その原因が無料ソフトだったりすればさらに大変です。

C#は実際の現場で使われるプログラミング言語です。民間のプログラミング言語のランキングで常に上位に上がっています。

C#は登場から20年以上たちました。そろそろ伝統的なプログラミング言語となっているような印象があります。しかし、C#でやれることはまだまだ最先端で通用するし、Windows OSもなくなる気配がありません。

C#のスペシャリストであればこれからもまだまだ通用するんではないでしょうか。

まとめ

ここまでC#が最高みたいな記事を書きましたが、2018年現在ではパッケージ版のソフトウェアはだいぶ減り、SaaSのようなブラウザで稼働するソフトウェアが台頭しています。これらのソフトウェアはJaveやJava Script等で書かれているため、相対的にC#の需要は下降トレンドだと思います。

しかし、私は思いますが、C#だってCだってJavaだってPythonだって言語の書き方が少し違うだけで、forやifを使うアルゴリズムの考え方は全部一緒じゃないですか?私もPythonを学ぶときに「これはC#の○○ね」とか「これはC#と同じ書き方ね」とかずいぶんありました。

つまり、C言語以降のプログラミング言語は基本的な記述方法は非常によく似ていて、乱暴の言い方をすればどれを学んでも後からいくらでも軌道修正できます。それならば学びやすいものを学べばいいじゃないですか。

それを考えるととりあえずC#やっておけばいいんじゃない?と結論に行きつきました。

プログラミングの学習教材

私がプログラミングを覚えたときは大学の助教にマンツーマン2時間でC言語を教えていただきました。おかげで初期のつまづきなくマスターできました。

プログラミングは知ってる人に教えてもらうのが1番だなと思います。現代には学習塾でも同じようにマンツーマンでプログラミングを教えてくれる塾があります。

侍エンジニア塾は、日本で初めてマンツーマンでの
プログラミング指導を導入したプログラミング塾です。

専属のインストラクターとの対面かSkypeでのレッスンを通じてプログラミングスキルを身につけ、就職や転職までサポートします。

・受講生に専属の講師が付くので、入学から卒業まで講師が変わらない
・オンラインが基本なので地方在住者でも受講可能
・就職、転職までサポート
・受講中にクラウドソーシングサービスから案件を取る生徒もいます
・一人一人の目的に合わせたオーダーメイドカリキュラム

さすが、プログラマー不足時代。侍エンジニアに興味のある方はチェックしてみてください。モッピー経由で申し込むと2万円還元です。私もあなたも得できるwin-winの割引なのでぜひ使ってください。

モッピー!お金がたまるポイントサイト