Windowsで動作するアプリケーションを作成するためには、C#は、優れた選択で、簡単といわれています。ただ、実際に学習を始めてみると、「Hellow World!」つまり、 コンソールに文字列を表示するだけのプログラムのその先は、前に進むのが難しいことを、実際にC#を学習しようとした人のほとんどが実感していると思います。
では、C#を学んで行くために、どこが問題になっているのでしょうか?現在の自分の状態から判断してみました。
- 使えるアプリケーションが思い浮かばない
プログラミングの説明に使用するプログラムの例は、実際に活用できるものでないと興味が続かない。
- IO操作の情報が記載されていない
データを保存したり、読みだしたりするのは、実用アプリケーションで必須の機能です。 しかし、プログラミングでは、環境に依存する内容なので、書籍の末尾に申し訳程度に触れられているだけです。本来は、一番最初に必要な機能のはずです。
- UIを持つプログラムが作りたい
デスクトップアプリケーションで、UIを作成するためには、FormとWPFという二つの選択肢があります。
従来のFormという仕組みでUIを作ろうとするとマウス操作で、UIデザインのやり方を説明する必要があるため、 それを説明する資料があまりありません。また、このサイトでは取り扱いません。
一方、WPFでは、UIをxaml(ザムル)と呼ばれる特別なxml表記でUIを表記することができ、いろいろな大きさのディスプレイに対応するなどの特徴があります。 しかし、日本語の情報は少なく、英語の情報とインターネット上の情報で、試行錯誤して習得する必要があります。
結果として、専門の教育を受けた専業プログラマー以外では、ほとんどの人が、書籍やインターネット上で紹介されているサンプルプログラムそのものを入力して実行する以上のところに、いつまでたってもたどり着きません。
この状況を乗り越えるための方法は、さっぱり思いつきませんが、既に、乗り越えた人には、興味のない情報です。結果、C#を習得するための障壁は、いつまでたっても、高いままです。 とはいえ、何もしなければ、何も進まないので、書籍やインターネット情報を自分なりにまとめたり、 有益なサイトのリンクを使いやすいようにまとめたり、実際に行ったことの記録をまとめてみることにしました。
開発環境
C#の開発環境は、通常は、VisualStudioを使用することになります。 C#の開発環境を整えるための情報とプログラム支援ツール、学習書籍を記載しています。
C# 学び直し
簡単なでも面倒な繰り返しの作業を、C#を使って解決できる段階を目指して、コンソールアプリケーション環境で確認していきます。
WPF
WPFは、C#でデスクトップアプリケーションを作成する際に、UIを実装する方法の一つです。 UIは、最近のC#開発環境で一般的なxamlと呼ばれる表記方法で、表現します。
Blazor
HTML、cssの知識は必要ですが、Blazorは、C#を使って、WebサイトやWebアプリを作成することができます。
データベース
アプリケーションをプログラミングする際に、データの扱い方やデータ処理の方法を決めることは、そのアプリケーションの根幹になります。 その部分をプログラミングせずに、データベースと呼ばれるアプリケーションを使用する方法を考えます。
目的別
目的ごとに調べた内容をまとめています。UI関連は、WPFを使用しています。
ツールキット
C#は、基本となる言語機能に多くのツール機能が組み合わされて、高機能な言語として構成されています。 標準で組み込まれている.Net Frameworkの他に、数多くのツールキットが公開されています。
C#の技能認定試験
C#の技能認定試験です。一般に、自分が知らない分野を効率的に学習するには、 技能認定試験の勉強をすることが有効なのですが、C#では、どうなのでしょうか。
プログラミングに関連する原則
プログラミングを行う際、従ったほうが良い原則と呼ばれる指針が幾つかあります。