トップページ⇒tech
191コメント60KB

新言語を開発したい

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/05/30(日) 21:52:01
http://pc12.2ch.net/test/read.cgi/tech/1274015781/l50 の継続スレのかたわれです。
低水準言語にこだわる人は「低水準言語を開発したい」のほうへどうぞ。
0116デフォルトの名無しさん2011/10/28(金) 11:49:02.68
>>115
理想のIDEを作るために最適な言語仕様を考えよう
と言いたいなら理解できる。

本末転倒であることは分かってると思うが
百歩譲って、それが生産性や快適さをどう改善するんだ?
0117デフォルトの名無しさん2011/10/28(金) 20:41:49.12
>>116
理想のIDEというのは正確じゃないな。

コーディングサポートと言ったほうが的確。テキストエディタであっても
多かれ少なかれコーディングのサポート機能はあるだろう。

例えば、構文に色をつけるのだってその一つだ。
さすが色があっても生産性や快適さを改善することにならないと
主張するわけじゃあるまい?

あとは「どう改善するんだ?」という話じゃないのは解るかな?
どう改善するかではなく「どう改善したいか?」だよ。

それが、言語仕様で決まっていなくてもできることなら、言語仕様の変更はいらない。
だがenumみたいに、言語仕様があることでコーディングサポートが改善する、
ということはあるというのが事実。

もう限界でこれ以上生産性も快適さも上がらないよ。言語はもう発展しきった。と
いうのなら、そいつには、君のとってはそうだねって俺は言うだけだ。
0118デフォルトの名無しさん2011/10/28(金) 21:38:00.08
その「どう改善したいか」を君が示せないから賛同を得られないのだが
0119デフォルトの名無しさん2011/10/28(金) 22:16:44.12
>>118
つ「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
このことに”だけ”に反論してくれ。
0120デフォルトの名無しさん2011/10/28(金) 23:17:38.11
コテハンかトリップ付けてくれ
0121デフォルトの名無しさん2011/10/28(金) 23:23:05.24
俺の好きにする
0122デフォルトの名無しさん2011/10/29(土) 03:49:03.42
114だがconstやenumを#defineがわりとしか見てないとか、もう…

とにかく言語云々よりIDE()が作りたい事だけはわかった

もし実際になにかを作り始めたら
いずれ俺の書いた意味がわかる日も来るよ
0123デフォルトの名無しさん2011/10/29(土) 08:51:50.38
>>122
なんか偉そうだなw

俺の書いたことに一切反論出来なかったくせに。
0124デフォルトの名無しさん2011/10/29(土) 09:47:10.64
>>122
お前卑怯者。

#defineという単語を出したのはお前が初めてだ。
お前の書き込みは、#defineがわりとしてみていると
周りの人に錯覚させようという書き込みだろ。

#defineがわりと勘違いしているのはお前だけだ。
0125デフォルトの名無しさん2011/10/29(土) 09:54:51.24
どう見ても、そうとしか見えない、と表明したら、
「周りの人に錯覚させようという書き込み」になるのかwwwwwwwwwwww
0126デフォルトの名無しさん2011/10/29(土) 09:58:30.06
>>122では
「がわりとしか見てない」

>>125では
「そうとしか見えない」

相手に対して言った言葉が、
自分の感想に摩り替わってる。

無意識で自分の都合の言いように
自分の発言を思い込む人なのか?
0127デフォルトの名無しさん2011/10/29(土) 10:03:07.57
違うならどう違うか、具体的に反論すればいいだけなのに、人格攻撃しかできないの?
0128デフォルトの名無しさん2011/10/29(土) 10:06:26.26
なにに反論すればいいかわかんなくなってきてるみたいだから
もっかい書いておくわ。

> 「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
> このことに”だけ”に反論してくれ。

これに対する反論はでてない。
0129デフォルトの名無しさん2011/10/29(土) 10:18:57.43
それ以外の主張はどうでもいいことだから無視していいわけね。
全く見なかったものとして、無視しても一切文句ないわけね。了解。
0130デフォルトの名無しさん2011/10/29(土) 10:25:28.37
>>129
そもそも>>90になにがしたいかは書いてある。

それにして、反論したい人がいるみたいだが、
その内容が、「お前はわかってない(その理由は書いてない)」ばかりで
何の反論にもなってないのだ。

