« USB3.0のLinuxをいかに起動しようか・・・(思案中) | トップページ | 取り込みからの終了状態の扱い(プログラム言語なでしこ) »

愚かなプラグインを考える(プログラム言語なでしこ)

 「なでしこ」は日常業務の簡単なことを、簡単に実行するための日本語で記述するスクリプトっぽいプログラム言語です。構文も日本語の文章っぽく書けるのも特徴です(この辺が、ぴゅう太と違う・・・)
 プログラミングできる人からすれば、大抵の簡単な操作は、VBAなりWSHなりの目的にあった言語でさくさくと記述すれば無駄も無く簡単なわけですが・・・それも難しいという人、時に、アルファベットの羅列に耐えられないという人には「なでしこ」がむいていると思います。きっと。
 スクリプトっぽい言語なんですが、(いくつかのDLLは必要ですが)EXEファイルの生成が可能です。バイナリな中間コードに変換されるかんじ。また、生成の際に暗号化(難読化)もできるので、「バイナリエディッタで見たらソースがわかる」というのは避けられます(※)し、アプリケーションとして第三者に提供することもやりやすいです。
 足し算を行う命令として、「足す」が以下のように定義されてます。
「{=?}AにBを|Aへ|Aと」
最初の、「{=?}」は、前に「=」を付けて結果を変数に代入することもできる(省略も
可能)ので、こんな感じの定義に。これを実際に使うと、
「3と5を足して、表示。」という感じ。なお、「表示」も命令です。

 そこで、せっかく日本語の文章っぽくなるなら、以下のような命令のPluginとかも作れる・・・・かもしれません。
「自滅する。」で、プログラム終了後に自ファイルを削除 とか。
「堕ちる。」で、コンピュータシャットダウン とか。
夢が広がります。


※「実行できる」以上は、実行に必要な情報が必ず含まれます。これは、どんな環境でも絶対に避けられません。中間コードを用いている場合は、実際の命令と中間コードの差が小さくなり、解読しやすくなるので、その点は十分に注意が必要です。実行できる=実行内容を順に解析できる=解析できる順にソースも生成できる
 と、なります(元のソースではなく、中間コード用オペランドソースどまり という可能性はあります。Javaがこのタイプですね。大抵は、OPコードから逆コンパイル までしてくるツールが多いですが)
 元の言語とオペコードの機能差が開くほど、逆コンパイルが困難になりますが、無限に複雑化(と巨大化)してゆくことは出来ますが、不可能にはまりません。結局、いたちごっこになるだけで、どこかで見切りを付けることになります。
 (Nativeコンパイラだと、元のソースとNativeな実行コードがものすごーくかけ離れているので、ものすごく難解ということになる。)

|

« USB3.0のLinuxをいかに起動しようか・・・(思案中) | トップページ | 取り込みからの終了状態の扱い(プログラム言語なでしこ) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/20195/52456504

この記事へのトラックバック一覧です: 愚かなプラグインを考える(プログラム言語なでしこ):

« USB3.0のLinuxをいかに起動しようか・・・(思案中) | トップページ | 取り込みからの終了状態の扱い(プログラム言語なでしこ) »