見出し画像

新プログラミング等専門用語解説2(プログラミング系)

REV8

ソフトウエア工房孫風雅です。 

ブログ投稿しています。複数画像付き等最終版は此方から、ご覧ください。

今回は既に引用している幾つかの言葉と新規の用語を先ず挙げてから、一つ一つの用語についてボリュームを確認しながら、確認・解説したいと思います。

引用済み&新規用語一覧(主にプログラミング系です)(紫色用語は取り上げ済みです)青色用語は今回ご説明するアイテムです)

  1. インタプリタ型/コンパイラ型

  2. AndroidOS

  3. iOS

  4. オブジェクト指向

    1. オブジェクト

    2. インスタンス

    3. クラス

    4. 継承

    5. ポリモーフィズム

    6. インターフェース

    7. オーバーライド

    8. コンストラクタ

    9. カプセル化

    10. デリゲード

    11. イテレータ

    12. アクセサ

    13. ジェネリクス

    14. アノテーション

    15. UML

    16. デザインパターン

    17. TBD

  5. 手続き型プログラミング

  6. イベント駆動型プログラミング

  7. 関数型プログラミング

  8. 変数

  9. WEBアプリケーション

  10. DLL

  11. グローバル変数

  12. ローカル変数

  13. マルチスレッド

  14. XML

  15. スコープ

  16. 値型

  17. 参照型

  18. 関数

  19. メソッド

  20. ポインタ

  21. 例外処理

  22. 同期処理

  23. 非同期処理

  24. フレームワーク

  25. アルゴリズム

  26. API

  27. ライブラリ

  28. データ構造

  29. TBD

今回は、グローバル変数・ローカル変数についてコメントしてみたいと思います。

グローバル変数・ローカル変数

皆さんは、グローバル変数・ローカル変数について、何をご存じでしょうか?

それとも、これらの名前を聞いた事も有りませんでしょうか?

どちらも、変数という名前が付いていますので、所謂、プログラムの中で使用するアイテムの一つになります。

変数というのは、例えば演算を行う際の名前を付けた箱のような存在です。

例えば Z=X+Y の様な代入式を考えた場合、変数というのは、X,Y,Zの三つ全てになります。

通常は、この代入式の前に、以下のような設定分が存在したりします。

X=1

Y=5

結果、Z=X+Y=1+5=6 となります。

この際、変数Xには数値1が設定され、変数Yには数値5が設定されます。

代入式のZ=を実行すると、Zには数値6が演算結果として保存されます。

この様に変数は計算を行う際に使用される名前が付いた器と考えて良いと思います。

変数の大まかな概念が、ご理解いただけた後で、本題のグローバル変数とローカル変数の違いについてコメントしたいと思います。

通常、こういった代入等の計算式はそれ単独では記述しません。大概のプログラミング言語では、この様な代入式などは、関数の中で定義されていて、使用されます。

この各個別の関数内で定義・使用されるのが、ローカル変数です。

その言葉通り、ローカルな定義の元に使用されるため、通常その定義した関数内でしか、使用出来ない特徴が有ります。

この場合、関数内で得られた演算結果を引き継ごうとすると、関数のパラメータとして引き継ぐ方法が有りますが、沢山の変数を扱うのは記述や管理が大変です。

そこで、関数外で定義された変数を各関数で共有する変数が有り、それをグローバル変数と呼びます。

グローバル変数はその特徴として、関数外で定義されている為、常に存在する変数になります。従って、グローバル変数を沢山定義すると、該当ソフトウェアのサイズが大きくなる傾向にあります。

この点がローカス変数とは大きく異なります。

ローカス変数は定義されている関数が実際に動作している時しか、存在しません。関数が終了するとローカス変数・変数値は破棄されてしまいます。

従って、ローカル変数は変数としての固定メモリ域を持たない為、他の関数内の変数とメモリ空間の共有が可能となります。結果、グローバル変数より、ソフトウェアのサイズへのインパクトが低いのがメリットです。

尚、多くのプログラミング言語では同じ名前の変数をローカルとグローバルで定義する事をエラーとしていないハズですので、変数定義をする際には同じ名前での定義には注意が必要です。

どう注意するかというと、意味のある変数はその様な名前を付けて、そうでない使い回す様な変数はある意味、適当(意味のないX/Y/Zやi/ii/iii等)で設定し、使い分けるという事だと思います。また、グローバルとローカルで同じ名前の変数は原則設定しないというのも、有るべき、変数定義運用ルールとして、意味が有ると思います。

皆さんは、プログラミングについて、どの様なご意見・イメージをお持ちでしょうか?

講師の経験が、皆様のお役に立てれば幸いです。

この記事が気に入ったらサポートをしてみませんか?