コンピュータ言語の基本

コンピュータ言語の基本
s07a1072 村山和広
目的
プログラムを組もうと思ったが言語の知識が
もとないのでこれまで学んできたことの復習と実際
コンピュータ言語とはどういうものなのかを知る。
コンピュータ言語とは
コンピュータ技術において用いられる人工言語
の総称である。
 コンピュータ言語としてはほかにもハードウェア
記述言語とマークアップ言語などのデータ記述
言語がある。
ハードウェア言語:HDL(HardwareDescriptionLanguageなど)
マークアップ言語:HTML(HyperTextMarkupLnguageなど)

一般的なソフトウェア言語


コンピュータシステム上で何らかの処理を行うソ
フトウェアの動作を記述する
主にC、C++、Java、COBOL、FORTRAN、
BASIC、アセンブリ言語などがある
→私は主にC++かJavaを使ってみようと思ってい
る。
コンピュータ言語の特性
コンピュータ言語の大きな分類として、記述が機
械に近い低級言語とより人間の思考に近い高級
言語がある。
 C言語なども高級言語であり、人間にとってわか
りやすいまた、CPUに依存した処理を書かなくて
良くメモリ制御、IO制御等CPUレベルの操作を
意識しなくてよい
→高級言語ほど私には分かりやすい!

プログラムが実行するまでの流れ
ここまででコンピュータが解
オブジェクトファイル 釈できる機械で記述された実
行ファイルができる
ソースコード
test.c
コンパイラ
人間はC言語やJavaな
どのプログラミング言語
でプログラムを書く
test.obj
xxx.obj
xxx.obj
他のオブジェクトファイル
リンカー
test.exe
パソコン
コンパイラとは

コンパイラとはプログラミング言語で書かれたプ
ログラムをコンピュータが直接実行可能な機械
語のプログラムに変換するソフトウェアである。
そしてコンパイルされたファイルをオブジェクト・
ファイルと呼ぶ。
→VisualStudioではビルドとも言われている
→オブジェクト・ファイルとは人には読めないバイナ
リ形式のコンピュータ言語で記述されたファイル
リンカーとは

リンカー(リンケージエディタ)とは機械語のプロ
グラムの断片を結合し実行可能なプログラムを
作成するプログラムのことである。
→場合によっては実行できるソフトウェアにするた
めに他のオブジェクトファイルとのリンクが必要
になる。
C++の特徴


C++とは汎用プログラミング言語の一つであり、
高度な機能を使用してもプログラムの実行性能
が低下しすぎないように、言語仕様・ライブラリ
に様々な工夫が施されている。
またオブジェクト指向プログラミングをサポートす
るための改良が加えられたものであり、C言語に
対して上位互換性がある。
オブジェクト指向プログラミング


オブジェクト指向プログラミングとはオブジェクト
と呼ばれる機能の部品でソフトウェアを構成させ
るものであり、一般的にカプセル化やインヘリタ
ンス(継承)といった特徴を活用したプログラミン
グ技法のこと。
それらを利用することで格段に開発効率が向上
する。
Javaの特徴



Javaではプラットフォームに依存しないアプリ
ケーションソフトウェアの開発と配備を行うことが
できる。
Javaで開発されたソフトウェアは堅牢な実行環
境であるJava仮想マシンのもとで動作する。
オブジェクト指向プログラミングの考え方に基づ
いて設計された言語であり、ソフトウェアの開発
と保守の複雑さを低減し、開発効率と保守性を
高める
これからの勉強

知識的にコンピュータ言語を知りえたので次は
実際にコンピュータ言語を用いてプログラムを
作っていきたい。
参考

プログラムが動く仕組みを理解する
http://itpro.nikkeibp.co.jp/article/lecture/20070122/259209/?ST=lecture&P=1

Wiki-コンピュータ言語
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%B
C%E3%82%BF%E8%A8%80%E8%AA%9E
ご清聴ありがとうございました