そしてそいつは質問ばかりする。それに対して
enumやconstの例を出して説明があるが、
それに対しても「お前はわかってない(その理由は書いてない)」と
言うばかりで、何の反論もない。

どっちのワンサイドゲームになっているか一目瞭然だろう。
0131デフォルトの名無しさん2011/10/29(土) 10:31:47.36
挙句の果てに、constを#defineの代わりとか言い出す。
話をちゃんと見ていれば、ここで出ているconstは
定数のconstではなく、メソッドのconstであることはわかるはず。

そこに根本的なレベルの差を感じるよ。
0132デフォルトの名無しさん2011/10/29(土) 10:34:19.83
根本的なレベルの差、って、2ちゃんねるに思いのたけを書き綴るしかできないレベルの低さのこと?
0133デフォルトの名無しさん2011/10/29(土) 10:42:23.96
人格攻撃しかできないの?
0134デフォルトの名無しさん2011/10/29(土) 12:02:53.46
「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
別にそのことそれ自体に対しては誰も否定していないので安心してね

という事でこの話はもう終わりにしよう
0135デフォルトの名無しさん2011/10/29(土) 12:09:23.71
完全勝利で終わらす気かw

反論しろよ。
0136デフォルトの名無しさん2011/10/29(土) 12:16:12.29
だってそれ以外には何も書いてない、とみなしていいということなんだから、
そういうことでしょ?
0137デフォルトの名無しさん2011/10/29(土) 12:21:50.13
どうでもいいよ。
ここまでの間>>90の言うことに
まともな反論はなかったという事実が全てだから。
0138デフォルトの名無しさん2011/10/29(土) 12:30:20.41
自分の主張している範囲を絞って相手に同意させて
元々の主張全体を正しいように見せる

この詭弁のテクニックは何か名前がついてた気がするけどなんだっけ
0139デフォルトの名無しさん2011/10/29(土) 12:42:51.41
> なにに反論すればいいかわかんなくなってきてるみたいだから
> もっかい書いておくわ。

> > 「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
> > このことに”だけ”に反論してくれ。

このこと以外についての反論は相手にしない、って明言してるもんな。
0140デフォルトの名無しさん2011/10/29(土) 12:43:49.56
で>>90に負けたわけかw
情けないな。
0141デフォルトの名無しさん2011/10/29(土) 12:46:10.24
実装してから勝利宣言しろよw
0142デフォルトの名無しさん2011/10/29(土) 13:27:08.81
「開発したい」スレでなに言ってんだ?
01431142011/10/29(土) 13:55:26.98
全ての視点がツールでのサポートがどうたらで
その事を言語仕様の重要点にする意味が
ないって指摘をしてんだが
フルシカトだから話にならんね

あ、constがあればenumいらねと書いた事は面倒だから忘れてやるよ
0144デフォルトの名無しさん2011/10/29(土) 14:09:02.64
>>143
言語仕様ってのは、人間が使いやすくするために存在するもの。
すべてがシンタックスシュガーであるといってもいい。

使いにくくてもいいなら、比較とジャンプができれば、事足りるんだからさ。


人間が使いやすくする=ツールのサポートも含まれる。
最終的な目的は何だ? ツールを使ったらダメなのか?
そうじゃないだろ。使いやすく出来るのであれば
どんな手段もとっていいはずだ。
0145デフォルトの名無しさん2011/10/29(土) 14:12:30.42
普通チューリング等価であることをシンタクティックシュガーと表現したりはせんぞ
0146デフォルトの名無しさん2011/10/29(土) 14:16:30.09
だからなんだよw
0147デフォルトの名無しさん2011/10/29(土) 14:19:40.36
コーディングサポートの為だけに言語仕様を追加するのは効果が薄い(無い)のではという批判が主なのに
何ズレた反論を延々としてるんだろう

例に上がってるenumやconstだって開発環境の為のヒントの為だけに作られたわけじゃないし
ぶっちゃけそういうのはアノテーションで十分じゃん
0148デフォルトの名無しさん2011/10/29(土) 14:24:19.28
> コーディングサポートの為だけに言語仕様を追加するのは効果が薄い(無い)のではという批判が主なのに

