トップページ⇒tech
518コメント145KB

新しいスクリプト言語を設計する!

■ このスレッドは過去ログ倉庫に格納されています
0001 ◆opMJSavJhM NGNG
これからは、スクリプト言語の時代だそうですが、案外使い勝手の良い平凡な
言語が少ないような気がします。例えば。。。

PERL - 大変メジャーで、実績も十分!
しかし、記号&暗号のようなスクリプト言語と感じるのは私だけでは無いはず
です。昔やった、sendmailの設定ファイルを何故か思い出します。

RUBY - 最近(?)人気急上昇のメジャー言語!ネーミングも良い!
しかし、(善し悪しは別として)オブジェクト指向言語であるが故に、私の様
にいまだに抵抗を感じる方もきっと多いはず。

そこで、オブジェクト指向でない分かりやすいスクリプト言語を設計してみた
いと思うようになりました。

いろいろと、アドバイスなりアイデアなりを頂けると嬉しいです。
0002デフォルトの名無しさんNGNG
卒論ですか?
0003デフォルトの名無しさんNGNG
2
0004デフォルトの名無しさんNGNG
>これからは、スクリプト言語の時代
間違い
終了
0005デフォルトの名無しさんNGNG
shige が Ruby の発展の足かせとなったのは事実なわけだが
0006デフォルトの名無しさんNGNG
>>1
もうすでにHSPがあるだろ?
0007デフォルトの名無しさんNGNG
>>1
> これからは、スクリプト言語の時代だそうですが
ハァ?

新しい言語作るなら、
新しいアスペクト指向言語を作ってくれ
0008デフォルトの名無しさんNGNG
>>7
アスペクト指向を自分の言葉で説明してみろ
0009デフォルトの名無しさんNGNG
ともかくがんばれ〜
0010デフォルトの名無しさんNGNG
スクリプト指向言語つくっています。
0011デフォルトの名無しさんNGNG
健康志向言語つくってます。
0012デフォルトの名無しさんNGNG
残業不要言語作ってます。
0013デフォルトの名無しさんNGNG
天地無用言語作ってます。
0014デフォルトの名無しさんNGNG
下積厳禁言語作ってます。
0015デフォルトの名無しさんNGNG
類似スレ

新次元新発想!新しい文法を作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1047970129/

