[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/