#はじめに
最近研究で1からPC上で動作するアプリケーションを作る羽目になったので使ってていいなと思ったことやこれもC#なのかと驚いたことなどいろいろ書いていこうと思います。
#C#の利点
ここではPC上で動作するアプリケーションを作る際の利点を簡潔に述べていきたいと思います。
##環境構築が簡単
PC上で動くプログラムを作るのであれば、Visual Studioをインストールすれば環境が構築できちゃいます。とても簡単です。(時間はかかるけど)
##UIを組みやすい
C#ではxamlファイルを利用してUIを作っています。中身としてはXMLの派生版といったところでしょうかね。
んで、Visual Studioでそいつをいじる場合、テキストベースで編集することも可能ですが、ツールボックスからドラッグ&ドロップでUIパーツを配置することも可能なのです。また、パーツの右寄せ左寄せ、あるいは一列に並べることなども簡単に出来ちゃいます。
##ポインタを基本的に使わない(使わせてくれない)
これは人によって意見が分かれるかもしれませんが、僕はこれものっそい利点だと思います。管理がめんどくさいもん!!
もちろん「基本的には」使えないだけなので、ソースコード内でunsafeブロックを利用したうえでコンパイルオプションをいじってやればポインタの実装も容易です。ですが、お勧めしません。ポインタは使わないに越したことはないです。
##非同期処理の実装が容易
まず非同期処理とは何ぞや、という人もいるでしょうが、ざっくりいうと「待ち時間が長くて暇な処理」をしてるとき、「その待ち時間で別のことをやっちゃおう」という感じです。カップめんのお湯を沸かしている間にかやくとかをあらかじめ麺の上にあけておくのとか、ご飯を炊いている間におかずを作るのと似てますね。
詳しい説明はこのサイトを参考にするといいかと思います。(javascriptのajaxについてですが)
んで、こういう処理を書く場合、どうしてもコードが煩雑になりがちですがそれを解消しているのがC#です。
async/await修飾子を利用することで、非同期処理であることを意識しなくていい書き方になります。
public async void asyncMethod(){
await HeavyMethod();
//続き
}
public async Task<void> HeavyMethod(){
//何か重い処理をする
}
こんな書き方をするとHeavyMethodが終わるまでasyncMethodそっちのけでほかのことをやって、HeavyMethodが終わったらまたその続きをやる、という感じですね。
ね、簡単でしょう?
#最近気になっているやつ
実は最近Xamalinが気になっています。ざっくり言っちゃうとC#でandroid/iOSのクロスプラットフォームアプリケーションを作れるってやつですね。まだ触ってないのですが、とても面白そうです。
ということでC#を利用していて感じた魅力などについて語らせていただきました。
この記事はこの辺で失礼して、Minecraftでギガンティック☆整地鯖に整地しに行ってきます。ノシ