その批判に根拠が無いから
だらだらと続いているんだろ。
0149デフォルトの名無しさん2011/10/29(土) 14:39:12.77
快適なスレッドリーディングサポートのために
コテハンの追加を所望
0150デフォルトの名無しさん2011/10/29(土) 15:06:11.79
言いだしっぺからどうぞ
0151快適なスレッドリーディングサポートのためにコテハンの追加を所望2011/10/29(土) 15:15:44.70
こうか
0152 ◆zQSWiGWUZ6 2011/10/29(土) 15:32:05.31
ほらよ、コテハン。
これでなにがしたいのかしらんが。
0153 ◆R8FrGenb6Y 2011/10/29(土) 15:32:28.97
ちなみに、こんなのもある。
0154 ◆.EsjK4Weww 2011/10/29(土) 15:33:35.39
さて、これでなにが快適になると思うか。
だがコテハンできたのだから、満足したろ?
0155デフォルトの名無しさん2011/10/29(土) 15:42:36.82
コテハンと言われてトリップを付けるか。
まぁ他人になりすまされることがないからそのほうがいいか。
0156デフォルトの名無しさん2011/10/29(土) 15:44:47.55
じゃあそういうことで。なお、コテハンもトリップも
つけたり外したり変えたりするのでよろしくw
0157デフォルトの名無しさん2011/11/08(火) 23:07:44.93
それなら言語の処理系本体に持たせて、各々のIDEが車輪の再発明しないだけでも
小さな一歩と言えると思うんだけど
全体的に見て、後退と言える要素がほとんど見当たらないんだけど
>> 97
の意見は私はいいカンしているように見える
0158デフォルトの名無しさん2011/11/08(火) 23:59:51.76
外部ツールで補完の情報やらクロスリファレンスを
出させてエディタで利用する
なんてのはかなり昔から存在する
構文解析はエディタの外部だと反応が鈍くなる
どっちにしろ新言語というより処理系の話
0159デフォルトの名無しさん2011/11/09(水) 01:11:28.86
かといってemacsのように重たくなっても困るしな

だれかemacsにコンパイラ仕込んだ奴いる?
0160デフォルトの名無しさん2011/11/09(水) 01:13:16.02
excelなら見たことあるな、うろ覚えでググる気にもならんが・・・
0161デフォルトの名無しさん2011/11/09(水) 01:38:10.65
エディタにコンパイラ仕込むっていう意味が不明だが
flymakeで裏で文法チェックとか出来る
eclipseもjavaは知らんがCDTはgccとかを呼んでるだろ
0162デフォルトの名無しさん2011/11/09(水) 05:10:07.71
>>160
これのことか?
http://d.hatena.ne.jp/n7shi/20100519
0163デフォルトの名無しさん2011/11/09(水) 13:04:26.33
面白いな、これのemacs版でも作ってみるといいかもな
0164デフォルトの名無しさん2011/11/12(土) 21:38:55.58
http://babanba-n.iobb.net/mylang.txt
マジレスするとこんな感じの言語が欲しい

中二病の妄想投下だよね、失礼…
0165デフォルトの名無しさん2011/11/12(土) 22:04:28.44
真面目な回答をすると人工言語ロジバンがコンパイルして実行可能なので
院生とかでこのコンパイラ作れば歴史に名を残せそう…
0166デフォルトの名無しさん2011/11/12(土) 22:27:02.77
GUI の作成を含め、IDE が作りやすい言語、作りにくい言語と
いうのはある

Smalltalk は、IDE が作りやすい言語

C++ は、IDE が作りにくい言語
Microsoft の Visual C++ なんて、Visual という言葉を捨てた
方がいい
0167デフォルトの名無しさん2011/11/12(土) 22:39:42.29
>>166
VC++を捨てるのはいいとして、
Smalltalkは使われてないだろw

他にまともなものを出さないと
捨てようにも捨てられない。
0168デフォルトの名無しさん2011/11/12(土) 23:06:30.35
C++は文法が複雑になり過ぎて
機械的なパーザが作りにくいからな
STはObjectiveCとして生きながらえるしか…
0169デフォルトの名無しさん2011/11/12(土) 23:33:15.12
>>168
よくわからん。
いくら複雑といってもコンパイラはパース出来るんだろ?
ならIDEだって同じ方法で理解できると思うんだが。
0170デフォルトの名無しさん2011/11/13(日) 01:38:38.72
IDEで開発支援するなら動的言語が最適
0171デフォルトの名無しさん2011/11/13(日) 02:10:10.38
>>170
動的言語で一括りにするなよ。
っていうか、世の中のほとんどは動的言語じゃね?