新言語の制御文を作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1050616566/
0016デフォルトの名無しさんNGNG
織田信長があるじゃん
0017 ◆.CzKQna1OU NGNG
#test
0018デフォルトの名無しさんNGNG
僕の織田信長が暴走しそうです
0019動画直リンNGNG
http://homepage.mac.com/hitomi18/
0020デフォルトの名無しさんNGNG
      _
     _'~_ ミミ
     ひ` 3彡
 カラン_ 匸,.イ  <たて逃げするなら最初からスレッド立てなきゃいいのにな。。。
   rl|iri| /yV/ \

0021デフォルトの名無しさんNGNG
プログラミング言語 Lua スレ↓の 363 あたりから新言語作成の話題がありますた
http://pc2.2ch.net/test/read.cgi/tech/1034182349/
0022デフォルトの名無しさんNGNG
>>2
卒論とかではないです。(もう遥かにそんな年ではないです。)
>>6
HSPはwin用なので、使えんのです。
>>16
なんですか?それ???
0023デフォルトの名無しさんNGNG
HSPを移植すればおしまい
設計する必要なし
0024デフォルトの名無しさんNGNG
>>22
とりあえず何も作ってない奴にアレコレ言ってやる程暇な香具師はそう多くないってこった。
0025デフォルトの名無しさんNGNG
こういうスレがあるわけだが。

『コンパイラ・スクリプトエンジン』 相談室 2
http://pc2.2ch.net/test/read.cgi/tech/1021136715/
0026デフォルトの名無しさんNGNG
何のビジョンもなければ作る気配もないのがすばらしい。
0027デフォルトの名無しさんNGNG
>>21
GoLua !?
0028デフォルトの名無しさんNGNG
実際のところ、オブジェクト嗜好な方って意外と少ないような気がするん
ですが、どうでしょう???
0029デフォルトの名無しさんNGNG
というか、目的ありきじゃないのですかな
0030デフォルトの名無しさんNGNG
ところで英語を直訳したようなこのスレタイなんとかならんか
0031名無し@沢村NGNG
おれはF言語かK言語を開発したいね。
どうしてFかKかといえば、おれは昔K-FACTORYというブランドが好きだったからよ。
おれは新宿丸井店と神宮店によく買いにいってたね。
おれは朝日新聞の白黒写真にK-FACTORYのニットとパンツをはいて出ていたモデルのねーちゃんがかっこよかったから、K-FACTORYを好きになったのよ。
おれもああかっこよくなりたいと思ってね。
いずれにしても開発するならF言語かK言語しかないと思っているね。
K言語がねらい目かもね…?どうよ?
0032デフォルトの名無しさんNGNG
"hello" println system console standerd output stream.
0033デフォルトの名無しさんNGNG
F言語ってF-BASICのことだろ?
ふじつーまんせー
0034デフォルトの名無しさんNGNG
そうだな。Fといったら不治痛だよな。イタタタタ・・・
0035デフォルトの名無しさんNGNG
>>1
>>これからは、スクリプト言語の時代だそうですが

いまさらだな
0036デフォルトの名無しさんNGNG
汎用で使えるスクリプトが少なすぎるのは確かかな?

bashとAWKもあるにはあるが、どちらも目的&ターゲットが限定
されすぎていない?
0037デフォルトの名無しさんNGNG
>>36
pythonとかrubyは?
0038デフォルトの名無しさんNGNG
perl とか rexx とか wsh とかは。
0039デフォルトの名無しさんNGNG
>>37
共にオブジェクト至高
0040デフォルトの名無しさんNGNG
>>38
perlは定番だね
rexxは設計古杉
WSHはwin用?
0041デフォルトの名無しさんNGNG
>>1
そろそろ出来たろう。
早く見せてくれ。
0042名無し@沢村NGNG
>>41
いや、>>1はまだそのままだよ。
>>1は使い勝手のいいスクリプト言語をつくりたいと思ってるんだよ。
いろいろアドバイスやアイデアがほしいんだよ。
0043デフォルトの名無しさんNGNG
>>1
なら、るびぃを手続き型で使えばいいじゃん。
0044デフォルトの名無しさんNGNG
オブジェクト指向だからとっつきにくいとか言ってるやつって
たまいるけど、よっぽど頭かたいんじゃないかと思うよ。
0045デフォルトの名無しさんNGNG
42=1
0046名無し@沢村NGNG
おれはまず変数と型をしっかりと設計するね。
Cではint,short,long,flort,double,long double,charなどがあるが、
doubleとlong doubleはいらないね。
おれならchar=1バイト,wchar=2バイト,int=4バイト,flort=4バイト,long=8バイトとするね。そしてそれぞれにsignedとunsignedがあるわけだ。
これだけですべてが表現できるよ。doubleとlong doubleは無駄だね。どうよ?
まあ名前は別の名前にするかもしれないけどね。
まずこれで変数と型が設計できたぞ!
少しはかどったわけだ。次回はまた♪
0047デフォルトの名無しさんNGNG
wcharいらね。
0048デフォルトの名無しさんNGNG
>>46
糞
0049デフォルトの名無しさんNGNG
>>46 そびえたつクソ
0050名無し@沢村NGNG
>>47
wcharは日本語を表現するのにいるよ!
charしかないと文字変換のとき日本語を二つに分解しないとダメで面倒臭いだろ?
しかしwcharがあれば一発で変換できるよ。
またcharとwcharに互換性を持たせておけば同じ配列にcharとwcharを混ぜて使えるから、テキストエディタを作るとき超便利になるよ!
0051デフォルトの名無しさんNGNG
文字型が2バイトって時点でクソ。
0052デフォルトの名無しさんNGNG
>>50
だせ。
0053デフォルトの名無しさんNGNG
>>46
型宣言どうすんの?
C風に比べてPASCAL風のほうがすっきりすると思うんだが
0054デフォルトの名無しさんNGNG
ださすぎ。
そのうち、お決まりの「もちろん、C言語風のsyntaxに……」とか
言い出すんだろ?見え見え。

いいかげん、一旦Cから離れろよ。できれば、アルゴル系から離れろ。
0055デフォルトの名無しさんNGNG
じゃlisp風に...
0056名無し@沢村NGNG
おまいらよ、つぎは配列の設計だよ。
配列はCの場合int a[50];と宣言したら、intつまり4バイトのデータが50連続してるってことだろ?
だがK言語では違うんだよ。
K言語では配列型というのをつくるんだよ。
例えば、array a[50];というふうに宣言するんだな。
またarray型は型であって型ではないから、型のサイズというものを持たない。
array型というのはintやlongやflortやcharやwcharなどの型を混ぜることができる配列なんだよ。
例えばa[0]がint型でa[1]はflort型でもOKというふうにだ。
おまいらよ、これはいまだかつてないすげー便利な配列だぞ!わかるか?
まあ変数と型の設計の部分ではK言語とC言語のそう大きな違いは見られなかったが、配列の設計に来てK言語らしさがちょっと出てきたというわけだ。
まあ配列の設計はそんなところよ。
おれはこうして少しずつK言語を設計していくからな。このスレでな。
いままでのことでわからないことがあったら、何でも聞いてくれ!
0057デフォルトの名無しさんNGNG
おれらの発言はスルーですよ。
結局、沢村はここでワンマンショーがしたいだけなんだな。
0058デフォルトの名無しさんNGNG
>>56
既に VB の Variant 型配列で実現されてますが。
0059デフォルトの名無しさんNGNG
>既に VB の Variant 型配列で実現されてますが。
プ
沢村の爪の垢でも飲んどけ
0060デフォルトの名無しさんNGNG
参照の配列にしとけば?
0061デフォルトの名無しさんNGNG
>>59
「プ」しか書けないアフォは、氏ね。
0062デフォルトの名無しさんNGNG
( ゚,_・・゚)プププッ>>61
0063デフォルトの名無しさんNGNG
>>62
やっぱりアフォだったか...。
0064デフォルトの名無しさんNGNG
Rubyの配列はそうだっつーか、静的な型の概念が無い言語はみんなそうだろ
0065デフォルトの名無しさんNGNG
覚えるのめんどいんでやっぱCとおなじような文法がいいなあ。
0066デフォルトの名無しさんNGNG
>>65
おまえは C をつかってろ。
0067デフォルトの名無しさんNGNG
>>56
型が決定されるのはどの瞬間にょ?
0068デフォルトの名無しさんNGNG
>>56
>intつまり4バイト

お、オレは釣られない、釣られないぞぉ。
0069名無し@沢村NGNG
Cがいいよ。おれはDelphiやVBの文を見てもさっぱりわからん…
新しい言語はCをつくりかえるのがいい。
ただアセンブラは必須だよ。アセンブラを知らないとコンパイラはつくれないからね。
コンパイラというのはその新しい言語をアセンブラにエクスポートするソフトだからだよ。
0070デフォルトの名無しさんNGNG
>>67
代入の時でいいんじゃない ?
(つーか、>>64 が言うような言語ではそうなってると思うよ。)
0071名無し@沢村NGNG
>>68
intは4バイトだろが、ハゲ!!
でcharが1バイトでshorつーかtwcharが2バイトよ。
これは処理系の常識だぞ!
0072デフォルトの名無しさんNGNG
>>69
> コンパイラというのはその新しい言語をアセンブラにエクスポートするソフトだからだよ。

別にアセンブラを経由する必要はないと思うが。
あと初期の C++ みたいに、別の言語にコンバートする方法もあるし。
0073デフォルトの名無しさんNGNG
>>71
intのサイズは処理系依存。16ビット系コンパイラなら
intは2バイトが多い。
0074デフォルトの名無しさんNGNG
>>73
ネタにマジレス...、スルーしましょうよ。
0075デフォルトの名無しさんNGNG
>>71
int は割り込み命令だろうがハゲ
0076デフォルトの名無しさんNGNG
やっぱり m17n のためにも char は 8 バイトにするべきですよね。
0077デフォルトの名無しさんNGNG
>>73 つーか C なら char 以外のバイト数は処理系依存でしょ。
0078デフォルトの名無しさんNGNG
>>73, >>77
なんかこの話題になると得意満面な奴がでてくるな。
みんな知ってることなのに...。
0079デフォルトの名無しさんNGNG
得意満面だと思っているあたりが。
0080デフォルトの名無しさんNGNG
とりあえず100%ネタなんだからほっとけよ
0081名無し@沢村NGNG
>>73
ハゲ!!アセンブラにコンバートするんだよ!
アセンブラが実行可能ファイルなんだよ!!わかるか?
そのためにアセンブラの知識が必要なんだよ。
まあいずれにしても、逆アセンブラもつくれないやつにはコンパイラをつくるのは無理ってことだ!!
おまいらは、新しい言語をつくる前に、逆アセンブラをつくって言語のしくみの基礎を勉強してみろ!!いいか!!
0082デフォルトの名無しさんNGNG
>>79
> 得意満面だと思っているあたりが。

ぷぷっ。指摘されて恥ずかしかったのかな ?
0083デフォルトの名無しさんNGNG
81がわけわからんアセンブラ = 実行コード
と思ってる?
0084デフォルトの名無しさんNGNG
また、「プ」とか「ぷぷ」とか書いてるアフォが来たぞ
0085動画直リンNGNG
http://homepage.mac.com/hitomi18/
0086デフォルトの名無しさんNGNG
a = Array.new()
a[0] = 10.to_i
a[1] = 10.to_f

a.each do |x|
 p x
end

# ruby unko.rb
10
10.0
#
0087デフォルトの名無しさんNGNG
>>84
オマエモナー。
0088デフォルトの名無しさんNGNG
>>83
>>80
0089名無し@沢村NGNG
>>83
ハゲ!!
実行可能ファイルつーんだよ!つまりPCが理解できるネイティブコードだよ。な?
だからな、新しくつくった言語をネイティブコードに変換しようと思ったらアセンブラの知識がなくちゃ無理だっつーんだよ!
まあDelphiやVBの知識は必要ないが、CとJavaとアセンブラの知識は必要だということよ。新しい言語にはな。おまえ。
0090デフォルトの名無しさんNGNG
沢村=キチガイ
ってことでFA?
0091デフォルトの名無しさんNGNG
なんか得意満面な奴がでてきたな。
みんな知ってることなのに...。
0092デフォルトの名無しさんNGNG
FA。
0093デフォルトの名無しさんNGNG
沢村=>>1
ってことでFA?
0094デフォルトの名無しさんNGNG
なんか得意満面な奴がでてきたな。
みんな知ってることなのに...。
0095デフォルトの名無しさんNGNG
FA。
0096デフォルトの名無しさんNGNG
>>95
ふぁ ?
0097 ◆opMJSavJhM NGNG
>>1です。 # hash文字列あってたかなぁ。。。(^^;

(私は、沢村さんではありません。念のため。。。)

さて、本題ですが、変数型についてどなたかが書き込まれていましたが、
最近思うことは、文字型(char類)って本当に必要なのか?と疑問に思い
つつあります。

いろんな言語で、文字型の無いものをさわった経験として、文字系は文字
列が表現できれば十分では?と思うようになりました。

あまりにも当り前の話ですが、「文字」を単に「長さ1の文字列」として
表すのです。

(マルチバイト文字は当然それなりの長さを単純に持たせます。)

私もC言語の影響は多大に受けていますので、最初は違和感もあったので
すが。。。AWKやらrubyやら他にいろいろ(luaもそうだったかな?)さわ
っているうちに、これは有る程度、そう思うようになりました。

この当たりは、どうおもわれますか?

単に、自分がそのような必要を感じていないだけでしょうか???
0098デフォルトの名無しさんNGNG
文字は長さ1の文字列・・・それでいいと思います。
ただCの文字型は実質単なる整数型なわけで、便利なこともある。
例えば配列にアルファベットの大文字を格納するには・・・

int i;
for(i = 0';i < 'Z - 'A';i++) array[i] = i + 'A';

なんてやればいいわけで。わかりいい。
009998NGNG
>>for(i = 0;i < 'Z' - 'A';i++) array[i] = i + 'A';
修正
0100デフォルトの名無しさんNGNG
アスキーコード依存ってのがね
実際的には問題ないけど
0101デフォルトの名無しさんNGNG
EBCDICは死滅するべきだ
■ このスレッドは過去ログ倉庫に格納されています