次の記事
前の記事

開発言語習得のススメ 1日目

開発言語(主にここではC#)の学習ガイドのつもり
対象とするのは、プログラミング未経験で試しにAIでも作って世界を転覆させてみるか!という野望にあふれた人
および、ちょっとプログラム書けたら面白いかも?という志の低い人

用語の間違いとかコードの間違いが出てくるかもしれませんが、それはこのページを見て学習する人を試すために
わざと仕組んだ罠です。けっして筆者が間違ってるわけではありません。

プログラムはどうやって組む?

C#を使う場合、基本的にはmicrosoft様謹製のvisual studioを使います。
個人で使う分には無料で使わせていただけます。
https://visualstudio.microsoft.com/ja/downloads/
あたりからダウンロードしてきてインストールします。
いろいろとインストール時のオプションがあったりしますが、すべてMS様にお任せで問題ありません。
visual studioは非常に優れた統合開発環境になっており、eclipseやxcodeのようにプログラムを書き始める前に
挫折してしまうようなことはあまりないでしょう。
visual studioの使い方についてはここで説明するよりググってください。もしくは使って慣れてください。

プログラムの構造

一言でプログラムといいますが、これは中を見ていくと小さな部品の塊になっています。
たまに糞プログラマが巨大な部品を作り出しますが、これは動いているようなら放置、動かない場合にはごみ箱に捨てましょう。
プログラムの最小の単位は関数になります。
関数、メソッド、プロシージャ、サブルーチンなど様々な呼び方をする人がいますが、たいして違いはないです。
その人の生まれ育った環境の違いです。

関数というのは単純な働きをする塊になっています。C#では関数名の後に{から初めて最後に}で終わります。
ただし、{や}は関数の区切りというよりはさらにその中の命令の区切りだと思っておいてください。
ちなみにスラッシュが二つ//以降の部分はコメントとして扱われます。
複数の行にわたるコメントを入れたい場合には各行の先頭に//を書くかコメントの先頭に/*と入れて最後に*/でもコメントになります。

/*
    簡単な関数の実例
    複数行にわたるコメントはこんな感じ
*/
bool testPrint(string msg){
  //単行の コメントはこうやって入れる
  print(msg);
}

このように、関数の中ではインデントと呼ぶ段落のようなものでコードを読みやすくします。
処理が複雑になっていくとインデントもどんどん深くなっていきます

bool kusoPg(){
  if(hoge == 1){
    if(fuge == 2){
      if(aa == 3){
        if(bb == 4){
          if(cc == 5){
            何かする
          }
        }
      }
    }
  }
}

こんなプログラムを書くと糞プログラマに認定されてしまいますが、動作するならいいです。
関数には、
1.戻り値
2.関数名
3.引数
という重要な要素があります。
戻り値というのはその関数の実行が終了した際の返事のようなものです。
関数名は基本的に自由につけることができますが、同じプログラム内でダブらないように注意する必要があります。
まあ、同名の関数をいっぱい作る方法もあるのですが、混乱の元なので最初はやめたほうがいいです。
そして重要なのは
関数名は何をやるものなのかが一目瞭然になるようにつける!
英語がよくわからない人にかぎってtoとかforとかonとかを無理に使って、意味の分からない英語名をつけますがそれぐらいなら
ローマ字で名付けたほうが100万倍ましです。
引数は、その関数が動作するために与える何らかの値です。

名称について

なんだか話が前後しますが、プログラムを作る際には様々な名前を付ける必要が出てきます。
上記に書いたように関数にも名前を付ける必要がありますし、変数とよばれるデータを格納しておくものにも名前を付けます。
当然プログラム自体にも名前がいりますし、画面を作るなら画面上のボタン一つ一つが名前を持っています。
仕事でプログラムを作る場合にはその現場のルールや、プロジェクトごとのルールがあったりしますが、個人で作る場合には
自由につけることができます。
ただし、自由につけられるからと言ってaaとかbbとかccとかつけると将来が危ういです。
常に後から読んで意味がすぐに理解できる名称にしてください。


コメント