プログラミング等専門用語解説1

インターネット情報の活用

”プログラミングは難しい”で”プログラミング特有の用語や専門用語が多い”とされていた用語のピックアップ解説です。

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

今回はプログラム・ソフトウェアの実行ファイルを作成する方法及び実行環境関係の用語について確認・解説したいと思います。

初めに、プログラムの実行ファィルを得るにはコンパイルとリンクが通常必要です。このコンパイルを要する高級言語の事をコンパイル型高級言語と呼んでいると思います。ここで言う実行ファィルとはWindowsの環境で使用する拡張子EXEファィルの事です。

実行できるファィルとして拡張子COMもありますが、こちらは講師の理解では、マイクロソフト社のみが作成可能のハズですので、説明対象からは省かせていただきます。その他に実行できるファィル形式として、インストーラ形式などがあると思いますが、動作目的が限定されていますので、同様に説明からは省かせていただきます。

コンパイル型高級言語とは逆に、実行環境が提供されていて、その環境でスクリプトやプログラムを記述する事でプログラムを実行できるのが、インタプリタ型高級言語と呼ばれていると思います。

以下、それぞれの***型高級言語の特徴などの説明です。

コンパイラ型高級言語(例:C、C++、C#、VB.NET等)

ソースファイル(ソースコード)を機械語に変換し、オブジェクトファイルを作成する事をコンパイルすると言います。(作成されるファィルの拡張子は通常OBJです)
そして、コンパイル後リンクソフトを使用して、必要なオブジェクトファィル全てを纏めてリンクして拡張子EXEの実行形式ファィルを作成します。(実行形式ファィルの特徴としてWindowsOS環境下などで該当ファイルをダブルクリックすると、実行が可能な形式のファィルです)

オブジェクトファイル(OBJ)は機械語が記述されたバイナリファイルですが、アドレスが相対値でしか無い為、関数毎に、アドレスが0となっていて、そのままでは、実行ができません。相対アドレス関数全てをリンクをして、絶対値アドレスを振る事で、関数毎に異なるアドレスを持たせて、実行できる形式のEXEファイルを得る事ができます。

尚、通常我々が開発で作成したソースコードファィルからコンパイルしたオブジェクトファィルだけでは実行ファィルは作成できません。リンクして正しく動作する実行ファィルを生成するにはコンパイラ提供会社等から供給される共通のオブジェクトファィルが必要であり、同様にリンク時指定する必要が有ります。

これらのコンパイラ提供会社から供給されるオブジェクトファィルには実行ファィルをPC上のメモリ空間にロード(配置する意味)する機能や、メモリ空間に配置したプログラムに実際に動作起動をする機能等基本的に全ての実行ファイルに必要な共通機能が含まれているのが通常です。

また、コンパイラ型高級言語の場合、利用者・使用者が使用する必要があるのは実行ファイルのみになリますので、ソースファイルを利用者・使用者に提供する必要が無いのが、一つの利点・特徴です。(著作権や独自のアルゴリズム等知的財産をソースコード非公開なので守れます)

一方、作成したソースコードに問題、所謂バグが有った場合の解決方法はソースコード確認以外に容易な方法な無いと思います。デバッグ方法は提供されていると思いますが、デバッグ操作はそれほど簡単ではありません。

その理由の一つは、実行形式ファィルは、実行用であり、提供用目的の為、不要なコードやバイナリを含ませないのが一般的です。従って、デバッカーソフトなどでデバックをしても、実際に皆さんが目にする事が出来るのは、ご自身でかかれたソースコードでは無く、ソースコードをコンパイルした後の機械語(アセンブリ言語とも呼ばれているハズです)でしか、表示されません。

機械語はPC上のCPUが理解できる言葉であり、レジスタや比較等の演算実行のみが表示され、ご自身で作成された高級言語のソースコードとは全く異なるものになります。従って、不具合を高級言語で書かれたソースコードでは無く、コンパイル後の機械語で表示されるため、結構難解だと思います。

一応、コンパイルにはシンボリック出力オプションが通常用意されていると思いますので、このオプションを指定して全ソースコードをコンパイラして、シンボリック付のオブジェクトファィルを作成すると、リンク後に生成された実行ファイルEXEをシンボリックデバッカーでソースコード付き(確かほぼ同じ表記だったと思います)でデバックが可能になるハズです。

尚、シンボリック付のオブジェクトファィルで作成された実行ファイルは基本的にデバック用ですので、通常、第三者には後悔しません。又、動作させても同じ不具合が再現するとは必ずしも言えない状態です。

何故なら、シンボリックを含んでいる為、微妙に動作タイミングが異なったりする事が有る為です。

不具合の為のシンボリック利用は実行ファイル作成後、再現するかを先ず確認する必要があります。

この様にコンパイラ型高級言語は動作の高速性やソース非開示で実行ファィル配布等メリットが有りますが、一旦問題を作ってしまうと、ソースコードレビューで解決できない場合、結構、対応が大変になるきらいがあると思います。

インタプリタ型高級言語(例:PHP,PowerShell,Excel VBA等)

インタプリタ型高級言語は、コンパイラ型高級言語と違い、実際にアプリケーションを実行する時にソースコードを1行ずつ機械語に実行環境が翻訳しながら実行する方式の事を言います。
プログラムを実行前にコンパイル・リンクなど事前作業を必要としない分、手間は掛かりませんが、実行のたびに”ソースコード一行毎の変換と実行”を繰り返し行うため、コンパイラ型言語と比較すると余計な処理が都度都度発生するため、実行処理速度が遅いと言われています。

尚、一行ずつソースコードを機械語に変換して実行するため、作成したソースコードに動作の問題があった場合の解析は比較的容易です。

例えば、ある判定文行で処理がおかしくなるのであれば、判定している変数の動作時の設定されている値を、動作がおかしくなる直前で確認できます。

一行一行実行の為、デバック手法(デバッグと同じ意味です)で都度都度処理を止める事が出来るため、容易に問題が起きる箇所時点での変数の設定値を確認できます。

また、一行一行ソースコードを実行する為、何処でおかしな動作になるかだけで無く、その後どのような動作になっているか・いくかを確認する事が可能な場合が多いと思います。

一般的にはインタプリタ型の高級言語(PHP,PowerShell,Excel VBA等)は、”スクリプト言語”とも呼ばれているハズです。

講師感想&コメント

今回、コンパイラ型高級言語・インタプリタ型高級言語と関連する実行ファイル(EXE)、オブジェクトファィル(OBJ)、コンパイル・リンク等の言葉を取り上げてみました。

最初の言葉として、これらの言葉を選んだのには二つ理由が有ります。

  1. 特定のサイトだけかもしれませんが、実行ファィルやオブジェクトファィルの説明が混同されている様に思えました。従って、正しく理解して頂く為に、比較記述してみました。
  2. 学習する言語を選択する際、コンパイラ型・インタプリタ型の選択が重要になる可能性が有ります。その為、各々の***型高級言語の特徴を説明してみました。

言語学習について、初心者の方・プログラミングが初めての方への講師のお勧めは、インタプリタ型高級言語です。プログラミングに慣れてから、コンパイラ型高級言語を学習するのが良いのではなかと思います。

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

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


=================以下広告です========================

講師は此方のショッピングモールでは余り買い物はしていませんが、同じ会社の親メニューの中にある、オークションサイトは何回も利用しています。

実は、現在、投稿する際に使用しているPCはこの有名なオークションサイトで購入したものです。

感染症が再拡大する中で、この様なオンラインショップは大変、安全で有用だと思います。

YAHOOショッピング

=================以下広告です========================

講師は、オンラインショップでは無く、実店舗をDVDレンタルや書籍・ゲームソフトの購入で利用した事が有ります。

オンラインショップではインターネットで注文して店舗で受け取るなどもできるようなので、購入するものによって、今後、此方の実店舗・オンラインショップの利用を行う可能性が出てきています。

【TSUTAYA online 通販】TSUTAYA店舗で受取りOK

=================以下広告です========================

講師は本サービスを以前使用していました。

ある特定のTVドラマコンテンツを視聴する為だったと記憶しています。PCの大きな画面で、見たいときに、見たいだけ、視聴していました。所謂、纏め視聴が出来るのが、DVDレンタルやCS放送視聴と違うところだと思います。

Huluで今すぐ視聴!2週間無料トライアル実施中!

=================以下広告です========================

当工房は、本アフィリエイトプログラムに参加しています。

幾つか、本アフィリエイトプログラムでしか、利用できない広告主があり、追加選択しました。

バリューコマース

=================以下広告です========================

講師はいろんなものを、此方のオンラインストアで購入している有料会員(プライム)です。又、個人事業主を初めてから、事業主としての有料アカウントも別に取得して利用しています。

雑誌からペン一本など小さいものでも、講師が契約している有料アカウントの場合は送料無料なので、送料が必要な特定の業者ではなく、AMAZON社が送付してくるものの中から購入品を選ぶようにして、利用しています。

感染症下の現在は、配送業者によって、デフォルトで置き配なので、ある意味、安心して利用できます。(講師は可能限り、毎回置き配指定しています)

Amazon.co.jp(アマゾン)

=================以下広告です========================

講師は、この書店さんで、定期的に雑誌や書籍を購入しています。

インターネット経由での注文・利用にはユーザ登録が必要と思いますが、購入金額に応じて、ポイントが付与されますのでお得だと思います。(単純なポイント付与では無く、数日限定で2倍ポイント付与や前月一定金額購入すると会員ランクがUPされて、デフォルトポイントが2倍等、ポイント獲得の機会が多いと思います

尚、購入総額金額の縛りがあったはずですが(4000円前後?利用する場合は、書店のホームページで確認をお願い致します)、自宅に届けてもくれますので、数年来流行った感染症下でも、書籍や雑誌を自宅で入手できます。講師は緊急事態宣言の発令時はインターネット経由で注文し、自宅送付を利用していました。

紀伊國屋書店

=================以下広告です========================

講師は、此方の空気清浄機を購入して使用していました。

衛星(CS)のTVドラマを見ていると、コマーシャルとして、良く商品の紹介で、お目にかかる事が多い気がしています。

トーカ堂

=================以下広告です========================

講師は此方で、PC系やTV録画系のアイテムの購入を行った事が有ります。価格や送料で選択したと思います。

講師が定期的・不定期に購入する時に使用しているネットショップの一つです。

衝撃コスパモールQoo10(キューテン)公式

=================以下広告です========================

講師は本会社のセミナーを受講しました。

性格統計学という新たなる領域で、なかなか興味を持ちました。今後、更に知ろうと考えています。会社員時代、過去に部下を持たされた時に苦労したの事が、思い出されます。この考え方を知っていたら、結果は違っていたかもしれません。


知って得する、知らないと損をする!すぐに役立つ相手に合った「伝え方」のコツ!

=================以下広告です========================

講師は本会社のセミナーを受講しました。

性格統計学という新たなる領域で、なかなか興味を持ちました。今後、更に知ろうと考えています。会社員時代、過去に部下を持たされた時に苦労したの事が、思い出されます。この考え方を知っていたら、結果は違っていたかもしれません。


格統計学で学ぶ!あなたのコミュニケーション傾向と具体的対策

=================以下広告です========================

講師は最近デザインプログラムのCANVAを使用し始めました。

以下はCANVAのPRO版のご案内です。(使える素材が大変沢山あります)講師は未だCANVAを使用し始めたばかりなので、PRO版を使用してはいません。ただ、デザインを行う上で仕事で使う場合(販売はしなくてもビジネス様に公開する等の目的に場合)、PRO版で無いとNGな場合は契約する予定です。現在、この辺りも含めて実際のデザインを作成して操作性やデザイン構築性の確認中です。

Canvaを使って、いつまでも印象に残る魅力的なはがきをデザインしましょう。今すぐ作成を!

=================以下広告です========================

当工房ではWEBでのホームページ作成に当たり、使用する画像の為、幾つかの提供会社の画材等のコンテンツを検討し購入しました。以下の会社の写真・イラスト素材は購入した一つのアイテムになります(当工房で購入したものは、パッケージング内容等、以下の具体例内容とは異なるかも知れません)。具体的な利用は未だですが、現在、演出方法・使用箇所等検討中です。(4月にベースのホームページを公開し、9月にブログページを公開しています。)

以下の広告は写真素材となっていますが、イラスト素材もあります。又、動画素材や音楽素材も販売しているようです。(詳しくは以下のJUMP先で内容をご確認願います)

画像素材【PIXTA】

=================以下広告です========================

当工房でも使用しているレンタルサーバです。

WordPressを初めて触るため、ホームページ作成が出来そうか感触を得るため、また有料コンテンツへのアクセス制限・ユーザ別制限が可能か確認する必要があり、お試し期間(当時は10日間)のあった、本レンタルサーバを契約しました。サポートが電話でできる点もポイントでした。(メール・チャットではリアルタイム性が無い・固定質問にしか回答が来ない等有る為です)

JUMP先: エックスサーバー

=================以下広告です========================

ホームページを立ち上げるにはドメインが必要です。

当工房は本ドメインを利用しています。(指定した*.COMは契約上永年無料なのですが、本ブログで使用している*.WEBSITEは新規に取得しました)

Xserverドメイン

=================以下広告です========================

当工房は会社組織になっていませんので選択しませんでしたが法人向けのサイトサービスです。

ユーザー数無制限!法人向けクラウドストレージ『Xserverドライブ』

=================以下広告です========================

当工房はプログラミングのティーチングを生業にしていますので、ホームページ作成を第三者に依頼する選択肢は最初から考えていませんでした。

ただ、その他の方にとっては有益なサービスではと考えます。

30日間お試し無料!ネットショップ運営に『Xserverショップ』

=================以下広告です========================

当工房でもSSLを利用しています。

サイト立ち上げ当初はHTTP通信ですが、SSL契約後HTTPSで接続できるようにしています。

最短即日のスピード発行!格安SSL証明書取得サービス『Xserver SSL』

=================以下広告です========================

講師が今年初め検討していたレンタルサーバサービスの一つです。

使用しているサービスの箇所でコメントしていますが、お試しの有無(確認できなかっただけかもしれません)が検討で留まった理由です。WordPressを扱えるようになった現在では、検討内容が異なってきているため、将来は利用しているかもしれません。

パワフルで高速なピュアSSDクラウドレンタルサーバー
mixhost

=================以下広告です========================

講師が今年初め検討していたレンタルサーバサービスの一つです。

使用しているサービスの箇所でコメントしていますが、お試しの有無(確認できなかっただけかもしれません)が検討で留まった理由です。WordPressを扱えるようになった現在では、検討内容が異なってきているため、将来は利用しているかもしれません。

【国内最速No.1】高性能レンタルサーバーConoHa WING

================以下広告です========================

新たなドメインを選択する時の検討時、ドメイン名や費用確認で参考にさせて頂いていた会社です。

お名前.com

=================以下広告です========================

講師が今年初め検討していたレンタルサーバサービスの一つです。

使用しているサービスの箇所でコメントしていますが、お試し期間以外の処々条件の関係で検討で留まった理由です。WordPressを扱えるようになった現在では、検討内容が異なってきているため、将来は利用しているかもしれません。

ロリポップのお得なキャンペーンをチェック

=================以下広告です========================

ソフトウエア工房孫風雅では現在、”ソフトバンク光”を契約して、使用しています。

以下は取扱業者の一つと思います。(回線を引く際に問い合わせ易い所を当工房では選択しました)

GMOとくとくBB【ソフトバンク光】
=================以下広告です========================

ソフトウエア工房孫風雅では現在、”ソフトバンク光”を契約して、使用しています。

以下は取扱業者の一つと思います。(ソフトバンク光を契約する際にソフトバンクAirも一緒に検討しました。あまり大きな理由は無くソフトバンク光を選択しました)


SoftBank光キャンペーン

=================以下広告です========================

ソフトウエア工房孫風雅では現在、”ソフトバンク光”を契約して、使用しています。

以下は取扱業者の一つと思います。(回線を引く際に問い合わせ易い所を当工房では選択しました)


SoftBank光新規申込で36,000円、他社転用で15,000円キャッシュバック!

=================以下広告です========================

ソフトウエア工房孫風雅では現在、”ソフトバンク光”を契約して、使用しています。

以下は取扱業者の一つと思います。(ソフトバンク光を契約する際にソフトバンクAirも一緒に検討しました。あまり大きな理由は無くソフトバンク光を選択しました)


SoftBank Airなら【SoftBank Airキャンペーン】

=================以下広告です========================

ソフトウエア工房孫風雅では現在、”ソフトバンク光”を契約して、使用しています。

以下は取扱業者の一つと思います。(回線を引く際に問い合わせ易い所を当工房では選択しました)

【オプション不要で37,000円還元】SoftBank光キャッシュバックキャンペーンサイ

=================以下広告です========================

当工房で利用し始めた、アフィリエイトサービスです。

いろいろなデータを確認できるインターフェースが提供されている様です。(当工房では契約したてですので学習中です)

初心者でも安心のサポート!アフィリエイトを始めるならA8.net

==========================================

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です