2009年05月05日(火)

低レベルなプログラミング

テーマ:専門用語

「低レベルなプログラミング」と聞いて、どういうものをイメージするだろうか。プログラマとそうでない人では、答えが違ってくるのではないだろうか。


一般の人には、「誰でもできそうな簡単なプログラミング」、あるいは「質の悪いプログラミング」といった意味にとられるかもしれない。


しかし、プログラミングについての文脈で「低レベル」といわれる場合は、通常は「ハードウェアに近い」という意味である。つまり、「低レベルなプログラミング」とは、「ハードウェアが理解する言葉」に近い(たとえばアセンブラのような)言語を使ったプログラミングだとか、直接ハードウェアに命令を送って制御するようなプログラミングのことである。


このハードウェアとの「近さ」は測定できる類のものではないが、プログラマ(あるいはその周辺の業界人)は、なんとなく了解していると思う。このブログの「スキルアップのためにラップを剥がしてみる 」というエントリで「層」と表現したものにも近いだろう。



もともと「レベル」という言葉は「何らかの基準」を意味しているだけである。それが何の基準であるか、ということは文脈によって変わるので、別段ここでの使われ方が特殊であるというわけではないだろう。


しかし、何の説明もなく「低レベル」という言葉を使うと、上記のような了解のない人には、「品質が低い」、「スキルが低い」といった侮蔑的な意味に誤解される可能性があるので、気をつけたい。


また、初心者プログラマの中には、そのような誤解をしてしまう人も多いかもしれない。あるいは「低レベル・プログラミング」と聞いて、「簡単そう」と思ってしまう人もいるかもしれない。しかし、低レベルなプログラミングほど難易度は高レベルだったりもするので、注意が必要である。







■関連記事
普通の言葉
「¥」について普通の感覚で考えてみる
スキルアップのためにラップを剥がしてみる
簡単フレームワーク・プログラミングの罠




CPUの創りかた
CPUの創りかた
posted with amazlet at 09.05.05
渡波 郁
毎日コミュニケーションズ
売り上げランキング: 1745
おすすめ度の平均: 4.5
5 基本的な電子回路でCPUができる
5 趣味の本だよねぇ
5 読んでもすぐには理解できませんが、他のCPU本はもっと理解できません
5 ノイマン型コンピュータを自作する・・・名著かも
4 CPUの超基本構造

真・コンピュータ用語辞典 (ホームページブックス)
tell‐a‐lie
キルタイムコミュニケーション
売り上げランキング: 377785
AD
いいね!した人  |  コメント(17)  |  リブログ(0)

argvさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

コメント

[コメントをする]

17 ■はじめまして

「低レベルなプログラミング」の言葉だけで使うのではなく、
前後文脈があるのにどちらの意図にもとれるような、誤解するような文章ってのが思いつきません。
この誤解されることへの注意は必要なのでしょうか?

16 ■開発者及び技術者に特化した事業化支援プロジェクト『トキワ荘プロジェクト』を行っています。

「トキワ荘」とは、夢や希望であふれる若手漫画家が、お互いに切磋琢磨し、後に日本を代表する
漫画家へ成長したアパートで、漫画家の多くにとっての聖地として知られていますが、同プロジェクトは、
「開発者版・技術者版」です。

トキワ荘プロジェクトの詳細は、以下よりご覧頂けます。
http://alito.co.jp/tokiwa.html

よろしくお願い致します。

15 ■Re:Re:初めまして

>argvさん

そういえば「RTL」という略語だけが有名になって、RTL=HDL(ハードウェア記述言語)だと思っている人が多いです。

RTLをコンパイラーに掛けるとネットリストが生成されますが、ネットリストも多くの場合はHDLになっています。

プログラム用語に対応させると、
HDL --- プログラミング言語
RTL --- C言語レベル
ネットリスト --- アセンブラー

最近はアセンブラーを手で書く人が少ないですが(私は時々やっています)、ネットリストを手で書く人はもっと少ないです。
だからRTL=HDLと思われてしまうのです。

14 ■Re:初めまして

>Etsuoさん

初めまして。ハードウェアのレベルとは私も聞いたことがなかったです。勉強になります。

13 ■初めまして

私も「低レベル」と聞いて質の悪いレベルと感じました。

でも考えてみれば、ハードウェアで言うと「ビヘイビアレベル」、「RTL(レジスター・トランスファー・レベル」、「ネットリストレベル」といったハードウェアに対する近さを「レベル」と言っていますね。
上から順番に高レベル、中レベル、低レベルとなります。

あっ、ところで私はハードウェア設計をメインとして、ソフトウェアも設計するエンジニアです。
よろしく。

12 ■はじめまして

最近、書店で低レベルな書籍が増えた気がします。
基本に戻ろうということなのですかね。

11 ■プログラミング

私はJAVAを何年かやってますがアセンブラ未知の世界なので一度は触れてみたいです(^ω^)

10 ■おはようございます。

しばらく本格的なプログラミングから離れていたので、
凄い勉強になりました。
また勉強(訪問)させて頂きたいと思います。

9 ■無題

なんだか難しい話ですが・・
興味が持てました。

8 ■見れますか?

本当にすご過ぎませんか?
http://ameblo.jp/densetuoh/

7 ■Re:相互リンクのお願い

takさん、こんにちは。ブックマーク欄はほとんどメンテしていないのですが、追加させていただきました。GUIの記事、拝見します。

6 ■無題

勉強になりました。(≡^∇^≡)楽しく読ませていただきました。またよらせてください。

5 ■相互リンクのお願い

argvさん、はじめまして。tak庵-やさしいデザイン-管理人のtakと申します。
記事を拝見して、非常にデキる方だと感じました。社内に尊敬するSEがいるのですが、その人と考え方が似ていて、とても勉強になります。

私のブログでは、使い勝手に主眼を置いたソフトウェア開発をテーマにしています。
ブログ名:tak庵-やさしいデザイン-
URL:http://industrialdesign.blog39.fc2.com/

初の書き込みで不躾ではありますが、ご検討の程宜しくお願いいたします。

4 ■Re:無題

通りすがりさん、こんにちは。

低水準(高水準)は low level(high level)の直訳でしょうから、そのままカタカナで表記する人が多くなってきたということかもしれませんね(日本語の「低水準」でも、本文のような誤解はあるでしょうけど)。

関係ないですが、洋画を日本で公開される際も、昔は日本語のタイトルが付いていたものですが、最近は、元のタイトルをそのままカタカナ表記する方がウケるようです。

3 ■Re:こんにちは・・・

春の棒さん、こんにちは。

言語の場合は、「高級-低級」という言い方がありましたね。確かに、人によって好みが分かれるところかもしれません。

2 ■無題

ちょっと前までは、低水準・高水準という言い方が普通だった気がしますが、最近は、低レベル・高レベルというのが普通になったんでしょうか?

1 ■こんにちは・・・

低レベルなプログラミングの参考には・・・
検索「LSI開発ものがたり」が参考になるように思います(礼)

私自身は開発に携わったこともありませんし、
仕事としてプログラミングをしたこともありませんが、
私は、プログラミングを動かすことが好きな方は「高級言語」、
トレースが好きな方は「低級言語」を好むような気がします(礼)

コメント投稿

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。