新言語を開発したい
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/05/30(日) 21:52:01低水準言語にこだわる人は「低水準言語を開発したい」のほうへどうぞ。
0053デフォルトの名無しさん
2011/09/10(土) 14:34:51.11言語によって開発環境ができることが限られてくるんだよ。
たとえば変数に型を持たない言語では、
メソッドの補完は不可能。
だからそういうのを減らして、言語がコードの解析をして全体を理解し、
その情報を開発環境に提供することで開発環境の機能を
さらに向上できるように考慮された言語。
それは結果的に人間を楽にしてくだれる。
0054デフォルトの名無しさん
2011/09/10(土) 14:42:26.96たとえば名前でも意味が違う変数があるだろ?
それは開発環境ではどれが同じで違うか理解できても
テキストエディタでは理解出来ない。
もしこれが開発環境ではなく言語自体で情報を提供されるようになったら
テキストエディタからでもコマンド一発で簡単に知ることができるだろうし
テキストエディタを拡張することも簡単だろう。
だから開発環境の問題ではなく、その問題を言語側に移そうという話でもある。
0055デフォルトの名無しさん
2011/09/10(土) 14:47:37.10リフレクションの機構は処理系が提供するものだ
仕様としてその言語処理系対する要件として定義はできるがな
0056デフォルトの名無しさん
2011/09/10(土) 15:49:42.66http://japanese.engadget.com/2011/09/09/google-dart/
0057デフォルトの名無しさん
2011/09/10(土) 16:02:56.76リフレクション? リファクタリングの間違い?
リファクタリングは確かに処理系が提供するもの。
だけど、なにかの機能を載せたいと思ったとき、
その機能を実現するためには、その機能を実現するための情報が
ソースコードに書かれていないといけない。
だから、開発環境、処理系、にフォーカスを当てて
それに搭載したい機能を考え、
その機能を実現できる言語を作りましょうってことだよ。
0058デフォルトの名無しさん
2011/09/10(土) 16:32:19.86プログラムの実行中、コンパイル中にそのプログラム自身の構造を参照したり書き換えたりする機構の事だよ
インスタンスから自分自身の型や型からその属性や継承木を言語内で1級のオブジェクトの形で取得できるわけだ
そのインスタンスが生成されたコード内の位置を取得することができるものもある
0059デフォルトの名無しさん
2011/09/10(土) 20:21:08.49リフレクションの機能がわからいんじゃなくて、
どこからそんな話が出てきたんだってことなんだが。
0060デフォルトの名無しさん
2011/09/11(日) 00:38:09.610061デフォルトの名無しさん
2011/09/11(日) 01:11:41.90具体的に新しい言語によって何を解決したいのかが何一つ読み取れない。
例えばC#(+VisualStudio)なら何が不満なの?
どういう部分に考慮が足りないと感じる?
0062uy
2011/09/11(日) 21:44:19.12ゴミ相手に何マジレスしちゃってんの?
これでわかっただろ
ここには58こういうゴミみたいな「知ったか」しかいない事実
覚えたての単語を使いたがる精神年齢中学生
適当にカタカナ言葉を混ぜておけば
>>58
いっぱしに、プログラマー気取りっすかあああああああああああああwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
カンケーネータンゴダシテシッタカデスカアォアアアアアアアアアアア!!!!!!!!!
さっさと死ね 黙って死ね 今すぐ死ねよ ゴミ
ゴミはさっさと死ねばいいのに
0063デフォルトの名無しさん
2011/09/11(日) 22:20:23.55よくある方法で思い切って概念の整理を行うことで新しい言語を生み出すこともできる。
また一般に難しいとされるものをすっきり記述できるようにするといいと思う。
例えばオブジェクト指向や関数という概念などを、もっと単純でなものにできるか、
バグの出ない記法や間違っているものを間違っているように見せる方法はあるか、
など未だ色々と解決する問題はあるね。
0064デフォルトの名無しさん
2011/09/11(日) 22:27:38.54それって...まだ未実装のようだが Cobra だよな...
ttp://cobra-language.com/
ttp://cobra-language.com/docs/quality/
0065デフォルトの名無しさん
2011/10/01(土) 23:43:16.13ネイティブ吐いて、オブジェクト指向で理想的な言語だ
だが、objective-cは何かが違う。あの言語は何かを間違えた。
0066デフォルトの名無しさん
2011/10/07(金) 06:26:43.46@なんちゃらを無くして
gc前提なら悪くないかもしれん
0067デフォルトの名無しさん
2011/10/08(土) 21:07:01.340068デフォルトの名無しさん
2011/10/09(日) 15:33:05.18純粋なC言語ではi-phoneアプリは組めないのかな?
もしCで書けるならJAVAでも書けるって事だから
そうなるとJAVAプログラマーはキャッキャウフフになるんだけど
それを実現するには努力が必要だよね
0069デフォルトの名無しさん
2011/10/09(日) 16:20:07.550070デフォルトの名無しさん
2011/10/09(日) 18:42:18.220071デフォルトの名無しさん
2011/10/09(日) 20:00:32.37Cで作れるならJavaでも作れる?
どういう論理か教えて欲しい
0072デフォルトの名無しさん
2011/10/09(日) 20:15:09.40まずCでJavaバイトコードを実行するVMを書きます
0073デフォルトの名無しさん
2011/10/09(日) 20:15:49.740074デフォルトの名無しさん
2011/10/09(日) 20:53:56.400075デフォルトの名無しさん
2011/10/10(月) 13:39:55.320076デフォルトの名無しさん
2011/10/10(月) 16:31:23.670077デフォルトの名無しさん
2011/10/10(月) 17:05:37.13でもそれじゃiPhoneで走らないだろ
あ、JNIを呼び出す為にVMも実装するのか
偉いな
0078デフォルトの名無しさん
2011/10/16(日) 22:45:09.03個人やコミュニティが開発する規模の言語が
普及してから大きなメジャーアップデートしても誰もついてこない
最初に文法を決めてしまったのであれば、後から修正してはならない
0079デフォルトの名無しさん
2011/10/16(日) 22:56:08.750080デフォルトの名無しさん
2011/10/17(月) 07:36:40.16アップデートについてこれない低能を相手にしてたらやってられるわけがない。
そういう低能は切り捨てるだけ、そういうレベルの企業には潰れる以外の末路はない。そんだけ。
0081デフォルトの名無しさん
2011/10/22(土) 11:00:30.750082デフォルトの名無しさん
2011/10/22(土) 11:29:21.560083デフォルトの名無しさん
2011/10/24(月) 06:54:44.84文字通り生きてる有機コンピューターつくれよ
0084デフォルトの名無しさん
2011/10/24(月) 06:56:14.09防壁は張っとけよ
0085デフォルトの名無しさん
2011/10/24(月) 07:08:18.37ネアンデルタール人 - Wikipedia
0086デフォルトの名無しさん
2011/10/24(月) 07:45:34.66可愛いかもしれん
0087デフォルトの名無しさん
2011/10/25(火) 00:53:23.640088デフォルトの名無しさん
2011/10/25(火) 21:12:55.840089デフォルトの名無しさん
2011/10/26(水) 01:00:54.44汎用言語を作りたいのか
専用言語を作りたいのか
汎用の言語なら、動的言語か、静的型付け言語かでざっくり分かれるけど
代替の場合、自分の使っている or 愛している言語に、ほかの言語の機能を取り込む方で頭が回っている
自分の場合、Rubyのメタプログラミングの機構や、Object型にくっついている、黒魔術的なメソッドの細かい仕様バグを取り除いて再設計されたものとかを欲しいと思ってしまう
0090デフォルトの名無しさん
2011/10/26(水) 01:32:42.96それでいて動的言語で出来るメタプログラミングを
できるようにした言語が作りたい。
あとコンパイラのアーキテクチャを変更したい。
今のように実行したらバイナリが出来る方式ではなく
”プロジェクト” を "コンパイラーサーバー" に読み込ませると
ファイルを更新するたびに、コンパイル可能な所をリアルタイムでコンパイルし、
コンパイルができてる場所、エラーにある場所、その他様々な情報を取得できるという設計。
言語仕様ももそれが出来るように考慮する必要があるだろう。
そしてリファクタリングやコーディング規約チェックなど、
コンパイラの助けを得たほうが出来ることを、コンパイラにやらせ、
その機能の呼び出しをテキストエディタから行いたい。
0091デフォルトの名無しさん
2011/10/26(水) 08:47:34.31最新のIDEを使えばオケ
0092デフォルトの名無しさん
2011/10/26(水) 19:31:34.49最新のIDEの限界を超えた所を狙ってる。
0093デフォルトの名無しさん
2011/10/26(水) 19:39:49.76今の言語の文法難しくてパーサー作れない
処理系の吐く情報難しくて解析出来ない
よしオラ言語作る!
これでは進まないのも当たり前
0094デフォルトの名無しさん
2011/10/26(水) 20:03:49.45言語(ソースコード)はデータであり
IDEはそのデータを処理するツール
いくらツールがすごくても
データがなければ、なにも処理できない。
つまりIDEを更に進化させるためには
データである言語をIDEに適したものに改良する必要がある。
0095デフォルトの名無しさん
2011/10/26(水) 20:30:41.330096デフォルトの名無しさん
2011/10/26(水) 21:32:59.78その考えが既に浅薄だとは気づかないのか
構文解析やリンケージやシンボル情報うんぬんありきのIDEだと気づけ
文法をパーサが簡単になるようにするとかは
別に構わないが、IDEありきの言語とか
本末転倒にもほどがある
最近のだどgolangの設計方針とか
パッケージとかgocodeとかみてみ
0097デフォルトの名無しさん
2011/10/26(水) 21:57:34.80IDEありきなんて言ってないですよ?
>>90を読んでください。むしろ180度逆で
IDEがやっているようなことをコンパイラサーバーに
やらせることで、テキストエディタでも
IDEと同等の高度なことができるようにするという書いてあるでしょ。
なんでこう人の話聞かないかな。
0098デフォルトの名無しさん
2011/10/26(水) 23:13:40.41パーサにどう吐かせるか
吐いた情報をどう加工するかだけの話
そんなのは言語自体ではなく単なる処理系のバックエンドの話
その辺と言語をごっちゃにしてるから浅薄だと
0099デフォルトの名無しさん
2011/10/26(水) 23:23:22.06頭悪いねぇ。
吐いた情報? じゃあその情報はどこから持ってきた。
言ってみ。
0100デフォルトの名無しさん
2011/10/27(木) 07:37:55.47ASTなりなんなりを吐くんだよ
サーバに置こうがローカルだろうがやることは同じに決まってんだろ
処理系の知識0ならまずは
ドラゴンでも中田さんのでも読んで来い
0101デフォルトの名無しさん
2011/10/27(木) 10:13:05.31どこでも割り込み可能にしたら多分なんでも持ってこれる
昔、gccで中間言語をXMLに落としたり、情報拾って部分式の型や逆参照を類推するような実験的プロジェクトがあったんだけどそういうやり方だった
まぁ当時はgccプラグインとか無かったから、無理やりコード改変でやってたけど今ならもう少し楽かも
0102デフォルトの名無しさん
2011/10/27(木) 19:54:22.840103デフォルトの名無しさん
2011/10/27(木) 21:04:59.31gccも昔は弄りやすかったけど
今はモンスターになっちまって見る気にならんけど
0104デフォルトの名無しさん
2011/10/27(木) 23:21:04.40> パーサーと書いてるだろ
パーサーはなんでもでてくる四次元ポケットじゃないぞw
パーサーはただ情報をコンピュータが理解できる形に変換するだけ。
情報はそもそもソースコードにある。
ソースコードになにを書くか。それは言語によって決まる。
言語によって、どれだけ情報を取り出せるかが決まる。
多くの情報を取り出せるようにするには、言語を作るという話になる。
ここまで説明すれば理解できるよな?
単純にパーサーが頑張ればなんでもできるってわけじゃないことが。
0105デフォルトの名無しさん
2011/10/27(木) 23:24:45.740106デフォルトの名無しさん
2011/10/27(木) 23:30:42.03自分自身を変更しようとした時に警告を出せる。
これはいくらパーサーが頑張ってもできないことだ。
0107デフォルトの名無しさん
2011/10/27(木) 23:38:23.85コーディングサポートが実装出来なかった機能として
Javaのenumがあるよな。昔のJavaはenumがなかったら
引数に入る値のコーディングサポートが出来なかった
パーサーや言語以外の何かが頑張ればなんでもできるってわけじゃない。
言語仕様によって、IDEが出来る機能は変わってくる。
これは紛れも無い事実。
なら逆に、IDEの機能をさらに発展させるには
言語仕様を変える必要があるという発想は自然と出てくるはずだ。
0108デフォルトの名無しさん
2011/10/27(木) 23:43:22.820109デフォルトの名無しさん
2011/10/27(木) 23:43:42.02別にテキストエディタでも同じ事だぞ。
俺は存在を知らないが、高度なテキストエディタがあれば
IDEと同等の文法を理解した上での、コーディングサポートをしてくれるだろう。
で、なぜそんな高度なテキストエディタは存在しないのか?俺は存在を知らんのだw
その理由は、今のコンパイラは、コンパイルすることしか出来ず
コンパイル途中の情報を取り出せない。
IDEなみの機能を搭載するには、テキストエディタ開発者がコンパイラを作らなきゃいけない。
それは普通に考えてありえない話。だからコンパイラのアーキテクチャも変更しないといけない。
それがコンパイラのサーバー化という話。
テキストエディタを進化させるためのコンパイラサーバー化だ。
0110デフォルトの名無しさん
2011/10/27(木) 23:45:46.59誰がすごいアイデアといったんだ?
最初から、このスレらしく「そういう言語を開発したい」と言ってるだけだろ。
↓
>>90
> できるようにした言語が作りたい。
そんだけしか言うことがないなら、難癖つけてくんなよ。
0111デフォルトの名無しさん
2011/10/27(木) 23:47:56.25IDEで頑張る前に、言語仕様を頑張る必要があるという話に
同意いただけましたでしょうか?
0112デフォルトの名無しさん
2011/10/27(木) 23:50:14.570113デフォルトの名無しさん
2011/10/28(金) 00:11:04.41おい、答え言うなよw
せっかく、そんな機能に何の意味があるんだ?って
素人丸出しレスを待っていたのにw
0114デフォルトの名無しさん
2011/10/28(金) 01:12:50.05enumがIDEとかエディタとか
IDEとエディタを分けて考えてたり
コンパイラが情報を出してくれないとか
色々ツッコミ所が多すぎて…
モノを知らなさ過ぎる
enumもconstもvolatileもprivateなんてのも
言語の必要性から来たもの
人間にもコンパイラにも理解出来るものは
IDE/エディタにも理解させれるのは当然だが…
後は冗長で縛り過ぎる言語は誰も使わないぞ
契約プログラミングとか今や何それだろ
興味があるなら色々処理系みて見るといい
gccなんかの中間情報もだが
goとかは自分のパーサが標準ライブラリだし
エディタで補完するための情報吐くツールもある
0115デフォルトの名無しさん
2011/10/28(金) 08:43:51.06意味がわからんのはお前が馬鹿だからじゃね?
そもそも言語の必要性ってなんだ?w
enumになんの言語の必要性があるんだ。
言語の必要性で言えば、constで十分じゃねぇか。
実際ちょっと前まではenumしか無かったんだし。
極論いえば、全部アセンブラでも作れる。
言語っていうのは「人間が書きやすくするため」に作られたもんだ。
ならば、人間がさらに書きやすくするためには、言語を改良するのは当たり前の話。
IDE・エディタが頑張るのは、その次の段階だし、
言語機能が不足していれば、IDE・エディタががんばろうとしても
不可能なのは、enumやメソッドのconstで例に出したとおり。
具体的な例は出てる。それが違うというのなら、関係ないごちゃごちゃとして文章はいらない。
「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
このことに”だけ”に反論してくれ。
0116デフォルトの名無しさん
2011/10/28(金) 11:49:02.68理想のIDEを作るために最適な言語仕様を考えよう
と言いたいなら理解できる。
本末転倒であることは分かってると思うが
百歩譲って、それが生産性や快適さをどう改善するんだ?
0117デフォルトの名無しさん
2011/10/28(金) 20:41:49.12理想のIDEというのは正確じゃないな。
コーディングサポートと言ったほうが的確。テキストエディタであっても
多かれ少なかれコーディングのサポート機能はあるだろう。
例えば、構文に色をつけるのだってその一つだ。
さすが色があっても生産性や快適さを改善することにならないと
主張するわけじゃあるまい?
あとは「どう改善するんだ?」という話じゃないのは解るかな?
どう改善するかではなく「どう改善したいか?」だよ。
それが、言語仕様で決まっていなくてもできることなら、言語仕様の変更はいらない。
だがenumみたいに、言語仕様があることでコーディングサポートが改善する、
ということはあるというのが事実。
もう限界でこれ以上生産性も快適さも上がらないよ。言語はもう発展しきった。と
いうのなら、そいつには、君のとってはそうだねって俺は言うだけだ。
0118デフォルトの名無しさん
2011/10/28(金) 21:38:00.080119デフォルトの名無しさん
2011/10/28(金) 22:16:44.12つ「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
このことに”だけ”に反論してくれ。
0120デフォルトの名無しさん
2011/10/28(金) 23:17:38.110121デフォルトの名無しさん
2011/10/28(金) 23:23:05.240122デフォルトの名無しさん
2011/10/29(土) 03:49:03.42とにかく言語云々よりIDE()が作りたい事だけはわかった
もし実際になにかを作り始めたら
いずれ俺の書いた意味がわかる日も来るよ
0123デフォルトの名無しさん
2011/10/29(土) 08:51:50.38なんか偉そうだなw
俺の書いたことに一切反論出来なかったくせに。
0124デフォルトの名無しさん
2011/10/29(土) 09:47:10.64お前卑怯者。
#defineという単語を出したのはお前が初めてだ。
お前の書き込みは、#defineがわりとしてみていると
周りの人に錯覚させようという書き込みだろ。
#defineがわりと勘違いしているのはお前だけだ。
0125デフォルトの名無しさん
2011/10/29(土) 09:54:51.24「周りの人に錯覚させようという書き込み」になるのかwwwwwwwwwwww
0126デフォルトの名無しさん
2011/10/29(土) 09:58:30.06「がわりとしか見てない」
>>125では
「そうとしか見えない」
相手に対して言った言葉が、
自分の感想に摩り替わってる。
無意識で自分の都合の言いように
自分の発言を思い込む人なのか?
0127デフォルトの名無しさん
2011/10/29(土) 10:03:07.570128デフォルトの名無しさん
2011/10/29(土) 10:06:26.26もっかい書いておくわ。
> 「言語仕様によって、IDE・エディタがサポートできる機能が変わってくる」
> このことに”だけ”に反論してくれ。
これに対する反論はでてない。
0129デフォルトの名無しさん
2011/10/29(土) 10:18:57.43全く見なかったものとして、無視しても一切文句ないわけね。了解。
0130デフォルトの名無しさん
2011/10/29(土) 10:25:28.37そもそも>>90になにがしたいかは書いてある。
それにして、反論したい人がいるみたいだが、
その内容が、「お前はわかってない(その理由は書いてない)」ばかりで
何の反論にもなってないのだ。
そしてそいつは質問ばかりする。それに対して
enumやconstの例を出して説明があるが、
それに対しても「お前はわかってない(その理由は書いてない)」と
言うばかりで、何の反論もない。
どっちのワンサイドゲームになっているか一目瞭然だろう。
0131デフォルトの名無しさん
2011/10/29(土) 10:31:47.36話をちゃんと見ていれば、ここで出ているconstは
定数のconstではなく、メソッドのconstであることはわかるはず。
そこに根本的なレベルの差を感じるよ。
0132デフォルトの名無しさん
2011/10/29(土) 10:34:19.830133デフォルトの名無しさん
2011/10/29(土) 10:42:23.960134デフォルトの名無しさん
2011/10/29(土) 12:02:53.46別にそのことそれ自体に対しては誰も否定していないので安心してね
という事でこの話はもう終わりにしよう
0135デフォルトの名無しさん
2011/10/29(土) 12:09:23.71反論しろよ。
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情けないな。
0141デフォルトの名無しさん
2011/10/29(土) 12:46:10.240142デフォルトの名無しさん
2011/10/29(土) 13:27:08.810143114
2011/10/29(土) 13:55:26.98その事を言語仕様の重要点にする意味が
ないって指摘をしてんだが
フルシカトだから話にならんね
あ、constがあればenumいらねと書いた事は面倒だから忘れてやるよ
0144デフォルトの名無しさん
2011/10/29(土) 14:09:02.64言語仕様ってのは、人間が使いやすくするために存在するもの。
すべてがシンタックスシュガーであるといってもいい。
使いにくくてもいいなら、比較とジャンプができれば、事足りるんだからさ。
人間が使いやすくする=ツールのサポートも含まれる。
最終的な目的は何だ? ツールを使ったらダメなのか?
そうじゃないだろ。使いやすく出来るのであれば
どんな手段もとっていいはずだ。
0145デフォルトの名無しさん
2011/10/29(土) 14:12:30.420146デフォルトの名無しさん
2011/10/29(土) 14:16:30.090147デフォルトの名無しさん
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.790151快適なスレッドリーディングサポートのためにコテハンの追加を所望
2011/10/29(土) 15:15:44.70■ このスレッドは過去ログ倉庫に格納されています