アカウント名:
パスワード:
完全に未知の言語で書かれたプログラムって既存のOSで動作するものなのでしょうか
という素朴な疑問
#すいません/.に入り浸って入るものの、こういう方面はど素人です
今でも、日夜、「いいアイデアが浮かんだ!」という人が未知の言語を開発してます。特定の業務用に特別に作られた言語ってのもあります。新規に言語を作るというのは、学生の課題になるくらいにわりとありふれたことです。信頼性は言語を作った人の能力によります。
なので言語(コンパイラ)が吐き出すバイナリコードが既存のターゲットOS(このマルウェアの場合Windows)で動かないとしたら、それはただのバグです。言語まで作っておいて動かないのはかなりお粗末で赤面な事態かと思われます。
周辺ライブラリまで含めて整備するのはかなりの労力(動作テストがいっぱい)ですが、その労力に見合う組織力や報酬があったのでしょう。
>完全に未知の言語で書かれたプログラムって>既存のOSで動作するものなのでしょうかAPI呼び出しだけ規約を設けてあればどんなコンパイラがはき出したコードでもOSとやりとりはできますからLISPになじみの無い人がCFFIみると目が点になるのと同じかも
#完全に未知の〜からMade with secret alien technologyを妄想してしまった
該当ブログのコメント欄で> It's most probably Lisp, inspired by Mosquito Lispという指摘がありますね。
コメント欄には牽強付会な人たちがたくさんいますね・動的型チェックをしていない・実行時ルーチンにもリンクしていないことからLispではなさそうというとは明らかです
基本的には最終的にCPUが解釈可能なものに出来れば、その前がどんな形であろうと問題ありません。間にOSがあれば、それを意識する必要は出てきますが、基本は同じですし、それを人間が意識しなくて済むようにするのも(高級)プログラミング言語の目的の一つです。
ただどんな形でよいとはいえ、一応イディオムみたいなものはあって、ある程度以上はぶっ飛んだものにはなりにくいですし、既存言語を参考にすれば元の言語の特徴を受け継ぎます。自然言語でも、何かを伝えるという目的がある以上、(どういうレベルかは置いておいて)5W1Hとか主語述語が必要になるのと似ていると思います。
すべての言語は、必ず最終的にマシン語で実行されます。その間を埋めるのがコンパイラだったりインタープリタだったりVMだったりするわけです。
CPUやOSにC言語やC++のソースを解釈する機能があるわけではないです。昔に比べ、コンピュータ周りの色んなものが増えてわかりにくくなってますかね……
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
でも (スコア:1)
完全に未知の言語で書かれたプログラムって
既存のOSで動作するものなのでしょうか
という素朴な疑問
#すいません/.に入り浸って入るものの、こういう方面はど素人です
Re:でも (スコア:2)
OSが実行ファイルと認識できるようなバイナリ(66 33 C0 みたいな英数の羅列)が用意できれば、バイナリエディタで手で書こうが何かのプログラム言語を使おうが動きます。
というよりも、プログラム言語は文字のままではどうあがいても動かず、それをOSが動くようなバイナリに事前かその場で変換してあげる必要があり、それを行うのがコンパイラやインタプリタ。
で、今回のタレこみで言われているのは、コンパイラ(とかインタプリタ)には、癖があるけどどの言語のコンパイラの癖とも断定できない。ということです。
# yes, fly. no, fry.
Re:でも (スコア:1)
今でも、日夜、「いいアイデアが浮かんだ!」という人が未知の言語を開発してます。
特定の業務用に特別に作られた言語ってのもあります。
新規に言語を作るというのは、学生の課題になるくらいにわりとありふれたことです。
信頼性は言語を作った人の能力によります。
なので言語(コンパイラ)が吐き出すバイナリコードが既存のターゲットOS(このマルウェアの場合Windows)で動かないとしたら、それはただのバグです。
言語まで作っておいて動かないのはかなりお粗末で赤面な事態かと思われます。
周辺ライブラリまで含めて整備するのはかなりの労力(動作テストがいっぱい)ですが、その労力に見合う組織力や報酬があったのでしょう。
Re: (スコア:0)
>完全に未知の言語で書かれたプログラムって
>既存のOSで動作するものなのでしょうか
API呼び出しだけ規約を設けてあればどんなコンパイラがはき出したコードでもOSとやりとりはできますから
LISPになじみの無い人がCFFIみると目が点になるのと同じかも
#完全に未知の〜からMade with secret alien technologyを妄想してしまった
LISPっぽいらしい (スコア:0)
該当ブログのコメント欄で
> It's most probably Lisp, inspired by Mosquito Lisp
という指摘がありますね。
Re: (スコア:0)
コメント欄には牽強付会な人たちがたくさんいますね
・動的型チェックをしていない
・実行時ルーチンにもリンクしていない
ことからLispではなさそうというとは明らかです
Re: (スコア:0)
基本的には最終的にCPUが解釈可能なものに出来れば、その前がどんな形であろうと問題ありません。
間にOSがあれば、それを意識する必要は出てきますが、基本は同じですし、
それを人間が意識しなくて済むようにするのも(高級)プログラミング言語の目的の一つです。
ただどんな形でよいとはいえ、一応イディオムみたいなものはあって、ある程度以上はぶっ飛んだものにはなりにくいですし、
既存言語を参考にすれば元の言語の特徴を受け継ぎます。
自然言語でも、何かを伝えるという目的がある以上、(どういうレベルかは置いておいて)5W1Hとか主語述語が必要になるのと似ていると思います。
Re: (スコア:0)
すべての言語は、必ず最終的にマシン語で実行されます。
その間を埋めるのがコンパイラだったりインタープリタだったりVMだったりするわけです。
CPUやOSにC言語やC++のソースを解釈する機能があるわけではないです。
昔に比べ、コンピュータ周りの色んなものが増えてわかりにくくなってますかね……