paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

C#ってどんな言語?特徴や学習方法、初心者におすすめの理由を解説

f:id:paiza:20140912163210j:plain
Photo by Clement Coding
f:id:paiza:20180910132940p:plainこんにちは。倉内です。

プログラミングを始めたいと考えている方にとって「どのプログラミング言語を選べばよいか?」というのは難しい問題ですよね。目的別で選ぶと言っても、たとえば「Webサービスを作りたい」となるといくつか候補が挙がると思います。

また、せっかくなら需要(求人数や案件数)が多い言語がいいとか、できれば学習難易度が低そうな言語がいいとかも気になるかもしれません。

先日、GIGAZINEで「人気の高いプログラミング言語2019」という記事が紹介されていました。ここで各言語のType欄(その言語の使用用途を示す)に注目してみると…

トップ10の中でC#だけが「ウェブ・モバイル・エンタープライズ*1・組み込み」すべてで利用されていることが分かります。もちろんUnityを使ったゲーム開発も可能です。

そこで今回はどの言語を学習しようと迷っているプログラミング初心者の方に、選択肢のひとつとしてC#の魅力をお伝えしたいと思います。

ちなみにpaizaラーニングでは、全編無料で「C#入門編」の講座を提供していますので、すでに「C#を学習してみたい!」と思った方はぜひチェックしてみてください。

C#ってどんな言語?

C#はMicrosoft社が2002年に正式リリースしたオブジェクト指向型のプログラミング言語です。PHP(1995年)やJava(1996年)と比べると少し新しい言語になります。

Micfrosoftが無償で提供*2しているVisual Studioという統合開発環境を利用でき、初心者の方にとってもそれほど環境構築が難しくなく、強力なインテリセンス*3が利用できるというのも魅力です。

C#の概要については「C#入門編」のレッスン1でも説明していますのでごらんください。

「C言語と似ていて難しいのでは…?」と思われがちなC#ですが、C言語ほど文法が厳密でなく、どちらかというとJavaに似ている部分があります。

初心者向けの参考書も充実していますし、簡単とは言えないものの学びやすいほうではないかと思います。

新・標準プログラマーズライブラリ なるほどなっとく C#入門

新・標準プログラマーズライブラリ なるほどなっとく C#入門

また、C#を語る上で、同じくMicrosoftが提供する.NET Frameworkという開発プラットフォームの存在は欠かせません。.NET Frameworkのおかげで開発者はレジストリなどの知識がなくてもアプリケーションをWindows OS上で動作させることができます。

いきなり.NET Frameworkを理解するのは難しいかもしれないので、ある程度プログラミングの学習が進んだら調べてみてくださいね。(公式ドキュメントはこちら

C#の需要って?

求人票から見るC#の需要

paizaの求人票は、開発環境欄に言語を表示しています。大きく表示されているのが業務において最もメインで使用する言語、その他の小さく表示されているのは部分的に使用することがあるサブ言語です。

今回はpaiza転職の求人票にメイン言語として掲載されている言語の割合をグラフにしてみました。

PHP、Javaが圧倒的過ぎますが、C#は4番目にメイン言語として扱われることが多いという結果となりました。

割合で言うとJavaScriptやPythonといった人気言語と同列です。C#ももっと注目されてもいいはず…!

利用用途から見るC#の需要

C#はWindowsのデスクトップアプリケーションや企業向けの業務システムの開発で採用されるイメージが強いですよね。

もちろんそれらの用途も多くありますが、冒頭でも紹介したようにWebサービスやUnityでのゲーム開発、そしてスマホアプリ開発でも利用されています。

たとえば、Microsoftが提供している検索エンジン「Bing」、カカクコムが提供している価格比較サービス「価格.com」などは皆さんも利用したことがあると思います。

スマホアプリ開発の実例としてはグラニ社の「神獄のヴァルハラゲート」などがあり、2014年の時点で「高い生産性を実現できる言語である」とC#を評価しています。

参考サイト:ソーシャルゲーム開発におけるC#の強みは圧倒的な速さ…グラニCTO河合氏が語る『神獄のヴァルハラゲート』開発・運営秘話 | Social Game Info

従来スマホアプリといえば、iOSアプリはObjective-CもしくはSwift、AndoroidアプリはJavaとそれぞれ異なる言語で開発する必要がありました。

しかし、Microsoftが2016年2月に買収したXamarin社が開発した、.NETで iOSやAndroidアプリが作成できる技術がVisual Studioに無償でつくようになりC#で両方のアプリ開発が可能となりました

参考サイト:Xamarin(ザマリン) とはなんぞや - Qiita
 

C#のオススメ学習方法

さきほど紹介したpaizaラーニングの講座「C#入門編」(全編無料)では、四則演算・条件分岐の基礎文法から始まり、メソッドやクラス、多次元配列といった初心者にとっては少し理解が難しい内容も動画で分かりやすく説明しています。

動画を見るだけではなく、ブラウザ上で実行できるオンラインエディタを使って実際に演習問題を解きながらプログラミングが学べます。


実際の画面:左上が動画解説、右上がエディタ

先日新しく追加された「Dictionaryの基礎」のレッスンでは、「そもそもDictionaryって?」というところから、配列との違いや使い方などをRPG風のイメージ図を用いながら解説しています。

Dictionaryの基本操作やループ処理の書き方を学習したあとは、RPGのアイテム一覧を再現する演習課題を通してDictionaryの理解を深めましょう。

実装に取り掛かる前に課題の内容を整理して、どのような考え方をするとよいかも動画で説明します。

ちなみにpaizaラーニングでは、C#以外にもPython、Ruby、JavaScript、PHP、Java、C言語の入門講座も公開しています。講座一覧はこちら
 

まとめ

基本的な部分ではありますが、C#がどんなプログラミング言語かお伝えしてきました。

Windowsデスクトップアプリケーションや業務システムだけでなく、Webサービスやゲーム開発、スマホアプリなど利用用途が幅広いというのがC#の魅力です。

ご紹介したとおりpaizaラーニングではC#の入門編講座は全レッスン無料なので、ぜひ受講してみてくださいね。

ちなみにUnityのほうに興味がある方は、インストールからチュートリアルの動かし方まで説明した記事があるのでご参考いただければと思います。

paiza.hatenablog.com

paiza.hatenablog.com





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック

*1:企業や官公庁で利用される情報システムのうち、特に事業の中核に関わるような大規模なシステムを指す。

*2:用途によっては有償となりますが、個人開発では無償でProfessionalの機能も利用可能です。

*3:プログラミングを補助してくれる自動補完機能のことです。





※このブログで紹介しているキャンペーンやイベント、およびサイト内の情報については、すべて記事公開時の情報となります。閲覧されたタイミングによっては状況が変わっている場合もございますのでご了承ください。

ITプログラマー・エンジニア転職・就活・学習のpaiza

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編AI機械学習入門

エンジニアのためのプログラミング転職サイト|paiza転職

プログラミング スキルチェックエンジニア求人一覧

未経験からエンジニアを目指す人の転職サイト|EN:TRY

プログラミング スキルチェックエンジニア未経験可求人一覧

エンジニアを目指す学生の就活サイト|paiza新卒

プログラミング スキルチェックエンジニア求人一覧

ブラウザを開くだけで エディタ、Webサーバ、DB等の開発環境が整う|PaizaCloud