IDEが発達している言語は、Java、C++、
C、C#、VB.NET、Smalltalkぐらいじゃね?
あとの言語は数世代遅れた所で止まってる。
0172デフォルトの名無しさん2011/11/13(日) 02:13:06.13
>>169
文字打つたびに長ったらしいコンパイルなんてやり始めたら作業にならんだろ
0173デフォルトの名無しさん2011/11/13(日) 02:15:27.61
>>172
バックグラウンドでやるから関係ないよ。
0174デフォルトの名無しさん2011/11/13(日) 10:15:38.45
デバッグしながらコード書ける?
0175デフォルトの名無しさん2011/11/13(日) 20:54:58.22
>>172
BoostのTMP系でも食ってなきゃ滅多にないだろ。
0176デフォルトの名無しさん2011/11/13(日) 21:10:12.22
>>164
俺も昔はこんなのだったなあと思いつつ言うので許してね…。
ぶっちゃけ酷い。プログラマーとして初心者以下のレベル。
0177デフォルトの名無しさん2011/11/13(日) 23:18:16.24
ひどい理由が書いていない。
ぶっちゃけ評価する人間として、初心者以下のレベル。
0178デフォルトの名無しさん2011/11/14(月) 00:28:30.86
>>177
これで軽く気持ち悪くなった。
>i=0.to_i // 一度Int型で固定
>i : Obj // どんな方でも受け入れることに変更

モンキーパッチ推奨、DRYと真逆の発想、可読性無視、スコープ破壊
もうお腹いっぱいです。

・動的型と静的型の違いは明確に。
・シノニムが多い。統一性を。(これではただの変態Ruby)
・ライブラリ、型、言語仕様の境界が曖昧すぎ。
 NullContext: 継承による拡張はライブラリ側。スコープは言語。

・メソッド接尾子
 if enabled? ... else ... : truthy、falsyが曖昧。可読性悪。
 array.push! : 強制すると感染しますので破綻します。
  万が一実装するにしても、これこそ型を使うべき。(C++のconst)
0179デフォルトの名無しさん2011/11/14(月) 00:30:02.21
追加

・オペレーターオーバーロードっぽい機能は静的型用。動的メソッドは無理。
0180デフォルトの名無しさん2011/11/14(月) 00:45:16.79
いい過ぎた。すまん。
読んでて実装無視の仕様に腹が立っただけなんだ。
本人も中二と認めてるものにいちいち口出して済まんかった。
0181デフォルトの名無しさん2011/11/14(月) 01:27:46.29
一時の感情で発言して、その後謝罪するという無駄行為は謹んでください。
0182デフォルトの名無しさん2011/11/14(月) 01:35:02.56
どっちもキモイので謹んでください。
0183デフォルトの名無しさん2011/11/14(月) 14:12:17.53
ide言語君よりかなりマシな流れ
0184デフォルトの名無しさん2011/11/14(月) 21:32:25.37
>>183
なにも言うことがないお前よりも、ide言語君の方がマシ。
0185デフォルトの名無しさん2011/11/14(月) 21:59:22.95
とりあえず、そのide言語君が「何を、いつまでに」作ってくるか
答えるまでは評価しないという方向で・・・
ネタは>>162で与えた筈
0186デフォルトの名無しさん2011/11/14(月) 22:16:57.35
>>185
言い出しっぺの法則。
まずお前から
0187デフォルトの名無しさん2011/11/14(月) 22:34:12.17
パス
01881642011/11/14(月) 22:52:59.80
>> 180
どうも、真面目な話参考になりました
具体的に非難されるとよく考えるきっかけになるし、ありがたかったです
ちょいちょいと修練しなおしてきます

少し恥ずかしいですが、恥の記念碑みたいなもので少し残しておきます
こういうスレは進みが遅いので、1000行くまで残すことはないですが
0189デフォルトの名無しさん2011/11/19(土) 16:32:25.73
ないね
0190デフォルトの名無しさん2011/11/21(月) 19:55:38.62
まずは 新言語からCに変換してgccで実行ファイル作るとこまでやる
これだけでも世界が変わる
納得いくものができたら次のステップへ
0191デフォルトの名無しさん2011/11/29(火) 23:11:00.82
今ならjs吐かせてブラウザから
試せるようにしたら話題を少し掴めるかもな
■ このスレッドは過去ログ倉庫に格納されています