[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 3527] Re: ASKA
こんにちは、川合です。
Guripon さんは 2002/04/01 00:03:14 の「[OSASK 3526] Re: ASKA」で
書きました:
>私は最初見たとき『難しそう』と感じましたが、アセンブリ言語と
>C言語の特色が混ざったASKAという言語を見て混乱したのも事実です。
それは良く言われます。C言語ライクな文法のせいで、自分がASKAを
使っているのかC言語を使っているのか分からないという状態になると
言われたことはあります。
残念ながら僕はそのような経験を一度もしていないので、これがどれ
ほど「いや」なことなのか、よく分かりません。すみません。
>現在までC言語とアセンブリ言語のあいだに位置するような言語を
>なかなかお目にかかることが無かったので、拒否反応を起こしている
>のかもしれません(汗)。C言語とアセンブリ言語を、それぞれ得意な
>分野によって使い分けてきた私ですから、その間を取り持つASKAは
>自分にとって特に異質に見えるようです。
ASKAはC言語とアセンブラの間に位置するような言語、というわけで
はありません。単にCの文法をもらってきただけの、ただのアセンブラ
です。高級言語らしいところは微塵もなく、プログラムを組むときは、
アセンブラの知識を要求します(アセンブラの文法は知らなくて構わな
い)。C言語の知識はいりませんが(たとえば<stdio.h>の使い方など)
、C言語の文法の知識は必要です。高級言語ではないので、抽象化など
はほとんどできません(ASKAはそんなことをするために作った言語では
ないので、問題にしていません・・・抽象化がやりたいなら、素直にC
言語やC++を使うべきであって、ASKAを改良する必要はありません)。
>C言語と比べると、1行1命令なので分量はやはり多いですが。
これは誤解です。
EAX = 0; EDX = ECX; BL -= 4 /* こめんと */; IMUL(ESI, 100);
のような記述はもちろんできます。しかし「1文1命例」ではあるので、
分量が多いとの言うのは事実です。分量の多さは、ASKAがアセンブラで
ある以上避けられないことです。
何度も申しますが、「C言語と比べる」というのがそもそもの間違い
です。NASMと比べるべきです。比較の対象を間違えてしまうと、ASKAの
真価を理解するのが難しくなります。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/