トップページ

本棚


両手で1000まで数えられますか?:2進法の話
数値 - 危険物取り扱い注意
100 × 200 =32?:変数のオーバーフローの話
パリティビット
小数の扱いについて
ぽいんた
ぽいんた2
ぽいんた3
ジ・オリジン
ジ・オリジン:補足
かっこつける話
かっこつける話2
文字列のこと
タイミングの話
拡張性の話
取り込む話
staticな話

コンパイルの話1
コンパイルの話2:止まらぬビルド
コンパイルの話3:マシン語に落ちるということ1:メモリの話
コンパイルの話4:マシン語に落ちるということ2:最適化
コンパイルの話5:マシン語に落ちるということ3:変数とスタック
コンパイルの話6:コンパイラはそもそも何をやってくれるのか??
リンクの話
プリプロセッサの話

OS、というもの

オブジェクト指向1
オブジェクト指向:2
オブジェクト指向:3

オブジェクト指向:番外 C言語のソースファイルの話
オブジェクト指向:番外 C言語での「再利用性」と「カプセル化」データ構造とアルゴリズム


抽象的な話

寝込んで布団の中で考えたこと
こんなの、常識??
お仕事プログラミング
ソフトでハードなプログラム
プログラムするということ
お勉強
プログラムを学ぶということの補足
C言語:「学問」と「実務」
統合開発環境
C言語ってポータブルですか?
C言語ってポータブルですか?:2
あなたは、どう読みますか?
ああ勘違い
試してガッテン
低級品
質問をするということ
ポカ
「何もしない」 != 「無駄」
エディタの話
もっと手を抜こう

いまどきの、アセンブラ

VisualStudio2005
VisualStudio2005:2

戦争の防ぎ方、に対する私の考え
身近な差別
改革
地球に優しいなんて大嘘
統計で嘘をつく方法

言葉について
言葉について:2

神が死んだということ
善悪の彼岸から、力への意思を目覚めさせるということ

本を読むということ
本を読むということ:2

絵を描く話
地図
地球儀

オカルトのお話
がんだむさん
RPGソフトウェア
記紀神話の不思議



メニュー

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

「高級言語」「低級言語」という言葉があります。

一般にアセンブラ、マシン語などが「低級」とよばれ、コンパイラを使用する言語が「高級」と呼ばれます。
最近では、Javaなどの抽象度の高い言語が「高級」でC言語などは「低級」扱いされることも多いようです。

ちょっと、誤解を招く言葉だと思います。


プログラムの世界で「高級」というのは、「レイヤ(層)が上位にある」という意味です。

「高級言語」とは、
・人間にとってわかりやすい 
・CPUに依存した処理を書かなくてよい 
・メモリ制御、IO制御等CPUレベルの操作を意識しなくてよい 

また「低級言語」とは
・コンピュータにとってわかりやすい(機械語とのセマンティクスギャップが少ない) 
・プラットフォーム(CPU)に特有の処理が書ける 
・メモリ操作、IO制御等CPUレベルの操作ができる 

といった意味で使用されます。(Wikipediaより引用)

同じく、Wikipediaからの引用ですが、
『「高級」の由来はコンパイラなどで直接機械語にするのではなく
 一度アセンブリ言語に変換されて、機械語に変換されることがあ
 ったため、アセンブリ言語を低級言語、低級言語に変換できる言
 語を高級言語と区別したことから。』

決して、「高級」==「いいもの」ではないことがお分かりでしょうか。
単なる、トレードオフの関係でしかないのです。


でも、最近「Javaは高級な言語だから」「C言語なんて低級言語じゃん」なあんて言い方をする人がいます。

本人は偉そうに言ってますが、こういった発言は馬鹿にされるもとなので気をつけましょう(笑)。


例えば、Javaは「仮想マシン」と呼ばれる処理系を間に挟むため、
実行速度、実行メモリといった意味で非常に不利な言語です。
また、環境に依存しないということは逆にある特殊な機器を制御したりするのには向いていません。
このあたりの事情は.net Framework上でのマネージドな言語も同様です。

逆にアセンブラやマシン語などはきめ細かな制御ができますが、機種や環境に依存する、
そもそもターゲットCPUによって命令系統からまるきり異なるなどのマイナス点もあります。

結局、ケースバイケースなんですよね。


私の場合は、C/C++マンセーというわけではないんですけど、
それでもやっぱり高級言語のような書き方もできれば低級言語のようなメモリアドレスの処理もできて
インラインでアセンブラコードを混ぜることすらできてしまうあたり、C/C++って柔軟だと思うんですよね。
その気になったらOSすら記述できてしまうわけで。

JavaはSUMがなくなったら意味ないし。
.netはマイクロソフトがなくなったりWindowsがなくなったらやっぱりあんまり意味がない。
だからVBやC#なんかもちょっとなあ。。
Delpiはまあ、Pascalだからそれなりに生き延びそうだけど
それでもボーランドがなくなったらやっぱやばそう。。


その点ではUNIX/Linuxで標準で使えるC言語って生き残る可能性も高そうだし。
どっかの企業や環境に依存しない(←コードの話ではなく、文法・技術としての話)。


やっぱまだしばらくは、C言語が一番食いっぱぐれがなさそうな気がします。




| 新しいページ | 編集 | 差分 | 編集履歴 | ページ名変更 | アップロード | 検索 | ページ一覧 | タグ | RSS | ご利用ガイド | 管理者に問合せ |
@wiki - 無料レンタルウィキサービス | プライバシーポリシー