• ベストアンサー

素朴な疑問

情報処理の出題範囲というのを見ていて「アセンブラ言語 CASL II」と記述されているのを見て、あれ?と思いました。 私はアセブリ言語などと記述するのが正しいと思うのですが、なぜアセンブラ言語なのでしょう? たとえば、C 言語をコンパイルするのが C コンパイラで、C コンパイラ言語とは言わないから、アセンブラ言語という言い方も明らかにおかしいです。 情報処理技術者試験センターの公式な文章内にまで現れると、逆に自分の認識が間違っているのかと不安になります。もはや一般化してしまったのでしょうか? ご意見を聞かせていただけたらと思います。

noname#30727
noname#30727

質問者が選んだベストアンサー

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.5

皆さんのおっしゃっているように、アセンブリ、アセンブラ、アセンブルは明確に使い分けていました。ところが、高級言語ではコンパイラ、コンパイルしかありません。つまりアセンブリに相当する言葉がないのです。高級言語をコンパイラ系とインタプリタ系に分けて表現するときに「コンパイラ言語」と言い始めて、それが「アセンブラ言語」にも波及したのだろうと考えています。厳密に言うと間違いかもしれませんが、「コンパイラに食わせる言語」「アセンブラに食わせる言語」という解釈も出来なくはないですね。 この世界(に限らず)、変な用語が定着するのが多いですね。 特に、汎用系(ホスト)とオープン系(パソコン)で用語が混乱を起こしているのも多いです。 例えば良く使う「圧縮・解凍」は国家試験では「圧縮・展開」「圧縮・伸長」ですよね。これは汎用系の言葉です。 ホームページと言う言葉はもともと「トップページ・・・・ホームポジション?」をあらわす言葉だったのですが、いつのまにか全体をさすようになってしまいました。 「ブロードバンド」も「変調をかけて遠距離通信する伝送方式と言う意味」から「広帯域の高速通信」と言う意味で使われるようになっています。

noname#30727
質問者

お礼

ご回答ありがとうございます。 高級言語ではアセンブリに相当する言葉がないというのは確かにその通りですね。 コンパイラ、インタプリタ、アセンブラと大きく3つに分類することで、言語の歴史的にも体系的にも、綺麗にまとまっているように思えてきました。 「圧縮・解凍」などは微妙ですよね。確か、大昔の LHarc では「冷凍・解凍」と言っていたような記憶がありますが、中途半端に残ってしまった感が強いです。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

私は「アセンブラー言語」と聞いても奇異には思いません。 30数年前にIBMの360や370の「アセンブラー」でプログラムを 仕事で組んで以来特別な感懐があるのですが、アッセンブラー は、ソースプログラム側を言うのでなく、ソースを読みこんで、 機械語に変換する側のソフト(特別なユティリティソフト)を言っていました。他にモニタープログラム、ソートマージ、ダンププログラムなどが付いて来ました。 「ラー」がつくのは、ドライブ-ドライバー(ねじ回し。道具の方) のように、機械語に直す道具たるソフトと思っていました。 「アッセンブラーでアッセンブルする」と使っていました。アッセンブラーは各CPUシリーズごとに作られることが多く、「言語」と言うべきでしょうか疑問に思います。マシン語、アッセンブラ別格説です。 COBOLで言えば、インテル86系のWINDOWSで動くものも あり、富士通のオフコンでうごくものもある。「言語」はCPU機種を 越えた仕様を目指すものであるのに比べ、アセンブラはCPU(石)の系統に密着した仕様になっています。マシン語、機械語と アッセンブラーとの違いも良くわかりませんが、マクロ命令が有ったり入出力命令が充実したり、アッセンブルのための特別仕様が付加されていることでしょうか。結局言語とは何かと言う線引きの問題と思います。 試験では、COBOL、PLI、C言語があるので、CASLも言語になったのでしょう。

noname#30727
質問者

お礼

ご回答ありがとうございます。 私の質問の書き方が悪かったようですが、CASL が言語であるという事に異存はありません。 imogasi さんの仰るとおり、CPU ごとに違う言語とも言えますから、高級言語のように一言でアセンブリ言語とは言いずらいとも思います。 また、この場合のラーが付くのは道具だという事も全く同感で、imogasi さんの言葉を借りれば、アセンブリ言語で書かれたソースを、アセンブラでアセンブルすると表現するのが適当だと考えています。そうすると、「アセンブラ言語」という言葉が流通しているのは異常なのではないだろうかというのが質問内容だったわけです。

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.3

少なくともこの辞書(参考URL)の意味を見る限り、アセンブラ言語(=Assembler language)でも正しいようです。 >情報処理技術者試験センターの公式な文章 はたしかJIS用語を元として用語を持ち出してくるらしいんで(裏はとってませんので真偽は不明)JISの方に文句言えば直るかもしれません(笑) >まあ、民主主義的には正しいのかもしれませんが まぁ、元々言葉なんて多くの人が使えばその意味も変遷する物ですし。「常識」と一緒でしょう。

参考URL:
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=assembler&sw=0
noname#30727
質問者

お礼

ご回答ありがとうございます。 参考 URL を見させていただきました。 緑の字で、assembler language と書かれているのが気になりますが、 >アセンブラ ((アセンブリ言語で書かれたプログラムを機械語に変換するプログラム)) とはっきりと書かれているのには好感が持てます。 文句を言うつもりはないのですが、JIS 用語の可能性があるというのは初めて知りました。

  • you-m
  • ベストアンサー率58% (190/327)
回答No.2

用語の正しい使われ方というのは、大勢の人が間違うとそちらの方へ流れていってしまう事って多いですよね。 本来、Webサイトと呼ぶのが正しいはずのものがホームページという意味的には全く関係無い言葉で一般化してしまったのも、そのような物でしょう。 まあ、民主主義的には正しいのかもしれませんが(笑) 数の暴力ですね・・・。

