新言語を開発したい
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/05/30(日) 21:52:01低水準言語にこだわる人は「低水準言語を開発したい」のほうへどうぞ。
0002デフォルトの名無しさん
2010/05/30(日) 22:00:370003デフォルトの名無しさん
2010/05/30(日) 22:05:51言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0004デフォルトの名無しさん
2010/05/30(日) 22:13:170005デフォルトの名無しさん
2010/05/30(日) 22:15:440006デフォルトの名無しさん
2010/05/30(日) 22:50:360007デフォルトの名無しさん
2010/05/30(日) 23:03:07関数型でGCなしとかどうだ。
0008デフォルトの名無しさん
2010/05/30(日) 23:16:48ユニットテスト普及以降、テストの考え方が変わった。
コードでテストするようになった。
だけど既存の言語はテストしやすいようには作られていない。
ユニットテストというフレームワークを使うことである程度改善できるけど
さらなる機能が必要。
たとえばprivateメソッドをテストのときだけ外部から呼び出し可能にしたり、
テストのときだけ、関数内部で生成しているクラスのインスタンスを
コードを変えることなく、テスト用のインスタンスにすり替えたり、
テスト対象のコード任意の地点の値をテストコードから監視したり。
アスペクト指向はあまりはやってないけど、テストするには使える技術だと思うな。
0009デフォルトの名無しさん
2010/05/30(日) 23:21:19C#で不満なところは?
0010デフォルトの名無しさん
2010/05/30(日) 23:32:52うん。大規模なプロジェクト、あるいは一人だけで作る場合の生産性を上げるようなものだね
0011デフォルトの名無しさん
2010/05/30(日) 23:36:27上司にC#の言語の制約で出来ませんと言い訳できないところ。
0012デフォルトの名無しさん
2010/05/30(日) 23:57:36関数型寄りでGC,VM無しのCって方が面白そうだわな。
0013デフォルトの名無しさん
2010/05/31(月) 00:14:440014デフォルトの名無しさん
2010/05/31(月) 00:54:490015デフォルトの名無しさん
2010/05/31(月) 00:57:020016デフォルトの名無しさん
2010/05/31(月) 00:58:550017デフォルトの名無しさん
2010/05/31(月) 23:57:240018デフォルトの名無しさん
2010/06/01(火) 03:35:310019デフォルトの名無しさん
2010/06/01(火) 03:39:240020デフォルトの名無しさん
2010/06/01(火) 16:32:440021デフォルトの名無しさん
2010/06/02(水) 00:05:51【新言語開発が破綻する典型的なパターン】
言語比較厨登場。言語仕様を大量に盛り込む。工数が膨大に。
↓
開発者が不足。しかも楽しい仕事しかやりたがらないダメな奴ばっかり。
↓
よってライブラリ、デバッガ、IDEの製作やドキュメントの整備等の
面倒だが重要な仕事は手抜きし放題。場合によっては完全放置。
↓
使えない糞言語なので、ユーザーが集まらない。
誰も使ってくれないので開発者のモチベーションが保てない。
↓
終了。
【対策】
・言語ヲタを排除する。工数を増やす人はいらない。
・達成目標をよく議論して明確にする。無計画に始めない。
・小さい言語仕様にする。出来上がってから少しづつ拡張すればいい。
・他の言語に勝てる分野で勝負する。使えない言語を開発することに意義はない。
0022デフォルトの名無しさん
2010/06/02(水) 00:10:20002321
2010/06/02(水) 00:56:57ライブラリ作成の工数を減らす意味でも対象にするドメインを絞ったほうがいい。
自分が勝算がありそうだと思う分野をあげておく。
【ゲーム専用言語】
有名なところだとノベルゲームやアドベンチャーゲーム用の吉里吉里2やNScripter
なんかがあるが、GOTO指向の時代遅れの言語なので普通にやれば勝てると思われる。
ネトゲは無理でも、アクションゲーム、パズルゲーム、シューティングゲーム
くらい対応できれば十分。
【携帯用言語】
携帯電話やAndroidやiPad上でプログラミングできるようにする。
既にやってる人もいるだろうが、メジャーなものはないから今なら
まだ勝てるチャンスがある。ライブラリが小さいもので済むのも利点。
【日本語プログラミング言語】
現在は"なでしこ"一人勝ち状態だが実はかなり低速な上にバグだらけ。
文法も破綻気味なのでもう少し洗練された言語を作ればシェアを
全部奪えるのではないかと思う。
【画像/動画/音声 処理用言語】
例えば本格的な画像編集をGIMPとScript-Fuなんぞで頑張るのには無理があるし
GPLでがっちり固められてしまっているのでつまらない。
およそマルティメディア関係のアプリケーションでは速度の問題が大きすぎて
結局C++でプラグイン書いてリンクのパターンになってしまう。
簡単な記述でそこそこ高速なデータ処理言語があればシェアがとれるはず。
0024デフォルトの名無しさん
2010/06/02(水) 00:59:530025デフォルトの名無しさん
2010/06/02(水) 01:04:360026デフォルトの名無しさん
2010/06/02(水) 01:37:13いやノベルゲームのバグの原因の大半はGOTOとグローバル変数だと思うけど。
ノベルであっても関数言語的な構造をもっているなら自動テストを行って
ある行動をプレーヤーがとると無限ループになるとか
絶対に取れないフラグが存在するとか、バグを検出するのが容易になるので
素人こそ先進的な道具を使わせておくべきじゃないの。
0027デフォルトの名無しさん
2010/06/02(水) 01:41:180028デフォルトの名無しさん
2010/06/02(水) 01:44:50switchのラベルでもgotoのラベルでも同じことだろう。
0029デフォルトの名無しさん
2010/06/02(水) 02:07:11例えば
ストーリー() {出会い, 事件, 別れ}
出会い() {移動, 発見, 挨拶}
移動() {台詞="
長い文章"}
…
と構造化されてるのと
*ストーリー
(長い文章)
goto 出会い
*出会い
(長い文章)
goto 移動
*移動
(長い文章)
goto 発見
…
が同じわけがねえ。
実際はif文とクラスに属してない総称型のフラグが散らばっててさらに
分けわかんないことになってるんだよ。よくあんな言語使うと思うけど。
0030デフォルトの名無しさん
2010/06/02(水) 02:10:560031デフォルトの名無しさん
2010/06/02(水) 02:11:110032デフォルトの名無しさん
2010/06/02(水) 02:12:450033デフォルトの名無しさん
2010/06/02(水) 08:52:450034デフォルトの名無しさん
2010/06/02(水) 20:02:440035デフォルトの名無しさん
2010/06/02(水) 21:33:120036デフォルトの名無しさん
2010/06/02(水) 21:36:170037デフォルトの名無しさん
2010/06/05(土) 04:43:0130歳になったら本気出す
0038デフォルトの名無しさん
2010/06/06(日) 23:04:430039デフォルトの名無しさん
2010/06/07(月) 01:16:470040デフォルトの名無しさん
2010/06/07(月) 02:02:11でもあそこまでやるなら他の言語でも良さげな
0041デフォルトの名無しさん
2010/06/08(火) 02:01:33詳しく
0042デフォルトの名無しさん
2010/06/08(火) 07:52:420043天使 ◆uL5esZLBSE
2011/07/03(日) 21:18:42.73(((((((((( >着衣プレイの時の制服の種類とか ))))))))))(キリッッッッ!!!!
ゴミグラマじゃねーか
0044天使 ◆uL5esZLBSE
2011/07/04(月) 04:59:35.62そんな言語使ってる奴ってどうみてもゴミだと思うんだけど
もしかして「;」これ打ち忘れてコンパイルエラー出すのが楽しいの?
そうか、二度と話かけんなよ
なんだ、ただのゴミか(笑)
0045ななし。
2011/07/27(水) 12:48:37.240046デフォルトの名無しさん
2011/09/10(土) 11:36:04.49このままだと数年後も完成しないだろうから手法を提案をするか。
まず、初心に戻って明確なプロパガンダといいますかキャッチコピーを決めるといい。
可能であれば利用状況などの想定を盛り込んだ短編小説もね。すると必要なものがわかる。
例えばコピーであれば、
- ロケット制御用言語なら「Rock:et を使って月のウサギに会いに行こう」
- 日本語異性型ロボットAI言語はぢらひ「俺の嫁、旦那様、バーニング」
- 従来の汎用言語の改良であれば「あなたは今日からリア充です(※効果には個人差があります)」
など...。
0047デフォルトの名無しさん
2011/09/10(土) 11:42:53.85それに仕様は複数存在しても別に問題はないよ。rejectされても別プロジェクトでやればいい。
つか欲しい・作れって言うだけでは、仕様書いている人からすれば
「これこれこういう言語があるからそっち使っては?」になることが多いと思うよ。
0048デフォルトの名無しさん
2011/09/10(土) 11:50:59.20やっぱり謎の重圧と戦う、調べることが数千件、細かいことに
配慮して悩みぬくなどあります。使うと書くとでは大違いですよ。
では押しの強いひとが現れることを願って。以上。
0049デフォルトの名無しさん
2011/09/10(土) 11:58:46.330050デフォルトの名無しさん
2011/09/10(土) 13:46:03.85それを容易に扱う為の言語といった形の必要性で無いと作る意義が乏しいだろうな
こう言語仕様においてはその扱いたい計算モデルに都合の良い文法とそのプログラミング言語としての意味論を定義することが
結構大きな割合占めてると思うのよね
0051デフォルトの名無しさん
2011/09/10(土) 14:21:16.44俺はそんな、適用する場所があまりない、つまり効果が薄いことよりも
もっと人間が楽になる言語がほしいよ。
具体的には、言語機能として、ユニットテスト、リファクタリング、
デザインパターン、ドキュメントの書き方まで考慮されていて、
特別な何かを別に用意しなくてもこれらが簡単に実行できること。
簡単にというのは、正規表現やワンライナーができるということも含まれている。
それでいてstrictモードなら、型をきっちり明記して、様々な統合環境を作ることも可能。
0052デフォルトの名無しさん
2011/09/10(土) 14:27:32.280053デフォルトの名無しさん
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を使えばオケ
■ このスレッドは過去ログ倉庫に格納されています