noname#30727
質問者

お礼

ご回答ありがとうございます。 私も最初はホームページという言葉に違和感はあったのですが、最近では感じなくなってしまいました。ヴァーチャルな世界での住宅みたいな、わりと良い言葉かなと。 確かにこれも民主主義かもしれません。正しいかどうかは二の次なところが現実に似ています。

  • chukanshi
  • ベストアンサー率43% (186/425)
回答No.1

inthefloiさんのおっしゃる通りです。 正しくは、アセンブリ言語です。でも、みんながそれをアセンブラと呼ぶようになったので、慣習としてそうなってしまいました。慣習とは恐ろしいものです。

noname#30727
質問者

お礼

ご回答ありがとうございます。 アセブリ、あとから見てびっくり。アセンブリの書き間違いでした。 やはり、間違いのまま習慣化してしまったのですね。 昔から適当に呼んでいる人も多かったですが、私ごときが指摘したところで世の中かわるべくもなく、今後、今以上にゴチャゴチャになると思うと残念な気がしてなりません。

関連するQ&A

  • 基本情報技術者試験ではCASL2を選ぶと良いですか

    基本情報技術者試験の午後の試験では、 C、Java、COBOL、アセンブラ言語(CASL2)、表計算の中から 一つを選ばなければならないのですが、 アセンブラ言語(CASL2)を選ぶのが、 受験生にとって、一番負担が少なくてすむのでしょうか。

  • 8080用のクロスコンパイラは、ないでしょうか。

    8080用のクロスコンパイラは、ないでしょうか。 TK-80シミュレーターにて、プログラム開発をしたいのですが、さすがにアセンブラはきついので、Cコンパイラを探しています。 フリーのソフトで、MS-WindowsかLinuxで動作するクロスコンパイラはないでしょうか。 (8080アセンブラを出力するCコンパイラ) 以前探したときは、(確か)C言語をZ80にコンパイルして、それをさらに8080用アセンブラに変換するのを見つけましたが、うまく動きませんでした。 何か情報をもらえるとありがたいです。 よろしくお願いします。

  • CASLIIのプログラムで開発ができるの?

    基本情報処理技術者試験の午後のプログラム選択問題にCASLII(過去はCASLだったけど) そのアセンブラ言語なんぞで、何か新規開発ができるのでしょうか? C言語、Java、COBOLなら、色々な会社で開発してることはよ耳にしますが、CASLIIで開発してる とは耳にしたことがありません。もしもCASLIIで開発ができないのなら何の為に午後のプログラム言語問題にあるのでしょうか?それも知ってる方が居たら教えていただきたくて質問しました。 お願い致します。

  • アセンブラ言語って何をするための言語なんですか?

    CASL II を勉強しようと思うのですが、そもそもアセンブラ言語って何をするための言語なんですか?また、どんなことができるんですか?

  • アセンブリ言語について

    アセンブリ言語の勉強をしたいと思っています。 例えば、CやJava,などはコンパイラを使ってコンパイルをしますよねぇ。同じようにアセンブり言語にもアセンブラというものがあるのでしょうか? フリーでそのようなアセンブラ(コンパイラ?)があるのなら教えてくれないでしょうか?できれば、AT互換のアセンブリ言語の仕様書が書かれているサイトでもあれば教えてください。(できれば、日本語で・・・) それと アセンブラ言語を高水準言語と比較した場合の利点について教えてください。 色々とすいません。どうかよろしくお願いします。

  • 素朴な疑問 (C言語とアセンブラの処理速度の違いについて)

    C言語で作成したプログラムをビルドして実行ファイルを作成するのと、アセンブラ言語(?)をアセンブルして作成した実行ファイルは、どうして処理速度が違うのでしょうか?例えば全く同じ処理を高級言語と低級言語で作成した場合、出来上がったそれぞれの実行ファイルの違いは、コンパイル時に吸収されてしまうわけではないのでしょうか?

  • 一体どういう技術使ってるんですか?素朴な疑問です。

    プログラミングだとか、IT系の知識、技術はほとんど無い者です。 しかし、質問です。 iPhoneアプリの、例えば【LINE】や【スロットゲーム大花火】(差がありますが)とかって、objectie-cというプログラミング言語だけでできるものですか?それとも、プログラミング言語以外にも、他の情報処理技術(他の言い方があるかもしれないですが。。。)みたいなのをやはり使用しているのでしょうか? 素朴な疑問ですが、詳しい方おおざっぱにでもいいので教えて下さい。

  • スタックポインタをC言語で記述する方法は?

     スタック・ポインタの設定はアセンブラで記述してリンクしていますが、C言語で記述する一般的な方法は有りますか。  ルネサスのHEWだと出来るようですが、コンパイラ依存性が有るようです。  コンパイラに依存しないか、たいていのコンパイラなら出来る方法は有りますか。  宜しくお願いします。  

  • コンパイラの作り方

    ずーっと疑問におもっていることがあります。、コンパイラを作るのにコンパイラを使うと聞いたことがあるのですが、そのコンパイラはどう作るのでしょうか?OSもC言語やアセンブラで書かれていると聞いたことがありますが、じゃあアセンブラはどうやって作るんですかね?答えられる人がいるとは思えませんが、もし、ご存知でしたら宜しくお願いします。

  • Web制作で必要な言語

    Web制作で必要な言語ってどんなものがありますか? 基本的には私はPHPを学んでいるのですが、基本情報技術者の試験を受けようと思っています。その言語の中ではどれが良いですか?その言語とはC COBOL アセンブラ言語 Java の4つです。

専門家に質問してみよう