【超高速】C/C++に代わる低級言語を開発したい
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2010/03/18(木) 01:37:55C#の文法は洗練されているが中間コードやGCを前提としているため致命的に遅い。
LL系の言語さらに遅い。
そこで、C/C++に代わるOSも作れるような低級プログラミング言語を開発したい。
文法はCに似ている方が望ましいが、
低レベル記述、高パフォーマンス、可読性、簡潔さ、拡張性、学習の容易さ
を担保出来るなら、どんな形式でも構わない。
プログラミングパラダイムについても、オブジェクト指向を備えることが望ましいが
生産性を高めることが出来るのであれば、他の方式が入っても構わない。
0002デフォルトの名無しさん
2010/03/18(木) 01:39:110003デフォルトの名無しさん
2010/03/18(木) 01:40:53どうやって確保するの?
0004デフォルトの名無しさん
2010/03/18(木) 01:44:06遅くないなら現在CやC++に含まれない理由って何なんだろう。
0005デフォルトの名無しさん
2010/03/18(木) 01:46:24GCは実用にならん
0006デフォルトの名無しさん
2010/03/18(木) 01:48:020007デフォルトの名無しさん
2010/03/18(木) 01:50:56GCの無い、過去のしがらみの無い、
高速で、低レベル記述ができる
生産性、可読性、簡潔さ、拡張性、学習の容易さに優れる
言語を作ろう。
0008デフォルトの名無しさん
2010/03/18(木) 01:54:34つ Pascal
0009デフォルトの名無しさん
2010/03/18(木) 01:56:160010デフォルトの名無しさん
2010/03/18(木) 01:57:300011デフォルトの名無しさん
2010/03/18(木) 02:02:28それとも構文が複雑すぎてコンパイルに時間掛かるのが嫌で言ってるのか?
asmでもやってろクズ
0012デフォルトの名無しさん
2010/03/18(木) 02:11:14ミッキーマウスの著作権が切れる方が早い
0013デフォルトの名無しさん
2010/03/18(木) 02:25:23>C#の文法は洗練されているが
おまえは何を言っているんだ?
0014デフォルトの名無しさん
2010/03/18(木) 03:32:17どこが汚いの?
0015デフォルトの名無しさん
2010/03/18(木) 03:54:180016デフォルトの名無しさん
2010/03/18(木) 04:10:59美しいと思わんかね。
0017デフォルトの名無しさん
2010/03/18(木) 04:14:470018デフォルトの名無しさん
2010/03/18(木) 04:36:20言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0019デフォルトの名無しさん
2010/03/18(木) 07:29:49終了
0020GV
2010/03/18(木) 10:33:230021デフォルトの名無しさん
2010/03/18(木) 11:12:570022デフォルトの名無しさん
2010/03/18(木) 11:36:290023デフォルトの名無しさん
2010/03/18(木) 11:52:01C99
C++/CLI
Erlang
Go
0024デフォルトの名無しさん
2010/03/18(木) 12:04:49悪いことは言わない。C/C++系言語の再発明はやめておくべき。
以前調べたことあったんで言うが、どういうわけかC/C++系の亜種は屍の山。
ざっと30...100以上あるんだが。呪いでもかかってんじゃないかってくらい(w
それでもやりたいってなら既存のライセンスの非常に寛大なC系インタプリタを
叩き台として紹介するけど?
0025デフォルトの名無しさん
2010/03/18(木) 12:23:17それModular系言語では...?
0026デフォルトの名無しさん
2010/03/18(木) 12:40:01Cは明らかに高級言語だろ
低級言語ってのは1文1命令に対応してるのをいうんだよ
0027デフォルトの名無しさん
2010/03/18(木) 12:46:33・OOP
・テンプレートなし
・標準クラス装備(文字列やコレクションクラスなど)
・GCなし
その他新しい機能不要
これで十分だろ。
どいつもこいつも色々とステップ飛ばしすぎなんだよ。
先ずはコレ。
0028デフォルトの名無しさん
2010/03/18(木) 13:40:20それ、トランスレータの頃のC++と同じだな。
0029デフォルトの名無しさん
2010/03/18(木) 15:04:030030デフォルトの名無しさん
2010/03/18(木) 15:09:21(void*)でOOPすれば十分
と思えないなら継承とテンプレートは必須
0031デフォルトの名無しさん
2010/03/18(木) 15:20:13OOPよりも、Cで欠けている機能は、例外処理を簡潔に書ける構文。
0032デフォルトの名無しさん
2010/03/18(木) 15:34:560033デフォルトの名無しさん
2010/03/18(木) 15:51:20新C言語を作ろう
http://pc12.2ch.net/test/read.cgi/tech/1185010023/
ブートストラッピングでコンパイラを作ろう
http://pc12.2ch.net/test/read.cgi/tech/1261910039/
C++ではこういう新しい機能が必要だと思う
http://pc12.2ch.net/test/read.cgi/tech/1173238573/
【信者】C++の問題点【アンチ】
http://pc12.2ch.net/test/read.cgi/tech/1223597633/
C系列って欠陥言語だろw
http://pc12.2ch.net/test/read.cgi/tech/1248205502/
例外機構を考察するスレ
http://pc12.2ch.net/test/read.cgi/tech/1249869471/
0034デフォルトの名無しさん
2010/03/18(木) 19:28:030035デフォルトの名無しさん
2010/03/18(木) 19:58:000036デフォルトの名無しさん
2010/03/18(木) 20:02:01C++のtemplateのことを言っているのなら、それが必要かと言われると?だな
0037デフォルトの名無しさん
2010/03/18(木) 21:22:430038デフォルトの名無しさん
2010/03/18(木) 21:36:43記法以外で似ているところを探すのが難しいぐらいだ。
0039デフォルトの名無しさん
2010/03/18(木) 21:44:201はまず適当に作って、こんなのはどう?ってみんなに評価して貰った方がはやいぞ。
0040デフォルトの名無しさん
2010/03/18(木) 22:23:47C/C++系言語の再発明を目指しているわけではない。
過去のしがらみの無い、
高速で、低レベル記述ができる
生産性、可読性、簡潔さ、拡張性、学習の容易さに優れる言語
であれば、C/C++と似ている必要は全くない。
0041デフォルトの名無しさん
2010/03/18(木) 22:36:110042デフォルトの名無しさん
2010/03/18(木) 23:00:46くらいのパフォーマンス出せそう。
0043デフォルトの名無しさん
2010/03/18(木) 23:04:22けれど、例えばHaskellみたいなのをかなり効率のいいアセンブラコードに変換なんてまず不可能ってことで言語仕様に制限がつくのであって、
言語仕様を制限することそのものには意義がない、ということは忘れちゃいけないな。
そういう意味では、プリプロセッサによるincludeは、あんまりいい処理とは言えないわけだ。
ヘッダファイルにいちいち
#ifndef FOO_H
#define FOO_H
〜
#endif
の定型句を書かせる必要はない。
あるいは、>>41のいうようにヘッダファイルそのものがいらないかもしれない。
プロトタイプ宣言だけソースファイルから抜き出すなんてこと、コンパイラにできるはず。
0044デフォルトの名無しさん
2010/03/18(木) 23:06:09モダンな言語で、ヘッダなんて原始的コピペ機構を使ってるのC/C++ぐらいじゃないの
0045デフォルトの名無しさん
2010/03/18(木) 23:32:41最近の言語はパフォーマンスを度外視し過ぎ。安易にパフォーマンスを落とす機能を導入し過ぎ。
未だにC/C++以外では現実的にOS作れないわけで。
かと言って、C++は増築増築で言語仕様が巨大過ぎて生産性を下げているし。
そういう意味ではCが一番まともだが、せっかくプログラミング言語研究が進んでいるわけだから、Cに代わるもっと現代風の言語が出てきてもいいだろう。
0046デフォルトの名無しさん
2010/03/18(木) 23:39:42GC前提のものが多いような気がするんだが
最新のプログラミングパラダイムって具体的には何が欲しいの
0047デフォルトの名無しさん
2010/03/18(木) 23:41:14がんがれ!
0048デフォルトの名無しさん
2010/03/19(金) 00:03:33あとコンパイルが速いのは絶対条件だろ
0049デフォルトの名無しさん
2010/03/19(金) 00:11:47(1)シンプルな言語仕様(言語仕様が小さいことで、プログラマーの学習不足によるヒューマンエラーが減る)
(2)低レベル記述可能(OS、デバイスドライバーを作れる)
(3)IDEによる開発支援可能(ソースをあちこち見なくても、ソースを覚えていなくても、プログラムを書ける)
(4)多くのバグはツールが見つける
0050デフォルトの名無しさん
2010/03/19(金) 00:26:06それってCじゃね?
0051デフォルトの名無しさん
2010/03/19(金) 00:33:51そういう用途ならEuphoriaでいいんじゃないの?と思う。
ttp://www.rapideuphoria.com/
ttp://oe.cowgar.com/docs/eu400_0001.html
ttp://9tailfox.web.fc2.com/euphoria/3.1.1/html/ja_jp/overview.htm
少なくとも3.1のDOS32版なら直接低レベル操作できるし、
Cトランスレータ応用(おそらくランタイムライブラリも書き換えて)して
EuphoriaでEuOSなんていうOSを途中まで書いていた人もいた。
>49
まあ解っていると思うけど(言語開発者は自前スキーな人多いから忠告だけど)、
IDEの自前は良くないのでやらないほうがいいよ。周辺ツールも既存のものを使えるようにしたほうがいい。
理由は考えればすくわかるからあえて言わない。
0052デフォルトの名無しさん
2010/03/19(金) 01:00:25Cは良いと思うが、Cが出来てから長い時間が立っているわけで
最近の研究成果を活かせば、
C程度の言語仕様の大きさで、もっと良い言語ができるんじゃないか?
C1Xはそういう方向性ではないようだし。
0053デフォルトの名無しさん
2010/03/19(金) 01:22:25生産性を高くするってことは、ある程度の高レベルなロジック記述も支援するってこと?
関数オブジェクトくらいはほしいよね。C の関数ポインタでもいいんだけど、構文がアレ
すぎる。
GC なしならクロージャは無理だろうけど (たぶん)、環境なしでもいいから関数オブジェ
クトを簡単に扱える仕組みはほしいなぁ。
と書きながら、扱い自体は C の関数ポインタでも簡単なのだから、構文さえなんとかす
りゃいいのかということに気づいた。
0054デフォルトの名無しさん
2010/03/19(金) 01:30:49> 生産性を高くするってことは、ある程度の高レベルなロジック記述も支援するってこと?
Yesだろうね。出来るに越したことはない。
パフォーマンスを落とさない範囲で可能な限りできればいい。
> 関数オブジェクトくらいはほしいよね。C の関数ポインタでもいいんだけど、構文がアレ
> すぎる。
型安全な(とは違っても少なくともコンパイラが誤りを検出可能な)関数オブジェクト(に相当するもの)は欲しい
> と書きながら、扱い自体は C の関数ポインタでも簡単なのだから、構文さえなんとかす
> りゃいいのかということに気づいた。
関数ポインタは構文よりは安全性が問題かな。。
0055デフォルトの名無しさん
2010/03/19(金) 01:55:55Cの仕様が複雑だとは思わんが、それでも理解不足によるヒューマンエラーは少なくないように見えるぞ。
0056デフォルトの名無しさん
2010/03/19(金) 01:59:250057デフォルトの名無しさん
2010/03/19(金) 02:05:110058デフォルトの名無しさん
2010/03/19(金) 02:07:43GCも無いんだから、それでヒューマンエラー減らしたいつっても限界あるんでないの
JVMやCLRの上の世界と違って、よく定義された綺麗な型とだけお付き合いしてればいい
というわけにもいかんだろし
0059デフォルトの名無しさん
2010/03/19(金) 02:08:45例えば、いわゆるLLだと
int a[2];
a[100]=0;
のようなことすると例外なりエラーなりで止まってくれるけど、Cだとメモリ破壊につながるわけだ。
今回のように定数を直接書いてる場合とか、複雑ではあってもコンパイル時間で決定できるものは
コンパイラがエラー出すこともできるけど、動的なものの場合は実行時にチェックするか、あるいはチェックしないで危険を冒すことが必要。
個人的には、配列の境界チェックはプログラマの責任にして動的チェックはしないようにしてほしいが、
メモリアロケーションの失敗とファイルオープンの失敗は自動チェックしてほしいかも。
そのへんの匙加減って、どうすればいいんだろう。
理想を杓子定規で当てはめた結果、誰も喜ばない仕様を作り出す過激派になったり、
毎度毎度細かい仕様で答えのない泥仕合になったりしない方法なんてあるのかなぁ。
0060デフォルトの名無しさん
2010/03/19(金) 02:11:30リリースでも
0061デフォルトの名無しさん
2010/03/19(金) 02:16:13そんなんされたら、高速化のためにループ中での条件分岐を減らすとかの努力が水の泡ですがな……
0062デフォルトの名無しさん
2010/03/19(金) 02:54:560063デフォルトの名無しさん
2010/03/19(金) 03:14:48たとえばeclipseのプラグインをかくとか、どのくらいの難易度なんだろう。
そもそもそれで対応できるとか全然知らないけど。
0064デフォルトの名無しさん
2010/03/19(金) 03:28:170065デフォルトの名無しさん
2010/03/19(金) 03:48:26言語仕様やコンパイラ作れる能力がある人には、退屈な単純作業にしか思えないくらいの低難易度。
0066デフォルトの名無しさん
2010/03/19(金) 03:53:36それはあまりに視野が狭すぎないかい?
科学計算とか、動画エンコードとか、まだまだいくらでも速度を追求したいプログラムはある。
けれど、大体の部分では速度を追求する必要がない時代に来ているのは事実。
LLとの連携強化だったり、ヘビーな高級ライブラリをboostやstlのようなポジションで用意するのはいい判断かもしれない。
0067デフォルトの名無しさん
2010/03/19(金) 03:56:08ライブラリ不足さえ解消されればC++に問題はない。
PHPから変換できて、上級者はC++をいじくるようにする。
Hiphop phpというのがあるがvc++では今は動かないようだ。
0068デフォルトの名無しさん
2010/03/19(金) 03:58:13http://blog.candycane.jp/archives/295
0069デフォルトの名無しさん
2010/03/19(金) 07:05:290070デフォルトの名無しさん
2010/03/19(金) 07:42:00しかし普及しているのでこれをメイン据えるのが良いと思う。
新規の言語開発するより低コスト。 仮に作ったところでPHP以下になる。
基本的には、C++のスクリプト板みたいな物だから少々手を加えればC++になる。
0071デフォルトの名無しさん
2010/03/19(金) 07:44:06デルファイの開発者が行ってた気がする。
パスカルは教育用と見なされていた。
しかしデルファイは、デルファイで書かれているらしい。
0072デフォルトの名無しさん
2010/03/19(金) 09:52:58もちろん嘘だから気にスンナ
0073デフォルトの名無しさん
2010/03/19(金) 11:06:231. 別の記号にしたい
2. 一行1命令
3. 1ブロック1命令
4. 予約語が来たらなんでも命令の区切り
5. 言語に冗長性を持たせて、構文的に命令の切れ目がわかる
0074デフォルトの名無しさん
2010/03/19(金) 12:39:420075デフォルトの名無しさん
2010/03/19(金) 12:47:07Forthそのものである必要は無いけど、低級でも良いから高速な言語というのならスタック指向がいいんじゃね?
0076デフォルトの名無しさん
2010/03/19(金) 12:47:45> Cに代わる低級言語ってことはポインタ触れるんだろうし
> GCも無いんだから、それでヒューマンエラー減らしたいつっても限界あるんでないの
それはお前の思考の限界だろ。まあ俺もそうだが。
どこかの頭の良い人間が解決するかもしれないし、もしかしたら既に解決しているかもしれない。
それを期待したい。
0077デフォルトの名無しさん
2010/03/19(金) 12:52:04そもそも、PHPでは速度以外の面でCの代わりはできないよ
0078デフォルトの名無しさん
2010/03/19(金) 14:40:48目くそ鼻くその類似スクリプト言語ばかり安易に量産してないで
これまでCが担ってきたOSやデバドラ開発の分野でも使える言語を
最新の言語研究成果を取り入れて新しく作れ
ということだ。
0079デフォルトの名無しさん
2010/03/19(金) 14:52:49Cの代わりがだめなら、プリプロセッサの代わりのcpphpをつくるんだ
<define id="NULL">0</define>
XMLが古臭くなるまで、これでしのげる
0080デフォルトの名無しさん
2010/03/19(金) 16:55:15つかねぇ。漠然としすぎて、どうしたらいいか迷走していると思うんだが。
このままだと埒明かないから、まず言語名と言語族を決めて言語仕様書いたほうがいいんじゃないか?
とりあえず名前から。
このスレが立てられたのは3/18なので、とりあえず言語名のヒントになりそうなもの
Wikipedia(3/18) : ttp://ja.wikipedia.org/wiki/3%E6%9C%8818%E6%97%A5
誕生花 : とさみずき、アネモネ、折鶴蘭、ハナミズキ、イワウチワ、フロックス、アスパラガス...など
誕生石 : アレキサンドライト、エマイユ、アクアマリン...など
0081デフォルトの名無しさん
2010/03/19(金) 18:32:280082デフォルトの名無しさん
2010/03/19(金) 19:34:250083デフォルトの名無しさん
2010/03/19(金) 19:39:22検索しにくい、発音しにくい、変なのはやめておいたほうがいいと思う。
ある意味でネーミングは駄洒落と連想ゲームなので、>>80の誕生花と
3月の旧暦(ttp://ja.wikipedia.org/wiki/3%E6%9C%88)を引っ掛けると、
3月 = 三月 = 花美月 = みづき → mizuki programming langage
とかなる。あとは接頭辞に適当なものを当てて
MInimum Z-layered Useful development Kit(最小Z層実用開発キット)
といった風になる(文法としては滅茶苦茶だけど)。
Zの意味は究極、最強、低級といったところかと。
0084デフォルトの名無しさん
2010/03/19(金) 19:43:240085デフォルトの名無しさん
2010/03/19(金) 19:45:330086デフォルトの名無しさん
2010/03/19(金) 20:09:360087デフォルトの名無しさん
2010/03/19(金) 20:25:180088デフォルトの名無しさん
2010/03/19(金) 20:55:520089デフォルトの名無しさん
2010/03/19(金) 21:00:53スピード重視というなら手続き重視・スタック重視・静的動作になるけど、どうするのよ?
>87
XMLはクソ。S式の方が100倍マシ。
0090デフォルトの名無しさん
2010/03/19(金) 21:04:23C#やjavaやPHPですら、
最適化されたネイティブアセンブラに翻訳出来ればC言語に勝る。
コンパイラの性能次第。
言語使用はすでにあるやつで良いだろう。
php c# ruby バイソン java c++使いやすいやつを受け継げよ。
0091デフォルトの名無しさん
2010/03/19(金) 21:04:44> スピード重視というなら手続き重視・スタック重視・静的動作になる
これは現在の最先端の人類の知識で最も確からしい帰結なの?
それとも単なる素人の妄想?
どっち?
0092デフォルトの名無しさん
2010/03/19(金) 21:06:16コンバートできる仕組みを作れば需要あるな。
出来るだけ簡易に記述が出来るなら。
0093デフォルトの名無しさん
2010/03/19(金) 21:06:52> 最適化されたネイティブアセンブラに翻訳出来ればC言語に勝る。
それでは、今なぜやらないのか?
できないからだ。
0094デフォルトの名無しさん
2010/03/19(金) 21:07:590095デフォルトの名無しさん
2010/03/19(金) 21:09:200096デフォルトの名無しさん
2010/03/19(金) 21:10:16マイクロソフトでは、C#からネイティブexe作り出すコンパイラ作ってる気がする。
Hiphop for phpはC++のコードはき出す。
0097デフォルトの名無しさん
2010/03/19(金) 21:13:41そもそも、Cに代わるものというところでは、速度意外に必要なことがあるだろ。
0098デフォルトの名無しさん
2010/03/19(金) 21:14:290099デフォルトの名無しさん
2010/03/19(金) 21:15:310100デフォルトの名無しさん
2010/03/19(金) 21:18:53いずれも言語は関係ないな
010189
2010/03/19(金) 21:19:00素人なんで最新の情報は追えてないけど、
・最新のCPUの動作は基本手続きだろ。関数型のCPUは見たことがないよ。
・メモリ確保・解放でスタックよりも軽いのも知らないなあ。
・動作時よりもソースコード時点でたくさんの情報があったほうが最適化しやすいだろ。
(もちろん、JITも併用した方がいいだろうけど)
じゃね?
0102デフォルトの名無しさん
2010/03/19(金) 21:21:36それとは別に、他言語(できるだけ言語を限定することなく、広く)との連携のしやすさは重視してほしい。
>>90
言ってること自体は正しいかもしれんが、そんな素晴らしいコンパイラを作る方法が現状見つかっていないからさてどうしましょう?って言っている段階。
>>87
XMLにするとどんないいことがある?
そもそもヘッダ自体が必要かどうか微妙なのに。
0103デフォルトの名無しさん
2010/03/19(金) 21:25:48DB、ファイルシステム、通信ドライバはC/C++で記述されてるだろ。
DB、ファイルアクセス、通信を使うような上位プログラムは
LLでもHaskellでもC#でも今時の烏合のRAD系言語を使えばいい。
0104デフォルトの名無しさん
2010/03/19(金) 21:26:46そのボトルネックになるところはCで書かれてますよ^^
0105デフォルトの名無しさん
2010/03/19(金) 21:37:45いつの時代も巨大ループや多重ループはボトルネックになる。
計算のオーダがたとえ多項式オーダでも2乗3乗となってくると、
1個1個の処理が少し軽くなるだけで高速化の成果を実感できるようになる。
>>89
スタック利用、動的な処理は最小限に抑えてコンパイル時実行できるものを増やすというのは、外せないよな。
関数型言語に関してはほとんど知らないんだけど、純粋関数と静的処理って極めて相性がいいんじゃないのか?
あと、クラッシュバンディクーってゲームの一部がLispでかかれてるってのは、そこそこ有名な話。
関数型言語で書いてコンパイラが手続き型に翻訳するってのは非現実的な話なのかなぁ?
エロい人教えて
0106デフォルトの名無しさん
2010/03/19(金) 21:39:24XMLは具体的で現実的
古臭いとかいう先入観で敬遠される可能性が低い
もちろん、ヘッダを無くす素晴らしい方法が具体的にあるなら、そのほうが良い
そもそも、古臭くても構わないというなら、今のCのままでも良い
0107デフォルトの名無しさん
2010/03/19(金) 21:42:38パフォーマンスは
ttp://shootout.alioth.debian.org/u32q/which-programming-languages-are-fastest.php
この辺を見ればいい
0108デフォルトの名無しさん
2010/03/19(金) 21:47:53関数型や論理型のようにある程度大雑把にこうしたいと指定してコンパイラに頑張ってもらった方が大抵は早くすることができるだろう。
ただ、大雑把な指定では致命的に遅いことが容易に指示できてしまうことが問題。
処理の99%を10000倍早くできても、残りの1%が1000倍遅くなったら、全体は10倍遅くなるからな。
(0.99 * T/10000 + 0.01 * T*1000 ≒ 10*T)
そのあたりのバランスを上手く取って生産性とパフォーマンスを両立出来る言語が欲しいところだ。
0109デフォルトの名無しさん
2010/03/19(金) 21:53:53俺は「低水準」が第一要求なのかと思ってたが
早い話が、ドライバやkernelのようなものが書けるということ
その方向性だと、また別物にならないか?
早い話が、少なくともメモリアドレスを隠蔽する程度に抽象度が高い言語では
ドライバは書けない
0110デフォルトの名無しさん
2010/03/19(金) 22:02:52目的を絞ろう。まずは、
「最新のプログラミング言語研究成果を取り入れたドライバやkernelを掛ける言語」
でいいだろう。
>早い話が、少なくともメモリアドレスを隠蔽する程度に抽象度が高い言語では
>ドライバは書けない
これは現在の最先端の人類の知識で最も確からしい帰結なの?
通常は隠蔽されていて、必要なときに実アドレスを取り出せるようになっていればいいのでは。
もちろん、隠蔽せずに生産性の高い、安全性の高い記述をする手法があれば越したことはないが。
0111デフォルトの名無しさん
2010/03/19(金) 22:12:24面倒をなくせばOK。
C# PHP HSPの関数や簡単な記述法を持ち込めばいい。
C++ωにしておくか。
0112デフォルトの名無しさん
2010/03/19(金) 22:15:580113デフォルトの名無しさん
2010/03/19(金) 22:16:38> 通常は隠蔽されていて、必要なときに実アドレスを取り出せるようになっていれば
> いいのでは。
.NETはまさにそういう仕様だが、ポインタはGC管理されているので、ロックないし
マーシャリングが発生する
低レベルなコードを扱うのだから、現存のCのobjやasmのコードと簡単に
協調できるようでなければならない
スレタイは「C/C++に代わる低級言語が開発したい」でしょ
それ以下で使われているのは現状アセンブリ言語しかないのだから、
C並に低級なことがC並に簡単にできるのでなければ、取って代われるはずは無いと
思うけど
0114デフォルトの名無しさん
2010/03/19(金) 22:18:43ただでさえ複雑なC++をこれ以上肥え太らせるって正気か
大体、GUI作成標準って、組み込み用途はどうすんだ
0115デフォルトの名無しさん
2010/03/19(金) 22:19:36それは簡単になっているとは言い難い。
それならc#使った方が良い。
STLとNETでかぶるってるしわかりにくい。
0116デフォルトの名無しさん
2010/03/19(金) 22:19:460117デフォルトの名無しさん
2010/03/19(金) 22:22:25複雑と思う仕組みは使わなければすむ。C++をC言語として使うことも可能。
その複雑な仕組みで開発されたPHPやRubyも複雑か?
便利な機能を取り込んで不要な機能を使わなければすむ。
0118デフォルトの名無しさん
2010/03/19(金) 22:24:19ttp://yosefk.com/c++fqa/defective.html
ここでも見ればいいんじゃないか?
Rubyは複雑性を(なるべく)隠蔽している
C++は複雑性のはらわたが丸出しだ
0119デフォルトの名無しさん
2010/03/19(金) 22:24:50C++がサーバーで動く標準なり、他所でも同じコードがそのまま動くようにする。
0120デフォルトの名無しさん
2010/03/19(金) 22:25:18> .NETはまさにそういう仕様だが、ポインタはGC管理されているので、ロックないし
> マーシャリングが発生する
だから、パフォーマンスの問題を解決できないのであればGCは使わない。
> 低レベルなコードを扱うのだから、現存のCのobjやasmのコードと簡単に
> 協調できるようでなければならない
そのとおり。そういうことができるような言語仕様にしよう。
> スレタイは「C/C++に代わる低級言語が開発したい」でしょ
> それ以下で使われているのは現状アセンブリ言語しかないのだから、
> C並に低級なことがC並に簡単にできるのでなければ、取って代われるはずは無いと
> 思うけど
だから、 そういうことができるような言語仕様にしよう。
そのときに、最新のプログラミング言語研究の成果を取り入れてCより生産性を上げたい。
0121デフォルトの名無しさん
2010/03/19(金) 22:27:12C++のコードのままでもそれは可能。
0122デフォルトの名無しさん
2010/03/19(金) 22:27:22はらわた丸出しで腹捩れるほど笑ったwwwwww
0123デフォルトの名無しさん
2010/03/19(金) 22:28:19「使わなければ済む」のであれば、constもassertもいらないんだよ。
何らかの強制的な制約がなければ必ず発生する。
0124デフォルトの名無しさん
2010/03/19(金) 22:41:26この30年の間に開発された手法を使ってより良いスマートな言語が作られてもいい頃だとは思う。
Cbネら尚更だ。
0125デフォルトの名無しさん
2010/03/19(金) 22:49:04作成してISOに提案してくれればいいよ。言語名はCleanC++で。
問題は彼らにそんな金も時間もなく、かつC++はまだ進化半ばであることだ。
0126デフォルトの名無しさん
2010/03/19(金) 22:52:52誰得のそんなものはいらないな。
0127デフォルトの名無しさん
2010/03/19(金) 23:45:260128デフォルトの名無しさん
2010/03/19(金) 23:56:520129デフォルトの名無しさん
2010/03/19(金) 23:57:350130デフォルトの名無しさん
2010/03/19(金) 23:58:480131デフォルトの名無しさん
2010/03/19(金) 23:59:150132デフォルトの名無しさん
2010/03/20(土) 00:00:05JavaScript は c より複雑じゃんwww
0133デフォルトの名無しさん
2010/03/20(土) 00:01:510134デフォルトの名無しさん
2010/03/20(土) 00:06:300135デフォルトの名無しさん
2010/03/20(土) 00:08:040136デフォルトの名無しさん
2010/03/20(土) 01:01:40つうか、そんなのはC++でカーネルが書けるのも一緒だが中間言語的役割を
果たすに過ぎないし、今でも作る気なら作れる。意味が無いだけでw
0137デフォルトの名無しさん
2010/03/20(土) 01:10:060138デフォルトの名無しさん
2010/03/20(土) 01:27:07アセンブラを高級言語に近づけた方がいいかもなw
0139デフォルトの名無しさん
2010/03/20(土) 01:28:560140デフォルトの名無しさん
2010/03/20(土) 01:54:160141デフォルトの名無しさん
2010/03/20(土) 02:19:540142デフォルトの名無しさん
2010/03/20(土) 02:29:120143デフォルトの名無しさん
2010/03/20(土) 02:32:22結果的に既存の何かに似ているものになるのかもしれないが、
はじめから既存の何かから始めるアプローチはとるべきじゃない。
先ずは先入観を持たずに、一から新しい言語を作る事を考えるんだ。
0144デフォルトの名無しさん
2010/03/20(土) 02:40:08その通り、だからCPU側からアプローチしようよw
高級言語からアプローチしても、OSを作れる(つうか問題なのはデバドラ)
レベルのものにはなるまい。ノイマン型が滅びるその日までw
0145デフォルトの名無しさん
2010/03/20(土) 03:02:54どうぞ別スレで行ってください。応援します。
0146デフォルトの名無しさん
2010/03/20(土) 03:16:24第N世代コンピューターでも作ってProlog++でも開発してろ。
0147143
2010/03/20(土) 03:23:450148デフォルトの名無しさん
2010/03/20(土) 03:24:460149デフォルトの名無しさん
2010/03/20(土) 04:25:30Cだと面倒なんだ
0150デフォルトの名無しさん
2010/03/20(土) 07:34:420151デフォルトの名無しさん
2010/03/20(土) 09:20:53Cをやってると、確かにいろいろな欠点、たとえば、マクロの仕様が適当だとか、staticの用途が複数あるとか、
プロトタイプ宣言がめんどくさいとか、関数のデフォルトがグローバルだとか、が目に付いて、もっと洗練された
高速な言語は作れないものかと考えてしまいがちなんだけれど、その辺を直してもしょせんは「亜流C」が
出来上がるだけで、それまでのCに慣れたプログラマが乗り換えるほどの価値のあるものにはならない。
この話は、「バイオリンは音は素晴らしいけれど、演奏の習得が大変なので、新しい技術を取り入れた
バイオリンを作ろう」っていう話に似ていて、結局こっちもうまくいかなくて(せいぜい、ピックアップをつけた
エレキバイオリンがある程度)、400年前の仕様のままで演奏している。仕様変更してもたいした効果が
ないので、放置ってわけだ。
LL言語なら速度を度外視して、配列のサイズチェックやら、継承やらなんやら好き勝手に盛り込めばいいけど、
それの真似をすればするほどCの哲学である、簡潔さ、高速さ、プログラマが書いたままに動くこと、から
遠ざかっていく。
というわけで結論:ムリ。
0152デフォルトの名無しさん
2010/03/20(土) 09:47:230153デフォルトの名無しさん
2010/03/20(土) 10:30:470154デフォルトの名無しさん
2010/03/20(土) 10:37:000155デフォルトの名無しさん
2010/03/20(土) 11:48:29それだと、C構文を持つ低級言語としてC--なんて言語もある。
ttp://www.goosee.com/cmm/
ttp://www.cs.utexas.edu/users/tbone/c--/
ttp://sourceforge.net/projects/c--/
ttp://c--sphinx.narod.ru/indexe.htm
さらにアセンブリ言語風の文法を持つトイ言語としてEcstasy/Yaalなんてのもある。
> EcstasyYaal is a programming language with low level assembly-like syntax. It differs in that it is designed to be toyed with without worry of damaging the system, while keeping some of the feel of writing assembly.
http://sourceforge.net/projects/ecstasy/
0156デフォルトの名無しさん
2010/03/20(土) 11:54:09ttp://tibleiz.net/zinc/
0157デフォルトの名無しさん
2010/03/20(土) 11:59:170158デフォルトの名無しさん
2010/03/20(土) 12:04:47Turbo Pascalはポインタもあるので、C並みのことはできるんじゃないか
0159デフォルトの名無しさん
2010/03/20(土) 12:14:16C並みっつうかIO制御もできたし、インラインアセンブラも書けたし衝撃だった。
「Pascalって凄い低級言語じゃねえか!」と勘違いするくらいw
0160デフォルトの名無しさん
2010/03/20(土) 12:48:22C++0xのlambdaは
http://ja.wikipedia.org/wiki/C%2B%2B0x#.E3.83.A9.E3.83.A0.E3.83.80.E9.96.A2.E6.95.B0.E3.81.A8.E3.83.A9.E3.83.A0.E3.83.80.E5.BC.8F
を読む限りでは
1. 環境はキャプチャできるが、キャプチャする変数を手動で指定する必要がある
(透過的ではない)、ふべん!
2. GC頼みの無限エクステントがあるわけではないので
変数をキャプチャする際に、コピーするか参照するか指定する
高機能!
3. スタック上の変数を(コピーではなく)参照しているクロージャを
戻り値としてリターンした場合の挙動は当然未定義
(upwards funarg problemってやつ)
4. 構文がキモいですが何か?
5. lambdaの型がとにかくキモくなるのでautoやfunctionテンプレート必須?
という感じのようですね
さすがC++です
0161デフォルトの名無しさん
2010/03/20(土) 16:04:06ある程度わかった上で、書いている。
ただ、その低級言語とやらを作る上での、最小の仕様を見つけるためにはそれが必要だと思っただけだ。
あと、Rubyってのは一例であって、別にRubyじゃなくても何でもいい。そもそも俺Rubyつかえねーし。
例えば、インタプリタ言語じゃOSどうやって起動するんだよ、ってのがまずある。
当然、ネイティブコードにコンパイル可能ってことは最低条件になるわなぁ。
(コンピュータサイエンス的意味でのできるできないじゃなく、現実的に実装可能という意味で)
で、じゃあRubyがネイティブコードにコンパイル可能になったとすれば、それでOSができんのか?まだ不十分だろ?
だったら、あとは何が必要か?って話がしたいわけ。
OSないとRuby動かねぇwwwはい論破wwwなんて話はどうでもいい。
0162デフォルトの名無しさん
2010/03/20(土) 16:05:560163デフォルトの名無しさん
2010/03/20(土) 16:38:04だからforth……smalltalkもほとんどOSだよな。
自分だけの知識が世界の全てだと思っちゃいかんよ。
それにOS開発が主目的じゃないだろ。
0164デフォルトの名無しさん
2010/03/20(土) 17:21:22現在の最高のプログラミング言語設計者を集めて
「OSを作るから最先端の研究成果活かしてプログラミング言語作ってよ」って頼んだだら
どういうプログライング言語を作るだろうか、って観点で考えてみるといい。
「XXがあるからいいじゃん」とか、「YYから乗り換えるほどの価値がどうのこうの」とかは、無意味。
そもそも前提が違う。そういうXX、YYが存在しない前提で考えたい。
0165デフォルトの名無しさん
2010/03/20(土) 17:30:00Cが無いプログラミングの世界なんて想像不可能です
0166デフォルトの名無しさん
2010/03/20(土) 17:30:340167デフォルトの名無しさん
2010/03/20(土) 17:31:290168デフォルトの名無しさん
2010/03/20(土) 17:46:540169デフォルトの名無しさん
2010/03/20(土) 17:53:03実物ができたためしがない。
0170デフォルトの名無しさん
2010/03/20(土) 17:55:480172デフォルトの名無しさん
2010/03/20(土) 18:13:26先入観なく考えうる最高の低級言語を考えればいいわけだから。
0173デフォルトの名無しさん
2010/03/20(土) 18:23:170174デフォルトの名無しさん
2010/03/20(土) 18:30:53そのとおり。
そこで、それは何であるかを明らかにし、
最新のやり方でCよりも優れたやり方でそれを実現したい。
0175デフォルトの名無しさん
2010/03/20(土) 18:48:50CないしC++で最低限何か成果物出してる人なんだよね?
GC言語しか使えない人間がなんとかして難しいと感じてる言語を回避しようとしてる
スレではなくて
0176デフォルトの名無しさん
2010/03/20(土) 19:05:12C/C++に代わる低級言語を開発したい意志があれば、是非意見を述べて欲しい。
0177デフォルトの名無しさん
2010/03/20(土) 19:08:570178デフォルトの名無しさん
2010/03/20(土) 19:09:550179デフォルトの名無しさん
2010/03/20(土) 19:22:01やれるもんならやってみろ。生暖かく見守っててやるよ。
0180デフォルトの名無しさん
2010/03/20(土) 19:42:37◎メモリなどのH/Wへの高速アクセス手段
◎軽量なフロー制御
◎アトミック処理
◎リアルタイム性
辺りは欲しいかねぇ。後半はC/C++にも無いけど。
他にはどんなのが必要かな?
0181デフォルトの名無しさん
2010/03/20(土) 19:49:31・マルチスレッド
・割り込み処理
・メモリ管理
・物理アドレス
ライブラリでの対応でもいいけど、その場合は、
もともと言語に備わっている機能とライブラリで提供される機能が区別なく使えるのが望ましい。
0182デフォルトの名無しさん
2010/03/20(土) 20:04:37その上で、あとから定義した機能がもともと言語に備わっている機能のように扱えるといいかも。
0183デフォルトの名無しさん
2010/03/20(土) 20:19:190184デフォルトの名無しさん
2010/03/20(土) 20:25:32やろうと思えばできるというだけではなく、効率的にできることが重要だから。
0185デフォルトの名無しさん
2010/03/20(土) 20:31:38効率的なって何言ってんだあんた
あんなもんで何一つ書けやしないよ
ためしにあれで電卓でもつくってみ。絶対つくれないと思うけど。
0186デフォルトの名無しさん
2010/03/20(土) 20:35:420187デフォルトの名無しさん
2010/03/20(土) 20:38:04絶対書けないから
0188デフォルトの名無しさん
2010/03/20(土) 21:36:20>>184に言うなよ。>>184はbrainfuckを肯定してないだろ。>>183に言え。
0189デフォルトの名無しさん
2010/03/20(土) 21:36:20ttp://www.unkar.org/read/pc11.2ch.net/tech/1177988460
0190デフォルトの名無しさん
2010/03/20(土) 22:17:010191デフォルトの名無しさん
2010/03/20(土) 22:25:300192デフォルトの名無しさん
2010/03/20(土) 22:28:350193デフォルトの名無しさん
2010/03/20(土) 22:28:51文字列型の演算、ヒープとGC、例外処理などは、ランタイムが必要
0194デフォルトの名無しさん
2010/03/20(土) 22:29:170195デフォルトの名無しさん
2010/03/20(土) 22:36:37何言ってんだこいつ
0196デフォルトの名無しさん
2010/03/20(土) 22:36:39一般的には低級言語はアセンブリ言語だけ。
Cは高級言語の中では低級よりなんで、低級と言ってるひとが
いてもいちいちつっこまないけど。
0197デフォルトの名無しさん
2010/03/20(土) 22:38:160198デフォルトの名無しさん
2010/03/20(土) 22:39:530199デフォルトの名無しさん
2010/03/20(土) 22:40:410200デフォルトの名無しさん
2010/03/20(土) 22:42:570201デフォルトの名無しさん
2010/03/20(土) 22:43:15便利にすると必然的にランタイムが必要になるってこと?
0202デフォルトの名無しさん
2010/03/20(土) 22:48:41でも、ランタイムが肥大化しないようにこの機能を使わないようにしましょうとかウザイことになるのも嫌だな。。
0203デフォルトの名無しさん
2010/03/20(土) 22:50:57そんなことは無いよ
ランタイムとして分割しておいた方がプログラムする側にとって都合がいいだけの話。
0204デフォルトの名無しさん
2010/03/20(土) 22:55:340205デフォルトの名無しさん
2010/03/20(土) 22:57:080206デフォルトの名無しさん
2010/03/20(土) 22:58:59マクロの代わりにtemplate
0207デフォルトの名無しさん
2010/03/20(土) 23:00:490208デフォルトの名無しさん
2010/03/20(土) 23:01:320209デフォルトの名無しさん
2010/03/20(土) 23:02:50なにそれ?
0210デフォルトの名無しさん
2010/03/20(土) 23:08:410211デフォルトの名無しさん
2010/03/20(土) 23:20:09ヒープの提供までのところは、ヒープを使わないような構文に制限するとか、
OS内部で使用するための特製のヒープを使うというのは原理的にはあり得るが、
スマートではない。
0212デフォルトの名無しさん
2010/03/20(土) 23:44:120213デフォルトの名無しさん
2010/03/21(日) 00:15:29それは、CとC++の関係と同じだね
むずかしそうだろ
0214デフォルトの名無しさん
2010/03/21(日) 00:20:550215デフォルトの名無しさん
2010/03/21(日) 00:29:07全てにおいて有用であることを実証しなければ、Cを置き換えることは無理
0216デフォルトの名無しさん
2010/03/21(日) 00:32:17そう。
C++を使ったとたんに、たとえ外部の関数を全くつかわなくてもそれなりの大きさのランタイムが必要になる。
それがどのようになっているかを考えると、OSの記述ができる言語というものの条件が分かってくると思う。
0217デフォルトの名無しさん
2010/03/21(日) 00:40:15まあ、それはその段階になったらやるから、今は言語仕様考えような。なっ。
0218デフォルトの名無しさん
2010/03/21(日) 00:44:050219デフォルトの名無しさん
2010/03/21(日) 00:46:010220デフォルトの名無しさん
2010/03/21(日) 00:46:27例えばnewを使っただけで内部関数を呼び出すコードになる。
0221デフォルトの名無しさん
2010/03/21(日) 00:50:160222デフォルトの名無しさん
2010/03/21(日) 00:57:04メモリ確保・解放を実際に行うoperator new関数とoperator delete関数を自分で定義すれば、
原理上、ランタイムへの依存は不要になる。
0223デフォルトの名無しさん
2010/03/21(日) 01:00:280224デフォルトの名無しさん
2010/03/21(日) 01:01:370225デフォルトの名無しさん
2010/03/21(日) 01:01:550226デフォルトの名無しさん
2010/03/21(日) 01:05:49OS作る場合の話してるんだけど
0227デフォルトの名無しさん
2010/03/21(日) 01:06:160228デフォルトの名無しさん
2010/03/21(日) 01:08:300229デフォルトの名無しさん
2010/03/21(日) 01:09:140230デフォルトの名無しさん
2010/03/21(日) 01:21:38そういうこと。
0231デフォルトの名無しさん
2010/03/21(日) 02:00:22実装者は別としてもそれを集約してまとめる人が必要だと思うな。
仕様が実現可能か判断できる能力も必要。特に文法設計が一番大変だと思う。
>>1にコンパイラを書く技術があるなら当然>>1がすべき。
0232デフォルトの名無しさん
2010/03/21(日) 02:17:56誰もまとめようとしていないんだし、とりあえずは与太話を続けようぜ。
0233デフォルトの名無しさん
2010/03/21(日) 03:04:540234デフォルトの名無しさん
2010/03/21(日) 03:09:380235デフォルトの名無しさん
2010/03/21(日) 03:11:220236デフォルトの名無しさん
2010/03/21(日) 03:13:01ということは、OOPが必須になりますね
0237デフォルトの名無しさん
2010/03/21(日) 03:13:360238デフォルトの名無しさん
2010/03/21(日) 03:19:08こんな進化が早い業界で40年前の言語が最適解なわけがない。
C99だとしても10年以上前だ。
現在の知識で一から言語設計すれば、Cよりもっと良い解が必ず存在する。
0239デフォルトの名無しさん
2010/03/21(日) 03:36:020240デフォルトの名無しさん
2010/03/21(日) 03:37:160241デフォルトの名無しさん
2010/03/21(日) 03:51:35OOなしでテンプレートあってもあまりうれしくない。
0242デフォルトの名無しさん
2010/03/21(日) 03:59:11テンプレートとOOの有無はあまり関係が無い
0243デフォルトの名無しさん
2010/03/21(日) 07:45:52で、例えばlinux kernelだとこれをC言語+キャスト+関数ポインタで実装しているから安全性が低くてかなり問題。
個人的には、これからは並列計算機の時代だしメッセージパッシングベースのオブジェクト指向言語でOSを
書いてみたい。
アドレスを直接操作する必要がある本当に低レベルな処理はOS全体の割合で見れば一部だから、それができることを
メインの仕様にする必要はないと思う。
高級な機能を制限して、低級な機能を開放するコンパイルオプションでもあればいいんじゃない?
0244デフォルトの名無しさん
2010/03/21(日) 09:39:47同様に、関数の多重定義も認めてほしいかも。
型付けは、どうせ動的型付けやら何でも入る変数やらは不適だろうから、静的な強い型付けでいいよね。
0245デフォルトの名無しさん
2010/03/21(日) 09:41:09それでいいんだったら、Cのインラインアセンブラみたいなノリで、既存コードに
__C{
...
}
でいいんじゃね?
0246デフォルトの名無しさん
2010/03/21(日) 10:33:45いま、最高のプログラミング言語研究者が新たに一から新しい言語を作るとしたらどういう言語を開発するか
という観点で考えて欲しい。
0247デフォルトの名無しさん
2010/03/21(日) 10:34:520248デフォルトの名無しさん
2010/03/21(日) 10:49:210249デフォルトの名無しさん
2010/03/21(日) 10:50:50だからvmみたいなのが出てくる必要があるのかな。
0250デフォルトの名無しさん
2010/03/21(日) 10:53:19またお前か
自分で考える気はないようだなw
0251デフォルトの名無しさん
2010/03/21(日) 11:01:06(0)まっさら→(1)OSのサポートなしでコンパイラ実装→(2)OS実装→(3)OSのサポートありでコンパイラ実装→(4)アプリケーション実装
(1)(3)を両立できる言語仕様がいいね。
0252デフォルトの名無しさん
2010/03/21(日) 11:58:56同意
あと、ラムダも欲しい。
0253デフォルトの名無しさん
2010/03/21(日) 12:07:54あなたのやっていることは既存言語という基礎を無視して新しい
言語作ろうとしているようなもの。どの分野でも先人の正負合わ
せた遺産から学ばずに無視すると失敗するよ。
それに永久脳内言語なんざ付き合うほうは迷惑なんで4/1までに
色々な言語調べて叩き台の言語仕様書または良質なベース言語を
用意しませう。
0254デフォルトの名無しさん
2010/03/21(日) 12:17:22トレンドは速度より安全性で、関数型言語とか強い型付き言語でOS書こうとする研究が多い。
0255デフォルトの名無しさん
2010/03/21(日) 13:41:450256デフォルトの名無しさん
2010/03/21(日) 13:57:23新しく言語を作るって研究はほとんどないね。JavaとかMLとかHaskellとか既存言語を使ってる。
日本だとFail-Safe Cとか有名。
でもこれは別にC言語の代替言語に需要がないといういう意味ではないよ。
CやC++と同レベルの物を作るってんじゃ研究ネタにならないから誰もやらないってだけ。
0257デフォルトの名無しさん
2010/03/21(日) 15:18:490258デフォルトの名無しさん
2010/03/21(日) 15:32:220259デフォルトの名無しさん
2010/03/21(日) 15:33:070260デフォルトの名無しさん
2010/03/21(日) 17:00:110261デフォルトの名無しさん
2010/03/21(日) 19:31:460262デフォルトの名無しさん
2010/03/21(日) 19:50:05研究者としてはw
0263デフォルトの名無しさん
2010/03/21(日) 19:56:510264デフォルトの名無しさん
2010/03/21(日) 20:15:120265デフォルトの名無しさん
2010/03/21(日) 20:33:27草案でもいいから、なにか出してみろよ
0266デフォルトの名無しさん
2010/03/21(日) 20:52:31面倒臭い思いしてまで草案なんて作るわけないだろ。
0267デフォルトの名無しさん
2010/03/21(日) 21:19:460268デフォルトの名無しさん
2010/03/21(日) 21:21:580269デフォルトの名無しさん
2010/03/21(日) 21:48:08他人がやってないと安心できない研究者ってダメだろw
0270デフォルトの名無しさん
2010/03/21(日) 22:23:590271デフォルトの名無しさん
2010/03/21(日) 22:39:45最新の言語研究の成果を取り入れたCに代わる低級言語を開発しよう。
0272デフォルトの名無しさん
2010/03/21(日) 22:51:240273デフォルトの名無しさん
2010/03/21(日) 23:07:05最新の言語研究の成果を取り入れた新しい低級言語を作るのだ。
既存言語との差は、言語仕様ができてからdiffをとれば分かる。
0274デフォルトの名無しさん
2010/03/21(日) 23:30:490275デフォルトの名無しさん
2010/03/21(日) 23:39:590276デフォルトの名無しさん
2010/03/21(日) 23:47:320277デフォルトの名無しさん
2010/03/21(日) 23:48:510278デフォルトの名無しさん
2010/03/22(月) 00:05:33実用を目指すなら、Matureなものから取捨選択だろ
0279デフォルトの名無しさん
2010/03/22(月) 00:10:300280デフォルトの名無しさん
2010/03/22(月) 00:25:100281デフォルトの名無しさん
2010/03/22(月) 00:39:17スレ立てる前に言語仕様草案を作っておいて、さらに議論進めながら
協力者募るって一切やってない時点で空中分解している。
>>275
「私は何もできません。中二病に羅漢したいです。だれかやってください。他力本願(はぁと)」
っつうくだらない自己弁明はうざいから、お前の言う最新の計算機言語学関連論文の
リソースちゃんと出してくれる? そうしないと一向に進まないんだが。
0282デフォルトの名無しさん
2010/03/22(月) 00:41:460283デフォルトの名無しさん
2010/03/22(月) 01:06:250284デフォルトの名無しさん
2010/03/22(月) 01:14:31○罹患(りかん)
0285デフォルトの名無しさん
2010/03/22(月) 01:15:310286デフォルトの名無しさん
2010/03/22(月) 01:16:330287デフォルトの名無しさん
2010/03/22(月) 01:18:410288デフォルトの名無しさん
2010/03/22(月) 01:22:390289デフォルトの名無しさん
2010/03/22(月) 01:24:190290デフォルトの名無しさん
2010/03/22(月) 01:30:19俺専用なんでいろんな縛りあるけど実用してる。
0291デフォルトの名無しさん
2010/03/22(月) 01:34:25が、単にVMで動作していたものが関数呼び出しに変わるだけでは全く意味はない。
必要なのは実用的にオーバーヘッドなく低レベルの処理を記述できることだ。
0292デフォルトの名無しさん
2010/03/22(月) 01:37:27コードがシンプルになる&どちらのプラットホームでも使えることを目的としてるし。
0293デフォルトの名無しさん
2010/03/22(月) 01:39:02langageって何語?
英単語では知らないけど、ドイツ語とかラテン語とかかな。
グーグルさんに「もしかして・・・」って指摘されないし。
0294デフォルトの名無しさん
2010/03/22(月) 01:41:43一方が他方より性能が優れるのであれば、他方が単に馬鹿なだけだ。
0295デフォルトの名無しさん
2010/03/22(月) 01:42:280296デフォルトの名無しさん
2010/03/22(月) 01:42:46languageじゃないの?
0297デフォルトの名無しさん
2010/03/22(月) 02:00:02コンパイル時間短縮のためにメタ関数の遅延実行とか
考慮するのが面倒なんです
0298デフォルトの名無しさん
2010/03/22(月) 02:04:11C/C++に代わる言語のコンパイラは、先ずはCで書くの?
0299デフォルトの名無しさん
2010/03/22(月) 02:04:37コンパイルオプションでヘボイバイナリを高速に吐いたり、高速・コンパクトなバイナリをじっくり生成したり、選べるならいい。
0300デフォルトの名無しさん
2010/03/22(月) 02:05:26好きにしろ。Cでもいいよ。
0301デフォルトの名無しさん
2010/03/22(月) 02:08:090302デフォルトの名無しさん
2010/03/22(月) 02:08:590303デフォルトの名無しさん
2010/03/22(月) 02:11:34何が不都合?
0304デフォルトの名無しさん
2010/03/22(月) 02:13:260305デフォルトの名無しさん
2010/03/22(月) 02:14:33どこかの一人の天才が先ず始めて、それからみんなでよってたかって作ればうまくいくよ。
0306デフォルトの名無しさん
2010/03/22(月) 02:16:520307デフォルトの名無しさん
2010/03/22(月) 02:22:240308デフォルトの名無しさん
2010/03/22(月) 02:23:410309デフォルトの名無しさん
2010/03/22(月) 02:30:380310デフォルトの名無しさん
2010/03/22(月) 02:31:140311デフォルトの名無しさん
2010/03/22(月) 02:31:58改良じゃない。
最新の言語研究の成果を取り入れた新しい低級言語を作るのだ。
0312デフォルトの名無しさん
2010/03/22(月) 02:32:47言葉遊びはいい。Cでできないなにを目的に新しい言語作りたいの?
0313デフォルトの名無しさん
2010/03/22(月) 02:34:48Cがあるのに、C++、C#、Java、F#、Haskell、OCaml、Ruby、Pythonが出てきているのと同じことだ。
0314デフォルトの名無しさん
2010/03/22(月) 02:37:07C++じゃだめなの?Javaじゃだめなの?
どこがだめだから違う言語がほしいの?
0315デフォルトの名無しさん
2010/03/22(月) 02:37:310316デフォルトの名無しさん
2010/03/22(月) 02:38:370317デフォルトの名無しさん
2010/03/22(月) 02:41:540318デフォルトの名無しさん
2010/03/22(月) 02:44:200319デフォルトの名無しさん
2010/03/22(月) 02:48:30最高の研究者を集めてOS開発用のプログラミング言語を作らせたらどんな言語を作るだろうか
という思考実験としても興味がある。
0320デフォルトの名無しさん
2010/03/22(月) 02:57:310321デフォルトの名無しさん
2010/03/22(月) 03:01:16俺も興味アリ
0322デフォルトの名無しさん
2010/03/22(月) 03:03:030323デフォルトの名無しさん
2010/03/22(月) 03:08:21低レベル記述、高パフォーマンス、可読性、簡潔さ、拡張性、学習の容易さ
とOOを保ちながら文法を整理するといってるみたいだが
文法の汚さって具体的にどこ?C++の部分?
0324デフォルトの名無しさん
2010/03/22(月) 03:18:10不満なCプログラマはほとんどいないだろ。
Cが全然使えません、って人なら新大陸欲しいのかもしれないけど。そんな奴が低水準
に触るのはぶっちゃけ無理だしスクリプト系で我慢しろと。重い安全装置付いてっから。
0325デフォルトの名無しさん
2010/03/22(月) 03:22:26それこそPythonあたりで簡単に作れるよ
そのセミコロン排除言語を使いこなすには、Cを使いこなす能力が必要だけどな
あと、改行で続けたい時はバックスラッシュな
あと、普通のCを読み書きしようとすると死ぬ、ってのも覚悟な
0326デフォルトの名無しさん
2010/03/22(月) 03:23:340327デフォルトの名無しさん
2010/03/22(月) 04:15:30環境に依存しないアセンブラが理想、それはCであり、究極的にはJavaなんだよ
それ以上もそれ以下も無い。車輪の再発明はやめろ
0328デフォルトの名無しさん
2010/03/22(月) 04:59:25Haskell 並みに強く型付けされた言語の安全性を両立したいなあ。
0329179
2010/03/22(月) 07:00:03>>319のバカが同じこと何度も(すくなくとも4度は)書いてるだけで。
Cの牙城がいまだに崩れないのはそれなりに理由があるんだよ。
0330デフォルトの名無しさん
2010/03/22(月) 07:03:18Cの資源も使えるし
0331デフォルトの名無しさん
2010/03/22(月) 07:12:41C#はCに見た目だけ似てるLL言語だってのは知ってるけど、そんなようなもん?
JAVAもそんなようなもんだし。
もしそうならCの代わりなんてとても務められないじゃん。
0332デフォルトの名無しさん
2010/03/22(月) 07:18:36ネイティブコンパイルなマルチパラダイム言語だよ
0333デフォルトの名無しさん
2010/03/22(月) 07:23:39おまえは「プログラムできないやつが適当に話を合わせるスレ」に帰れよ。
0334デフォルトの名無しさん
2010/03/22(月) 07:47:07>C#の文法は洗練されているが中間コードやGCを前提としているため致命的に遅い。
>LL系の言語さらに遅い。
Dは中間コードを吐かずネイティブコンパイルするので高速。
GCは備えてるが、malloc を使う事もできるので、GCの速度が気になるなら malloc を使えばいい。
>そこで、C/C++に代わるOSも作れるような低級プログラミング言語を開発したい。
GCさえ使わなければOSを作る事も可能。
>文法はCに似ている方が望ましいが、
>低レベル記述、高パフォーマンス、可読性、簡潔さ、拡張性、学習の容易さ
>を担保出来るなら、どんな形式でも構わない。
文法はCにある程度似ている。
C++は文法がコンパイラの作成の容易さを考えて作られてないため
構文解析が非常に大変で、コンパイルも遅いが、
Dはコンパイラの作成の容易さも考えて作られているため、
コンパイラも作りやすいし、コンパイルが高速になる。
インラインアセンブラも使えて、ネイティブコンパイルなのでパフォーマンスも高く、
(敢えて複雑な事をしなければ)可読性も高く簡潔で、
Cの資源も利用できるし、現代的な各種言語仕様を取り入れており、拡張性も高い。
やれる事が多いので、学習の容易さに関しては難はあるかもしれない。
>プログラミングパラダイムについても、オブジェクト指向を備えることが望ましいが
>生産性を高めることが出来るのであれば、他の方式が入っても構わない。
OOP、テンプレート、mix-in、プロパティ、GC、高度な条件コンパイル、契約、
連想配列、遅延評価、ローカル関数、ラムダ式、クロージャなど、
伝統的な方式から現代的な方式までかたっぱしから取り入れられている。
欠点は言語仕様が安定しないこと。これに尽きる。
古いソースは今のコンパイラでは大抵コンパイルできない。
逆に言うと、言語仕様が安定しさえすれば普及するかもしんない。
0335デフォルトの名無しさん
2010/03/22(月) 08:25:130336デフォルトの名無しさん
2010/03/22(月) 08:26:490337デフォルトの名無しさん
2010/03/22(月) 08:37:56言語仕様があっても、バイナリを生成するコンパイラが出来なければ、まさしく絵に書いた餅で終わるわけだが
コンパイラを作るにはCPUの詳細な知識が必須でしょ?そんなやついるの?
0338デフォルトの名無しさん
2010/03/22(月) 08:41:110339デフォルトの名無しさん
2010/03/22(月) 08:41:460340デフォルトの名無しさん
2010/03/22(月) 08:46:56味を想像する余地があって
0341デフォルトの名無しさん
2010/03/22(月) 09:01:28移植するにしても、Cと似てない構文なら大変そうだし、Cからの単純移植ならそれは新言語の特性を生かさないという意味では
0342デフォルトの名無しさん
2010/03/22(月) 09:10:24特に帰ることもないだろう
0343デフォルトの名無しさん
2010/03/22(月) 09:10:310344335
2010/03/22(月) 09:15:11すごく面白い発想の言語なら作りたい人が現れるかもしれません。
とりあえず
・手続き型+OO+テンプレートのマルチパラダイム
・バイトコード無し・VM無し・GC無し
という意見が多そうですが、ここは固定でいいですか?
0345デフォルトの名無しさん
2010/03/22(月) 09:20:15mix-in in
で
0346デフォルトの名無しさん
2010/03/22(月) 09:25:01ガベージコレクションがあるか無いかは言語の文法とは別な気はするが。
PHPをGCなしでコンパイル使用とすれば出来る
C言語をGCありのスクリプトにも出来る。
0347デフォルトの名無しさん
2010/03/22(月) 09:25:420348デフォルトの名無しさん
2010/03/22(月) 09:26:32ある程度のシェアとれる見込みはあったのか。起動だけ出来れば良かったのか。
0349デフォルトの名無しさん
2010/03/22(月) 09:44:210350デフォルトの名無しさん
2010/03/22(月) 09:56:430351デフォルトの名無しさん
2010/03/22(月) 09:59:26言語名はd--か。
0352デフォルトの名無しさん
2010/03/22(月) 10:00:11なんだこれ
0353355
2010/03/22(月) 10:31:36手間はとりあえず無視しますか。技術的に可能ならOKということで。
>>351
このままだと劣化C++になりそうですね。つまらないですね。
VMの有無に関して意見ないですか?
自分は今時ネイティブコンパイルとか古臭いと思っているのですが、みなさんどう思いますか?
0354デフォルトの名無しさん
2010/03/22(月) 10:33:43ネイティブコンパイル一択だろ
0355デフォルトの名無しさん
2010/03/22(月) 10:39:340356デフォルトの名無しさん
2010/03/22(月) 10:46:240357デフォルトの名無しさん
2010/03/22(月) 10:48:01結局Cにはかなわないと結論づけてる文に
どれだけの価値があるのか
0358デフォルトの名無しさん
2010/03/22(月) 10:49:54そもそもC言語ですら、低水準言語の定義には当てはまらないじゃないですか。
インラインアセンブリを使わないと書けない処理とかあるわけですから。
ネイティブコンパイルでも良いと思うんですが、OSが書けりゃいいんだし、
安全性や高速化という観点で検討してみてもいいかとは思います。
ただの問題提起です。
0359デフォルトの名無しさん
2010/03/22(月) 10:50:590360デフォルトの名無しさん
2010/03/22(月) 10:52:15C++で書かれたOSの例を挙げてみろ
0361デフォルトの名無しさん
2010/03/22(月) 10:52:530362デフォルトの名無しさん
2010/03/22(月) 10:53:540363デフォルトの名無しさん
2010/03/22(月) 10:55:530364デフォルトの名無しさん
2010/03/22(月) 10:58:51OSの話とは思わない罠
0365デフォルトの名無しさん
2010/03/22(月) 11:00:220366デフォルトの名無しさん
2010/03/22(月) 11:00:26サブルーチン一択にする?コルーチンもOKにする?それともForthみたいにユーザーが駆動レコードを弄れるようにする?
新しいフレームを作らない手続きとかも欲しいなぁ。
というかForthやろうぜ。
0367デフォルトの名無しさん
2010/03/22(月) 11:00:44ライブラリで十分か
0368デフォルトの名無しさん
2010/03/22(月) 11:16:35C++のclassとは別の枠組みで実装の特殊化ができる
後は、エンディアンやアラインメント指定のコンパイラ標準サポートとか
0369デフォルトの名無しさん
2010/03/22(月) 11:22:37中間言語使わずにやるのは夢物語だな
0370デフォルトの名無しさん
2010/03/22(月) 11:24:53D言語のversion構文で十分
エンディアンによるversion分岐も標準でサポート
>アライメント
D言語のalign属性で十分
0371デフォルトの名無しさん
2010/03/22(月) 11:29:360372デフォルトの名無しさん
2010/03/22(月) 11:31:59ゲーム機や組み込み機などの省資源では足かせになりそうだ。
0373デフォルトの名無しさん
2010/03/22(月) 11:36:39そうか、そういうのはDから輸入すればいいな
ただしエンディアンについてはversionで分けるだけでなく
同一記述から、指定したエンディアン用のコードが生成できる必要があると思うが
そういうのもDは可能?
0374デフォルトの名無しさん
2010/03/22(月) 11:37:210375デフォルトの名無しさん
2010/03/22(月) 11:39:52流石にそういうのはないかなあ
まあそういうクラスを作れば可能だろうけど
0376335
2010/03/22(月) 11:41:39スレの内容的にツッコミどころあるとすれば
最新の言語研究成果を使いたい(?)
→ D言語は成熟した・古い技術しか使っていない
超高速にしたい
→ D言語は高速化に重点を置いた言語仕様ではない。最適化が効かない。
くらいでしょうか。
0377デフォルトの名無しさん
2010/03/22(月) 11:41:400378デフォルトの名無しさん
2010/03/22(月) 11:42:410379デフォルトの名無しさん
2010/03/22(月) 11:46:29入れてくれることもあるで
0380335
2010/03/22(月) 11:49:12例えば、JITや自動並列化などでしょうか?技術自体は古いですが、まだ広まっていはいないですね。
高速化以外だと、モデル検査による安全性の検証とかですかね。
0381デフォルトの名無しさん
2010/03/22(月) 11:54:23OS記述するとき、それらはどうなる
0382デフォルトの名無しさん
2010/03/22(月) 12:03:05自動並列化は面白いが、基本的にOSあってのものだよね
モデル検査とか一般的なプログラムで適用可能なんだろうか?
安全性に関してはDの契約が現実的な解な気がする
0383335
2010/03/22(月) 12:08:11後者の場合、例えば
デバイスドライバなどのOSのモジュールが満たすべき要件を記述したファイルを用意しておいて、
ユーザのプログラムがそれを満たしているかコンパイル時に検査することで、安全性の高いOS開発ができる
といった使い方が提案がされています。
JITの場合は
OSの最下層にJITを組み込んだランタイムを用意して、OS本体やユーザアプリケーションはバイトコードの形式にし、
それをJITコンパイルして実行
という形が考えられます。高速化は期待できますね。
でもこれは、言語設計に制約は課さないから今考えなくてもいいかも知れません。
自動並列化の場合は言語設計が重要です。C・C++・Dの様な言語では困難な技術です。
0384デフォルトの名無しさん
2010/03/22(月) 12:18:350385335
2010/03/22(月) 12:48:57低レベルな処理を記述できる言語機能を持たせればいいのでは?
0386デフォルトの名無しさん
2010/03/22(月) 12:53:540387335
2010/03/22(月) 12:59:59JITサポートのある言語をネイティブコードに(ry
GCとかとなれば話は別ですけれども。
0388デフォルトの名無しさん
2010/03/22(月) 13:04:04既存のコードやライブラリが流用できるなら
OSごと入れ替える価値はあるなぁ
ネットワーク上の別マシンのリソースもローカルのコアも意識せずに扱えるとか
んで、リソース配分はJITでとか、夢が広がりまくりですな
0389デフォルトの名無しさん
2010/03/22(月) 16:35:46ただ技術的に新しいことやりたいって自己満足に過ぎないわ
0390デフォルトの名無しさん
2010/03/22(月) 18:22:26ちょっと前に流行ったカンスーガタとかを含めるのは難しいかな。
0391デフォルトの名無しさん
2010/03/22(月) 19:19:440392デフォルトの名無しさん
2010/03/22(月) 19:38:310393デフォルトの名無しさん
2010/03/22(月) 19:50:220394デフォルトの名無しさん
2010/03/22(月) 19:53:550395デフォルトの名無しさん
2010/03/22(月) 19:54:510396デフォルトの名無しさん
2010/03/22(月) 19:56:300397デフォルトの名無しさん
2010/03/22(月) 19:57:24同意。
0398デフォルトの名無しさん
2010/03/22(月) 20:02:16仕様が安定すれば、もう少し有名になるんじゃないか?
いや最近のD言語まわりの事情を知らんのだけれど
0399デフォルトの名無しさん
2010/03/22(月) 20:04:050400デフォルトの名無しさん
2010/03/22(月) 20:07:260401デフォルトの名無しさん
2010/03/22(月) 20:08:050402デフォルトの名無しさん
2010/03/22(月) 20:09:010403デフォルトの名無しさん
2010/03/22(月) 20:10:000404デフォルトの名無しさん
2010/03/22(月) 20:12:420405デフォルトの名無しさん
2010/03/22(月) 20:13:070406デフォルトの名無しさん
2010/03/22(月) 20:13:110407デフォルトの名無しさん
2010/03/22(月) 20:13:360408デフォルトの名無しさん
2010/03/22(月) 20:16:17構文解析が楽になるよう言語仕様を決めてるから
コンパイラを作るのはC++に比べて格段に楽らしい
0409デフォルトの名無しさん
2010/03/22(月) 20:19:41>>407の言うように言語仕様は小さくて拡張性の高い言語にするのがいいだろうな。
0410デフォルトの名無しさん
2010/03/22(月) 20:20:48進化に付いていけない奴はこのバスから降りるしかない
0411デフォルトの名無しさん
2010/03/22(月) 20:23:390412デフォルトの名無しさん
2010/03/22(月) 20:25:290413デフォルトの名無しさん
2010/03/22(月) 20:25:290414デフォルトの名無しさん
2010/03/22(月) 20:30:350415デフォルトの名無しさん
2010/03/22(月) 20:32:33要するにカス
0416デフォルトの名無しさん
2010/03/22(月) 20:33:45十分とかそう言うのは関係なくて、
いま1から言語を作れといったらCにならないだろ。
40年前ならCになった。
じゃあ、今ならどうなるの?って話。
0417デフォルトの名無しさん
2010/03/22(月) 20:35:15優位論に近いんかな?
正直あれはそんなうまく行くとは思わないんだけどな。Crusoe的な直線番長になる
だけだと思うが。立ち上がりは確実に悪いし、立ち上がりで作業が終わってしまう。
動的にやる分のコストもタダじゃない。MTで振り分ける手もあるかもしれないが、
MTならば並列化手法との比較優位が見えないと微妙。
不透明な動的コストが果たして低水準処理と相性がいいのかどうか。不透明な動的
コストといえばGCを思い出すが、原理的にはあれよりは扱いやすいかもしれないが。
そもそも低水準を触る理由は、速さが欲しいだけなのか、生じゃないと困るのか。
後者ならVMは論外。というか、VM路線がどうもうまく行かなくて後退してるのが
最近の流れだと思うが。VMと相性良さそうな携帯電話ですら。
つーかVMでいいならScalaでいいんじゃねーの。JavaVMはVMとしちゃ相当速いし。
0418デフォルトの名無しさん
2010/03/22(月) 20:37:480419デフォルトの名無しさん
2010/03/22(月) 20:42:01→Dになります
0420デフォルトの名無しさん
2010/03/22(月) 20:42:500421デフォルトの名無しさん
2010/03/22(月) 20:44:570422デフォルトの名無しさん
2010/03/22(月) 20:49:29・Lispなみに弄くれるマクロ
- テンプレート
- 正規化された構文(S式とか)
・Forthなみに弄くれる駆動レコード
- コルーチン
- 強制インライン展開(レコードを新しく作らないルーチン)
- 駆動レコードへのアクセス
・実行制御
- 高度な並列処理(トランザクションとか)
- アトミック操作
- リアルタイム操作
こんなもんかね? 他にどんなの欲しい?
0423デフォルトの名無しさん
2010/03/22(月) 20:51:04>・Lispなみに弄くれるマクロ
これいいなぁ(゚A゚;)ゴクリ
0424デフォルトの名無しさん
2010/03/22(月) 20:52:510425デフォルトの名無しさん
2010/03/22(月) 20:53:280426デフォルトの名無しさん
2010/03/22(月) 20:59:04CGありのCは需要がありそうだけど、
deleteだかfreeだかやらないといけないPHPなんてだれも使わなそう。
0427デフォルトの名無しさん
2010/03/22(月) 21:00:08それより、パフォーマンスだの可読性だのと一気に全て求める辺り
なんか>>1が言語の開発の何たるかを知らん臭い。
下記サイトでyacc/lexの勉強汁。
ttp://kmaebashi.com/programmer/devlang/index.html
つうか、じつは俺様もyaccの解説を幾ら読んでもチンプンカンプンだから、
そんとこを解るまで御教示願いたいと常々思ってるんだけどな。
解れば自分で勝手に好きな言語作ってシコシコする。
0428デフォルトの名無しさん
2010/03/22(月) 21:02:41それはスレタイの時点で既に
0429デフォルトの名無しさん
2010/03/22(月) 21:05:350430デフォルトの名無しさん
2010/03/22(月) 21:08:34・マルチスレッド
機能としてはライブラリでの提供でいいけど、構文としても備えていて欲しいな。
0431デフォルトの名無しさん
2010/03/22(月) 21:45:56トランスレータ形式での実装限定になるかもしれないがインラインアセンブリは当然としてインラインC/C++欲しいところです。
これによりライブラリラッパーが書きやすくなり、既存の資産を僅かな修正で活用できるかと。
さらに標準型(predefined-type)は少なく可読性に優れた文法のほうがいいですね。
0432デフォルトの名無しさん
2010/03/22(月) 21:49:510433デフォルトの名無しさん
2010/03/22(月) 21:51:28じつに馬鹿だな君は
0434デフォルトの名無しさん
2010/03/22(月) 22:24:000435デフォルトの名無しさん
2010/03/22(月) 22:41:240436335
2010/03/22(月) 22:53:32今帰ってきた処で何も具体的な物は作ってません(--;
自分の分かる範囲で意見を書きます。
>>389
新しい事考えないと自分のモチベーションが維持できないので・・。確かに自己満足です。
>>390
手続き型言語に関数オブジェクトを追加という意味なら容易です。
関数型言語にするという意味なら、型システムの健全性(コンパイル可能ならプログラムは正しい)を保つのが大変そうです。でも面白そうですね。
>>406
ダイナミックスコープならGC無しでも可能だと思います。
レキシカルスコープなら、ヒープに確保した自由変数を解放する必要があります。GCがあった方が楽ではあるでしょう。
>>409
小さい仕様のコアを実装して、強力なメタプログラミング機能をつけるという感じでしょうか。
>>417
適材適所の一言に付きます。個人的にJITを推す理由を書きます。
- OS等の整数系プログラムの場合はAOTでは不可能な分岐除去が劇的に効く
- キャッシュ最適化はJITが遙かに優位
- ランタイムをOS組み込みにするならば、起動オーバヘッドは削減出来る。
- GCCがLLVMを取り入れたように、むしろ今のトレンドなのでは(自信ない)
>>422
LISPマクロいいですね。Forth面白いですね。
トランザクションは低級言語では難しそうですね。VM作ってSTMを実装ということになると思いますが、一部のプログラムを覗いて激しく遅いという噂です。
>>424
データ構造・ループ構文ももちろんですが、ポインタをどうにかする必要がありますね。
0437409
2010/03/22(月) 23:12:31>小さい仕様のコアを実装して、強力なメタプログラミング機能をつけるという感じでしょうか。
そうだねー。
それと、”標準ライブラリ”が必要だろうから、それを見据えたメタプログラミング機能かな。
0438デフォルトの名無しさん
2010/03/22(月) 23:15:36繰り返しの話になってる気がするんだが、
「速度が欲しいんじゃなくて、低水準をほとんど生で触りたい」っつー需要については
守備範囲外だから引き続きC/C++を使っててください、ってことでいいのね?
その場合、低水準に触れるメリットは全く無く、C/C++に匹敵する速度、だけが売りに
なる訳だけど、そうするとScala辺りでいいんじゃないの、ってのはどうなのよ。
あと、VMの起動が重いなんて話じゃなく、アプリの中身のコードの立ち上がりが重い。
トレンドについては、実験ネタとして流行ってるが、どれも実験してるだけに見える。
まぁ、成功の見込みがそもそも無いと思うから、好きに実験すればいい気もする。
つーかこのネタについては建設的意見を全く持ち合わせてないから、この辺にしとく。
一応頑張れ。
0439デフォルトの名無しさん
2010/03/22(月) 23:27:07最高の研究者を集めてCPUを作らせたらどんなCPUを作るだろうか
という思考実験にはなぜ興味がないのだろうか
CPUに興味がないのと同様に、言語にも興味がなくなるように仕向けることは
できないだろうか
0440335
2010/03/22(月) 23:38:01JITは言語バックエンドの話で、バックエンドは場合に応じて選択可能ですから「速度」と「低水準」を両立する事は可能だと思います。
「低水準を生で触る」という需要も満たせるように考えましょう。
というか、今JITの有無にこだわっても言語仕様には影響ないから意味なかったですね。すいません。
>>439
>>319は私ではありません。
0441デフォルトの名無しさん
2010/03/22(月) 23:42:41> 最高の研究者を集めてCPUを作らせたらどんなCPUを作るだろうか
> という思考実験にはなぜ興味がないのだろうか
興味あるけど、スレ違いだから別のスレッドでやってね^^
応援するよ^^
0442デフォルトの名無しさん
2010/03/22(月) 23:47:000443デフォルトの名無しさん
2010/03/23(火) 01:00:01気概を持った人が少ないよ。いつから日本人はこんなに自信を失ってしまったんだ。
ガイジンが作ったものに飼い慣らされるな!
俺?気概も自信もあるわけないじゃないですか(^q^)
0444デフォルトの名無しさん
2010/03/23(火) 01:03:03\ ノ´⌒ヽ,, /
γ⌒´ ヽ,
\ // ""⌒⌒\ ) /
i / ⌒ ⌒ ヽ )
\ !゙ (・ )` ´( ・) i/ /
| (__人_) |
\ `ー' / <トラスト・ミー
/ノ⌒) 、、、、ヽ
______ ∈ 彡彡 } ________
~`ー┬―┬――"
``` ```
殺伐としたスレにポッポちゃんが現れ2get!!
0445デフォルトの名無しさん
2010/03/23(火) 01:31:140446デフォルトの名無しさん
2010/03/23(火) 01:57:03作っても意味の無い物を作ろうとする気概なら無くていい
0447335
2010/03/23(火) 02:01:18例えばポインタ型変数は標準として提供すべきでしょうか?
0448デフォルトの名無しさん
2010/03/23(火) 02:04:420449335
2010/03/23(火) 02:05:420450デフォルトの名無しさん
2010/03/23(火) 02:15:310451デフォルトの名無しさん
2010/03/23(火) 02:22:39「低水準を生で触る」ときパフォーマンスも要求されることが多いだろうから、
拡張仕様とすることによるオーバヘッド(実行時間が増える、記述の複雑になるなど)がない(or許容出来る程度に小さい)なら、拡張仕様でいいと思う。
そうでないなら、標準として提供すべきだろうね。
0452335
2010/03/23(火) 02:23:28拡張機能として提供して普段は制限するのかという話です。
0453デフォルトの名無しさん
2010/03/23(火) 02:25:580455デフォルトの名無しさん
2010/03/23(火) 02:29:25コンパイルオプションでON/OFFするのは美しくないので、制限するにしてもソース中で解除出来た方がいいんじゃないかなー。
コンパイラがワーニング出すのはアリだと思うけど。
0456デフォルトの名無しさん
2010/03/23(火) 02:31:320457デフォルトの名無しさん
2010/03/23(火) 02:33:550458デフォルトの名無しさん
2010/03/23(火) 02:57:170459デフォルトの名無しさん
2010/03/23(火) 03:58:15C/C++は本当に必要に迫られるまで触りたくない
0460デフォルトの名無しさん
2010/03/23(火) 04:05:37文法覚えて使おうと本気で思ってる人居るの?
どう考えても集団オナヌーだと思うけどな。
C言語のココが気に入らねーって話なら解る。
あと俺様の希望は、低機能で良いから数KByteのRAMでも動く
マイコン用のC言語インタプリタ。SilentC最高。
0461デフォルトの名無しさん
2010/03/23(火) 06:38:050462デフォルトの名無しさん
2010/03/23(火) 10:37:43普通の言語は類似品が乱立し競争にさらされ努力しています。
しかしC言語には競争相手がいません。C言語は努力が足りません。C言語は甘え。
なのでC言語が気に入らねーです。
0463デフォルトの名無しさん
2010/03/23(火) 10:51:18ttp://en.wikipedia.org/wiki/Cyclone_(programming_language)
0464デフォルトの名無しさん
2010/03/23(火) 11:48:50ttp://ooc-lang.org/
0465デフォルトの名無しさん
2010/03/23(火) 11:59:04CプリプロセッサもC言語へのトランスレータの一種
0466デフォルトの名無しさん
2010/03/23(火) 13:06:12最強を批判したところで最強にはなれんのだぞ
計画倒れどころか計画すらフワフワしてて論外だし
どうしてもと言うのなら、とりあえずその理想の言語っつーやつを開発して持ってこいよ
0467デフォルトの名無しさん
2010/03/23(火) 13:27:42偶然ではいけない、必然でないといけない、っていうのは宗教に近いが、
本人達は宗教だとは思っていないだろう。
0468デフォルトの名無しさん
2010/03/23(火) 13:43:040469デフォルトの名無しさん
2010/03/23(火) 13:51:410470デフォルトの名無しさん
2010/03/23(火) 15:11:093億当たったらどうするみたいな話してる時に、
まず当ててみろとか、詳細な使途を書けとか、
コミュ障害でもなけりゃそんな水差さないだろ普通。
0471デフォルトの名無しさん
2010/03/23(火) 15:13:31そんな途方もないことなわけ?w
やっぱC/C++はすげーな
0472デフォルトの名無しさん
2010/03/23(火) 15:24:070473デフォルトの名無しさん
2010/03/23(火) 15:36:510474デフォルトの名無しさん
2010/03/23(火) 16:19:390475デフォルトの名無しさん
2010/03/23(火) 16:21:110476デフォルトの名無しさん
2010/03/23(火) 16:22:150477デフォルトの名無しさん
2010/03/23(火) 16:26:06馬鹿がC批判して偉そうにしてるだけ
逆にいえば、Cを批判して優越感に浸ると言う意味では、有意義かもしれないねw
0478デフォルトの名無しさん
2010/03/23(火) 16:31:43無駄な物、無駄な時間、無駄話があってもいいと思うのだけどw
神経質にやってるとハゲるよ
0479デフォルトの名無しさん
2010/03/23(火) 16:34:00無意味なものは存在してはならない。
0480デフォルトの名無しさん
2010/03/23(火) 16:34:20無駄ならいいじゃん。煽りだって無駄だろ?
0481デフォルトの名無しさん
2010/03/23(火) 16:39:25言っても分からないだろうからとっとと黙っとけよw
0482デフォルトの名無しさん
2010/03/23(火) 16:41:12「無駄な話してんのにツッコミいれんな!」ってかw
糞スレを正論で荒らされて発狂とかレベル低すぎ
0483デフォルトの名無しさん
2010/03/23(火) 16:51:520484デフォルトの名無しさん
2010/03/23(火) 16:55:110485デフォルトの名無しさん
2010/03/23(火) 17:49:11x86マクロアセンブラに、まるで新言語みたいな物量のマクロを定義すれば完成
で、以降はマクロアセンブラ製品の選定と、実際のマクロ内容の案出し
あと、その実際にマクロで記述した際に何か気づきがあればそれを列挙して、
そこから言語案出発でどうよ
0486デフォルトの名無しさん
2010/03/23(火) 18:01:43.NETのバイトコードのコンパイラを作るんだ
0487デフォルトの名無しさん
2010/03/23(火) 18:07:47C++/CLIは、それなりに要望を満たしてるよ。
汚いといわれるC++の拡張であることと、MS製なんでアンチがわくという問題があるけどな。
0488デフォルトの名無しさん
2010/03/23(火) 18:16:16>>485
マクロ名:STACKMAN
アドレス位置と長さを記録してるテーブルがあって、
主に関数呼び出し時のポインタPUSH/POPと引数の受け渡し、やローカル一時領域の確保に使う
またその際の記録(いわゆるポインタのポインタみたいな簡単な管理)をする
マクロ名:MEMORYMAN
仮想領域の確保を行うもっとも基本のマクロ。STACKMANもこれを使っている
アドレスのポインタ(レジスタに直入れする値)とサイズを持っていて、再確保の管理をする定型処理
マクロ名:PROCMAN
なんらかの引数と戻り値のポインタをレジスタに渡す為のポインタを管理する
ルーチンの呼び出し、プロシージャコールの原初的な実装
一番簡単な基礎がまずこれで‥ あとI/O関係はDOS/V関係の約束や仕様調べないとわかんね
0489デフォルトの名無しさん
2010/03/23(火) 18:18:20機会があればSoftintegration(国内代理店はラクネシー)が開発した
CインタプリタとしてChというのがあるから触ってみたら?
無償版あり。
>>484
直接的なハードウェアアクセス用ライブラリがあるなら大抵の言語では可能。
>>485
マクロでは保守面倒そう...。初期段階ではC以外のスクリプト言語を使って
foobar -> Cトランスレータとして実装したほうがいいと思う。
あと俺も今やっているFLOSS翻訳終わっていたら、
仕様調停役担当してもいいんですが事情と物量が邪魔して中断不可能な仕様。
0490デフォルトの名無しさん
2010/03/23(火) 23:35:180491デフォルトの名無しさん
2010/03/24(水) 00:08:200492デフォルトの名無しさん
2010/03/24(水) 00:15:520493デフォルトの名無しさん
2010/03/24(水) 00:17:150494デフォルトの名無しさん
2010/03/24(水) 00:46:20その結果できたのが、ItaniumやらCrusoeやら。そいつらがどうなったかは、ご存知の通り。
0495デフォルトの名無しさん
2010/03/24(水) 01:06:04構文中のキーワードで文法自体を制御するってのはいささか気持ち悪さを感じるなぁ。
それにC/C++でも、ポインタは使わざるをえないから使ってるだけで、うっかり間違って使っちゃったってのはあんまりない気がする。
C++の参照のようにポインタを覆い隠す存在も用意していること、それを利用し大抵の操作はポインタなしで行えることは必要。
(Cのように、ポインタどうでもいいのにポインタを使わざるをえない場面というのは避けたい。もう、ポインタ使うのはポインタ用モジュールにまとめちゃっていいかも)
ポインタをどう隠そうと、その背後にメモリとメモリアドレスがあることは避けようがないことだし、
LLとかだとポインタを覆い隠して「同値性と同一性」とか「変更可能な型と変更不能な型」とかいろいろ頑張ってるけど
Cやってる人から見たら、ようはポインタなんだけど言語からポインタを消すために無理してるようにしか見えない。
高級言語ではそれでもポインタを覆い隠すことに意味があるんだけど、低級言語ではそんなことする意味はない。
0496デフォルトの名無しさん
2010/03/24(水) 01:17:42他のやり方はないのかな。
0497デフォルトの名無しさん
2010/03/24(水) 02:17:520498デフォルトの名無しさん
2010/03/24(水) 02:43:07低級言語ではないのか?そこは「何らかの言語によるライブラリ」に任せるってのなら主題自体があまり意味が無い気が…
0499デフォルトの名無しさん
2010/03/24(水) 04:59:21意味ないに決まってんだろ。
このスレ見て他にどう思えるんだよ。
なんか語り口が乱暴でスマンけど。
0500デフォルトの名無しさん
2010/03/24(水) 05:05:080501デフォルトの名無しさん
2010/03/24(水) 05:18:16DMR, Ken Thompson, Brian Kernighanらは神
おまいらヒゲが足らねえんだよ
0502デフォルトの名無しさん
2010/03/24(水) 07:40:52絶対アドレスへのアクセスをポインターよりももっと良いやり方があれば採用したい、ということだろう。
0503デフォルトの名無しさん
2010/03/24(水) 10:06:43LISPマシン再来?
0504デフォルトの名無しさん
2010/03/24(水) 12:53:24ICI言語の隠しページである
> Hey Kids! "Use ICI. It's good for your hair."
(やあボウヤ! ICIを使おう。こいつは髪(ヒゲ?)にいい(育毛剤ではなくカッコヨクなる)ぜ")
ttp://atrn.org/
かよ。
0505デフォルトの名無しさん
2010/03/24(水) 16:08:58ポインタ演算排したgoのアプローチは面白いんだがGCがネックだな
0506デフォルトの名無しさん
2010/03/24(水) 18:03:520507デフォルトの名無しさん
2010/03/24(水) 18:25:140508デフォルトの名無しさん
2010/03/24(水) 19:14:180509デフォルトの名無しさん
2010/03/24(水) 19:38:03ポインタの扱いを厳格化したものとして既にCycloneがあり、
C -> Cyclone移植ガイドも用意されている。無いのは日本語マニュアルだけか。やってるけど。
またCトランスレータの実装を持つEuphoriaにはポインタは無いが
低レベルメモリーアクセス向けの組み込み関数で用意されている。
これにより共有ライブラリおよび低レベル操作を可能としており。
(少なくともライブラリのユーザーレベルでは)ポインタを意識する必要は無い
さらに関数ポインタと似た機能はルーチンIDとして実装されている。
新言語とか言う前に既存のしかもマイナー言語に勝てない仕様では
どうなんだか。
0510デフォルトの名無しさん
2010/03/24(水) 19:41:200511デフォルトの名無しさん
2010/03/24(水) 19:58:220512デフォルトの名無しさん
2010/03/24(水) 20:30:49個人的にはアセンブラよりむしろCの方が理解しにくかったが、どっちにしろそう難しくはない
低レベルに触れなくてもいいなら、何度も言われてるが、いくらでも高速で便利な言語はある
0513デフォルトの名無しさん
2010/03/24(水) 21:04:19解説のアクセス先ぐらい置いといてクレ。
ttp://c2.com/cgi/wiki?CycloneLanguage
ttp://www.rapideuphoria.com/hotnew.htm
あと、>422の機能を持つ低レベル言語って存在するのかね?
0514デフォルトの名無しさん
2010/03/24(水) 21:15:41そしてこのスレは意外な ─ ある意味順当な ─ 幕切れ迎えるのであった
完
0515デフォルトの名無しさん
2010/03/24(水) 22:45:430516デフォルトの名無しさん
2010/03/24(水) 22:52:360517デフォルトの名無しさん
2010/03/25(木) 00:36:470518デフォルトの名無しさん
2010/03/25(木) 01:07:53>>1はその辺を致命的に勘違いしてる。
「低レベル記述、高パフォーマンス、可読性、簡潔さ、拡張性、学習の容易さ」
そんなもの開発効率と関係ないし、使う動機にならない。
GoやOCamlのような良さげな言語がいっこうに流行らないのもそんな理由でしょ。
0519デフォルトの名無しさん
2010/03/25(木) 01:18:42GC言語しか触ったことない自分にも簡単に理解出来て、
それでいて使ってて胸が張れるような、別の言語を新たに作ればいいって、
甘えんぼで怠惰な中学生みたいに話摩り替えただけのスレだもの
0520デフォルトの名無しさん
2010/03/25(木) 01:35:23携帯の料金体系みたいな歪んだサービス精神で開発された言語のほうが怖いだろ
0521デフォルトの名無しさん
2010/03/25(木) 01:47:100522デフォルトの名無しさん
2010/03/25(木) 02:34:490523デフォルトの名無しさん
2010/03/25(木) 02:42:14わかってない奴が無理難題言ってるだけにしか聞こえない。
たぶん彼らの理想がかなっても、その言語を使ってまともなものが作れるとは思えないw
0524デフォルトの名無しさん
2010/03/25(木) 04:58:520525デフォルトの名無しさん
2010/03/25(木) 05:32:34あと20年は完成しない
0526デフォルトの名無しさん
2010/03/25(木) 05:33:470527デフォルトの名無しさん
2010/03/25(木) 06:42:31奪い取る勢いにする。
0528デフォルトの名無しさん
2010/03/25(木) 07:31:53つって今さら言っても誰もついてきてくれないのと一緒。
一番有名なエスペラントでさえ愛好者レベルでしか普及してないだろ。
プログラムの世界でも、
言語の一貫性なんかよりも、今ある資源や人口の方が重要。
言語は宗教でも学問でもないからな。
以前の言語でできないことができるようになった、ならともかく、
少しやりかたを変えてスマートにできるようになりました、ぐらいじゃ誰も移行しない。
0529デフォルトの名無しさん
2010/03/25(木) 14:47:18状態遷移図をストレートかつ簡潔にコード
に落とし込めるような言語は欲しいな
あと真逆になるけどルールベースのアクションをストレートかつ以下略
0530デフォルトの名無しさん
2010/03/25(木) 15:05:08優れたライブラリを効率良く書くためには言語仕様も大事なわけで
0531デフォルトの名無しさん
2010/03/25(木) 15:51:070532デフォルトの名無しさん
2010/03/25(木) 16:13:31Ken Thompson/Googleが作ったってのがポイントなんじゃw
どんなに優れていても話題にもならんのはダメ
自然言語と一緒だよ
goはnaclがらみで増えるかもしれん
0533デフォルトの名無しさん
2010/03/25(木) 17:27:05GC使わなければいいじゃん
0534デフォルトの名無しさん
2010/03/25(木) 17:42:02詳しくないから知らなかったw
てかGC切ってまともに動くの?
0535デフォルトの名無しさん
2010/03/25(木) 17:51:16AT&Tだからだいってたな
0536デフォルトの名無しさん
2010/03/25(木) 18:10:03Apple のなんて AT&T 謹製 cfront だった。
0537デフォルトの名無しさん
2010/03/25(木) 18:23:48そういうのはDSLとして実装したらいい
機械的にやりたいなら言語じゃないけど
yacc/bisonなんかでオートマトンでどうよ
0538デフォルトの名無しさん
2010/03/25(木) 19:10:140539デフォルトの名無しさん
2010/03/25(木) 21:05:09重いと負けることが分かってるから、C++は何が何でもゼロオーバーヘッドを守ろう
とし続けてる訳だし。まぁ最近は例外機構のオーバーヘッドは避けられなくなりつつ
あるが。RTTIは今でも基本オフでおkの世界だけど。
マシンパワーが余りつつあるから重さは気にしなくてもいい、ってのはあくまでもPC
の事務用途の話で、鯖だのゲームだの携帯だの、今でも必死な方面は多い。そういう
ところでは実行速度が出るかが足切り基準。開発速度の選り好みはその後の話。
0540デフォルトの名無しさん
2010/03/25(木) 21:09:260541デフォルトの名無しさん
2010/03/25(木) 21:32:070542デフォルトの名無しさん
2010/03/25(木) 21:57:30軽さは要らないから圧倒的に手軽にしてくれ、という需要はLLが満たしてる
だから、軽い言語を求めるという点では>>1は間違っていない
その他が間違いだらけなだけで
0543デフォルトの名無しさん
2010/03/25(木) 21:58:24s/その他が/その他の点が/
0544デフォルトの名無しさん
2010/03/25(木) 22:18:530545デフォルトの名無しさん
2010/03/25(木) 22:20:30ぶっちゃけC++は糞フレームワークと使う奴らがヘボ
Cはランタイム云々って話があったが
リセットベクタからアセンブラ数行程度で動き始める言語は他にはない
0546デフォルトの名無しさん
2010/03/25(木) 22:26:040547デフォルトの名無しさん
2010/03/25(木) 22:30:57扱えればいいんだよね。そいで、それをコンパイル時に評価できて、プログラ
ムとして生成すると。
そう考えると、仮に S 式を捨てたとしてもそこまで夢の機能ってわけでもない
気がするんだけど、どうだろ。S 式じゃないとなるとお手軽さは失われそうだ
けども。
0548デフォルトの名無しさん
2010/03/25(木) 22:36:560549デフォルトの名無しさん
2010/03/25(木) 22:55:15・引数を評価しないでそのまま関数内に展開
・関数の中ではあくまで一つの要素として扱われる
という扱いができればS式に拘らなくてもOKじゃね?
遅延評価でけっこうカバーできるだろうけど、上手く作りこめば効率などで有利になれるんじゃない?
例えば引数(適用前の関数)の中身をコンパイラが理解して最適化するとか。
0550デフォルトの名無しさん
2010/03/26(金) 00:53:49CPUにもよるがうまく組めばRAMがまだ使えない状況でも動作するしなw
0551デフォルトの名無しさん
2010/03/26(金) 06:50:14C言語に「//」で始まるコメントを許しちまうとか、
char str[10][10]={”123”,”abc”,0}こんな初期化もMicrosoft拡張だったか…
unsigned shortをWORDとか、defineで凌げると思ってたらLONGLONGがfloatと別物だったり。
VisualBasicなんか完全オリジナルな訳だが、ソレしか知らんオッサンには
自分がなんで他言語のプログラマに蔑まされるか理解不能だわな。
Mcrosoftが高効率のバイナリーを吐くVisualBasic作ったらソレが標準になりかねん。
0552デフォルトの名無しさん
2010/03/26(金) 06:54:570553デフォルトの名無しさん
2010/03/26(金) 07:00:05が現実
0554デフォルトの名無しさん
2010/03/26(金) 07:04:420555デフォルトの名無しさん
2010/03/26(金) 07:07:20MSの世界しかしらねえ奴の方が
よほど蔑まされてることに気づけよ
0556デフォルトの名無しさん
2010/03/26(金) 07:08:470557デフォルトの名無しさん
2010/03/26(金) 07:24:13無知まるだし
Cの独自拡張ならGCC
0558デフォルトの名無しさん
2010/03/26(金) 07:26:330559デフォルトの名無しさん
2010/03/26(金) 12:50:590560デフォルトの名無しさん
2010/03/26(金) 17:27:35//はBCPL時代の仕様を勝手にサポートするコンパイラが多かっただけ
初期化の発祥は知らん
WORDやLONGLONGは言語標準じゃなくただのWindows標準ヘッダのマクロじゃね
とりあえずお前がMS以外の世界を全く知らないことはよく分かる
0561デフォルトの名無しさん
2010/03/26(金) 20:55:44LONGLONGAGO
0562デフォルトの名無しさん
2010/03/27(土) 13:17:13超高速だぞ。
0563デフォルトの名無しさん
2010/03/27(土) 14:33:31C並に低レベルな関数型言語。
http://www.bitc-lang.org/docs/bitc/spec.html
0564デフォルトの名無しさん
2010/03/27(土) 14:34:130565デフォルトの名無しさん
2010/03/27(土) 19:23:07それでも>>551の言うようにMSの意向が大きいよ。C#の次はF#がくるかもよ。
0566デフォルトの名無しさん
2010/03/27(土) 20:14:48どうでもいい
0567デフォルトの名無しさん
2010/03/27(土) 23:24:530568デフォルトの名無しさん
2010/03/27(土) 23:31:580569デフォルトの名無しさん
2010/03/27(土) 23:34:370570デフォルトの名無しさん
2010/03/27(土) 23:47:100571デフォルトの名無しさん
2010/03/28(日) 00:14:500572デフォルトの名無しさん
2010/03/28(日) 00:32:180573デフォルトの名無しさん
2010/03/28(日) 00:33:440574デフォルトの名無しさん
2010/03/28(日) 00:46:140575デフォルトの名無しさん
2010/03/28(日) 00:57:28システムコールが関数呼び出しなのはしょうがないんだよね。
別にC言語にこだわらないならジャンプ命令でいいんだよ。
0576デフォルトの名無しさん
2010/03/28(日) 01:16:34その際popは必要ないが
espをpush/popするかはコンパイラ次第
普通は必要なければpush/popしない
0577デフォルトの名無しさん
2010/03/28(日) 01:30:10チラ見しかしてないが、かなり良い感じがする。
0578デフォルトの名無しさん
2010/03/28(日) 01:32:32だがそこがいい
0579デフォルトの名無しさん
2010/03/28(日) 02:12:24全部mainでやりゃいんだよ
0580デフォルトの名無しさん
2010/03/28(日) 02:13:300581デフォルトの名無しさん
2010/03/28(日) 02:16:00>>576
risc cpuはコールするときレジスタに戻りアドレスを入れる
0582デフォルトの名無しさん
2010/03/28(日) 02:59:18C#のunsafe方式が頭をよぎった。
0583デフォルトの名無しさん
2010/03/28(日) 03:09:570584デフォルトの名無しさん
2010/03/28(日) 03:10:540585デフォルトの名無しさん
2010/03/28(日) 10:18:590586デフォルトの名無しさん
2010/03/28(日) 10:30:070587デフォルトの名無しさん
2010/03/28(日) 15:49:190588デフォルトの名無しさん
2010/03/28(日) 15:52:100589デフォルトの名無しさん
2010/03/28(日) 15:54:25よほどの理由がない限り、多少の改善程度ではユーザーは移動しないんだよ。
0590デフォルトの名無しさん
2010/03/28(日) 16:37:03膨大に変化してる
0591デフォルトの名無しさん
2010/03/28(日) 16:47:490592デフォルトの名無しさん
2010/03/28(日) 17:07:160593デフォルトの名無しさん
2010/03/28(日) 17:16:52そういう問題だと思うんだけど。
俺に言わせてみれば、セミナー屋が
「この機能で大幅にバグを減らせます」
と言っていることの99.9%がウソか大げさ。
バグが潜む原因のほとんどは設計とアルゴリズムにあると思うね。
C++→D程度なら設計を変えるほどの大幅な仕様変更ではないし、
そもそもアルゴリズムは言語とは無関係。
0594デフォルトの名無しさん
2010/03/28(日) 17:20:47アルゴリズムのバグ。コード化で入り込むバグ。バグが発生しやすいような設計。
がきりわけられていないんじゃないか。
バグは言語と関係ないとう部分は多いが、脆弱性は大いに関係ある。
0595デフォルトの名無しさん
2010/03/28(日) 17:21:16便利な機能が色々増えてるけど
それが「コードが縮む」と言う事に繋がるとは限らないということ
例えばC89ではマクロを使っていたのをC++ではinlineに変更したとして、
これは便利にはなっているけどコードはむしろ長くなるでしょ
0596デフォルトの名無しさん
2010/03/28(日) 17:24:33GC言語でのメモリリークとか
VBだとなぜか参照されていると見なされて似た現象が発生することもあるが・・・
0597デフォルトの名無しさん
2010/03/28(日) 17:27:34> C89ではマクロを使っていたのをC++ではinline
コード量は長くも短くもならないと思うよ。
0598デフォルトの名無しさん
2010/03/28(日) 17:28:58旧VBは、GCじゃないよ。
0599デフォルトの名無しさん
2010/03/28(日) 17:30:33上位互換性とオブジェクト指向の導入でしょ。
inlineが決定的な理由じゃないよ。
0600デフォルトの名無しさん
2010/03/28(日) 17:35:03>コード量は長くも短くもならないと思うよ。
戻り値や引数に型つけたり { } つけたりするでしょ
inlineにする程度の長さなら、マクロ引数に ( ) をつける影響より大きくなる
0601デフォルトの名無しさん
2010/03/28(日) 17:35:460602デフォルトの名無しさん
2010/03/28(日) 17:39:04それは、誤差範囲といっていいだろ。
0603デフォルトの名無しさん
2010/03/28(日) 17:40:100604デフォルトの名無しさん
2010/03/28(日) 17:44:300605デフォルトの名無しさん
2010/03/28(日) 17:55:23という事例ならあるんだけどね。
それぐらいのメリットがないと誰も移行を考えたりはしない。
0606デフォルトの名無しさん
2010/03/28(日) 17:56:330607デフォルトの名無しさん
2010/03/28(日) 18:05:040608デフォルトの名無しさん
2010/03/28(日) 18:07:31ああいうのをもっと綺麗な形でサポートしてほしいな。
0609デフォルトの名無しさん
2010/03/28(日) 20:03:10クイックソートのことなら、Haskellのは配列の要素入れ替えじゃなくて新しい配列を作って連結してるだけだろ。
それってSTLコンテナとか使ったらC++でも同じ方法ではできるようにならないの?
Haskellほど短くは書けないだろうけど、もっと少なくはなると思う。
0610デフォルトの名無しさん
2010/03/28(日) 20:11:39haskellのクイックソートって、デモンストレーションで、
実用じゃ使えないしな。
0611デフォルトの名無しさん
2010/03/28(日) 20:25:18とかアホなこと書いた外人が理詰めでフルボッコされてたな
0612デフォルトの名無しさん
2010/03/28(日) 22:06:010613デフォルトの名無しさん
2010/03/28(日) 22:35:44ただ、言えることは
・高級言語では、アセンブラでの最速コードよりも速いコードは書けない(よくて同等。多くの場合はより落ちる)
・Cはアセンブラとほぼ同等な高級言語と言える
・C++はCとの互換性より、原理上はCと同等かもしくはより速いコードが書けるが「C++らしい」書き方をするにはCより遅くなる覚悟が必要
・JavaのようなVMを利用する言語、インタプリタ型言語のような非ネイティブな言語で、VMやインタプリタがネイティブな言語で書かれている場合
そのネイティブな言語で書き直せば、非ネイティブな言語で書いた場合と同等かそれ以上の速度で動作するコードを書ける
・VMやインタプリタが、非ネイティブな言語で書かれていたとしても、それが実際に動作する処理系である以上は元を辿ればネイティブな言語にたどり着く。
よって、やはり同等以上の速度でコードが書けるネイティブな言語は存在する
・ただし、最速のコードが「存在する」とは、書くことの大変さ、書ける人間が存在するかを一切無視しての話である
・例えば、下手にアセンブラ使うよりもCで書いてコンパイラの最適化に任せた方が結果的に速いコードができることが多い
・同様に、下手にCを使うよりもJavaやLLで書いた方が速くなることだってありうる
・けど、LLよりも遅いCコード書いちゃう人はさすがにちょっと残念
0614デフォルトの名無しさん
2010/03/28(日) 22:44:47同等だったら最高で文句の付けようが無い状態じゃん >よくて同等
0615デフォルトの名無しさん
2010/03/28(日) 22:50:47アセンブラで書けば速いなんて脳が20年前で止まってるとは言えるが、Javaで書いてもCより速くなる
なんてのは絶対無い。同じ仕様を同じロジックで書けばね。静的であるか動的であるかはそれくらい違う。
0616デフォルトの名無しさん
2010/03/28(日) 22:54:350617デフォルトの名無しさん
2010/03/28(日) 23:11:06>・JavaのようなVMを利用する言語、… VMやインタプリタがネイティブな言語で
> 書かれている場合
そもそもVMやインタプリタがネイディブで無い言語で書かれてることってあるのか。
(実用的な処理系で)
0618デフォルトの名無しさん
2010/03/28(日) 23:14:11javaもネイティブな言語並みにスピード出せるっておかしいだろ。
0619デフォルトの名無しさん
2010/03/28(日) 23:48:320620デフォルトの名無しさん
2010/03/28(日) 23:53:570621デフォルトの名無しさん
2010/03/29(月) 00:09:240622デフォルトの名無しさん
2010/03/29(月) 00:16:40最初から雑談スレになる運命。
0623デフォルトの名無しさん
2010/03/29(月) 00:16:57このての議論って
>・同様に、下手にCを使うよりもJavaやLLで書いた方が速くなることだってありうる
仮定を前提としてるけど、ひとつでも実例を示したことがあるのかって思うぞ。
0624デフォルトの名無しさん
2010/03/29(月) 00:45:31そもそも、あるPGがループソートをCで書き、他の言語では別のPGがクイックで書くとか、
そういう前提だから意味が無いw
0625デフォルトの名無しさん
2010/03/29(月) 00:50:07十数年前、Javaがではじめたころは、実行時にコードの実行状態を
見て動的に最適化できるから、Javaのほうが速くなる可能性があるって
話があったけど、いまだに「Javaで書いたwebサーバーのほうがapacheより
速いぜ」みたいな話って聞かないしな。
0626デフォルトの名無しさん
2010/03/29(月) 00:55:16そこにいたるまで膨大なGCのオーバーヘッドがあるわけだし。パフォーマンスは最悪値を保証しなければならないんで可能性なんて無意味だし。
0627デフォルトの名無しさん
2010/03/29(月) 00:56:23この言い様って、まるで 「1+1は2とは限らない」 みたいな、小5病的な台詞
0628デフォルトの名無しさん
2010/03/29(月) 01:14:52そういう本読んだことがあるけど、水1リットルとアルコール1リットルを混ぜると2リットルより小さくなるって理屈だったな。
それは式の立て方が間違ってる。質量で計算しろと。
0629デフォルトの名無しさん
2010/03/29(月) 01:35:340630デフォルトの名無しさん
2010/03/29(月) 01:46:190631デフォルトの名無しさん
2010/03/29(月) 02:47:31汎用性を考えるとVMを利用する言語が良い。アルゴリズムにも言えるけど、速さが全てなのかって話
0632デフォルトの名無しさん
2010/03/29(月) 03:20:330633デフォルトの名無しさん
2010/03/29(月) 03:27:02VM で動くブラウザやらIMEやらを使い
動画のコーデックも Java でokとか
そういう人以外がその発言するのは偽善
正直に、バカしか使えないような貧乏な
客が殆どなんだから LL にも価値あるだろ
と言え
0634デフォルトの名無しさん
2010/03/29(月) 03:28:56偽善じゃねーよ。環境に依存しないことがどれほどの意味を持ってるのか分かってんの?
0635デフォルトの名無しさん
2010/03/29(月) 04:07:11OSやVMやGCやLLを書ける低レベルな言語について考えるスレなんだから。
0636デフォルトの名無しさん
2010/03/29(月) 04:19:01Cやアセンブラの弱点である汎用性はVMによって完成した。これだけの話なんだよ
0637デフォルトの名無しさん
2010/03/29(月) 04:32:160638デフォルトの名無しさん
2010/03/29(月) 05:31:00比較にならないことは原理的にもすぐわかるし、Eclipseの殺人的な重さを見てみろよ。
0639デフォルトの名無しさん
2010/03/29(月) 05:35:59速さが全てだろ。
汎用性だ何だってのはゴミプログラマが自分の無能さを隠すための言い訳だよ。
Cで書いたって、コア部分は共通にして、機種依存部分のみ分けることで多機種開発は可能になる。
Cがよくわからないゴミプログラマには無理だがなw
0640デフォルトの名無しさん
2010/03/29(月) 06:37:15悪意をもってしか文章を書けないなら他所でやればいいのに
正当性を欠いてるよ
0641デフォルトの名無しさん
2010/03/29(月) 07:19:03この人は、Eclipseと何を比べたのだろうか。
0642デフォルトの名無しさん
2010/03/29(月) 07:23:480643デフォルトの名無しさん
2010/03/29(月) 07:33:37C#のコンパイラでネイティブコードを出力できるのを作れば。
0644デフォルトの名無しさん
2010/03/29(月) 07:46:27* C++でダメな理由は何か
* Dでダメな理由は何か
これらの質問に多くの人が納得できる十分な答えがなければ、たぶん新しい言語はいらない
0645デフォルトの名無しさん
2010/03/29(月) 07:55:10CLIからネイティブへのコンバーターはあるからあるも同じ。
ILGeneratorクラスがあるので、VMを完全になくすことはできない。
0646デフォルトの名無しさん
2010/03/29(月) 08:56:06まぁ落ち着け。アセンブラで書けば一番速いのは事実だ。
何しろ、マイクロアーキへの最適化だろうがランタイム動的最適化だろうが、書く気に
なればアセンブラで書ける。労力が馬鹿馬鹿しいだけだ。
0647デフォルトの名無しさん
2010/03/29(月) 09:17:46だから、そう書いてるんじゃん。
>>616
「理論上の最速コード」においてCがアセンブラを越えられないのは今でも変わらない。
それに「下手にアセンブラ使うよりもCで書いてコンパイラの最適化に任せた方が結果的に速いコードができることが多い」
と書いている。
>Javaで書いてもCより速くなるなんてのは絶対無い。
>>611参照。
厳密な意味では、同じ仕様を同じロジックで、というのは大変難しいと思うが。
>>617
広く使われている処理系では、知らない。
一応、jruby, jython, groovyみたいなのもあるらしい。
>>618
え?そんな理由で出せるの?それはおかしい。
どんなにうまく書いても、ネイティブな言語を越えることはできないと書いてるだけ。
同等のスピードが出せるのは、一旦VMを作って中間コードを処理していくのがCで書いても最速な処理だった場合のみだな。
そんなコードあるとはとても思えないが、ないと言いきる自信はなかったから、同等以下という表現に止めた。
>>623
>>611
>>624
それが真理。けど、最速コードなんていうどこにあるのか分からないものを追い求めるのが実質不可能なのだから、
簡単に使えるものの中で一番マシなのを選ぶことになる。
>>627
プログラマなら、1+1が1になったり0になったりする場合を知っているはずだが。
0648デフォルトの名無しさん
2010/03/29(月) 09:26:460649デフォルトの名無しさん
2010/03/29(月) 10:31:02今時のマトモなプログラマならプロファイラ
使ってフィードバック最適化するだろうから、
そういうケースは実に稀だと思う。
0650デフォルトの名無しさん
2010/03/29(月) 10:32:34という設定なんだろうな
0651デフォルトの名無しさん
2010/03/29(月) 10:38:04そしてなんでお前が全レスする必要があるの?
>プログラマなら、1+1が1になったり0になったりする場合を知っているはずだが。
プログラマだったら文意くらい読み取れよ。
0652デフォルトの名無しさん
2010/03/29(月) 10:59:15移植性が悪いじゃん
0653デフォルトの名無しさん
2010/03/29(月) 11:05:31「CよりJavaの方が速い場合もありうる」 なんて、本来ならば相当に前提や条件が "狭まらないと起こりえない話" を
例すら出さずに簡単に断言してしまうなんて、プログラマの感覚からするとありえない。
よって、「おまえ仕事してないだろ」 と仮定した。
また、細かい前提などはわからないけど、簡単な言葉で意表をつきたかった、っていう気持ちは、
何も知らない夢見がちな小学生くらいの子に時折見られる事なので、端的に例えて現した。
こういう事ですね。 >>647 は残念な子だとわかった。
0654デフォルトの名無しさん
2010/03/29(月) 12:51:56仕方ないことだがCはSecureではない。Human Errorに弱い。人間工学上は問題が多い。
歴史的経緯からSyntax/Statementが混乱している。C++は最初は良かったが巨大になりすぎた。
DとかGoはキラーアプリ次第。
さらにECERE SDK(eC)[ ttp://www.ecere.com/]は技術水準は高いが全般的に未完成。
しかし、上記の欠点はツールや時間が解決する問題であって現代の問題は入門書。
基礎しか考慮していない本のほうが多い。ほとんどの場合は次に読む本べきの便覧を載せていない気がする。
0655デフォルトの名無しさん
2010/03/29(月) 12:53:38これ以上に簡単で習得しやすく文法や構文の不自然さが少ない言語なんかあまり無いけどな。
BSDライセンスなんだし。必要eucを改造して生成コードの品質改善するなりGC無効化機能付ければいい。
もっとも、学生さんなら普通に生活しつつ言語開発に
3年くらい無駄にして失敗しても人生リカバリーできるから、やるならやっとけと。
(OSや言語といった規模の大きいものは若気の至りがないと進捗が遅い)
0656デフォルトの名無しさん
2010/03/29(月) 13:58:54ほぼどんな環境でも動くし。
あと最近はコンパイラの最適化より
早いasm書けるやつは少ないな
パイプラインと実行ユニット意識して書くのはめんどい
0657デフォルトの名無しさん
2010/03/29(月) 14:02:17自然言語と同じでマイナーなのはダメ
誰もエスペラントなんて使わん
0658デフォルトの名無しさん
2010/03/29(月) 14:03:01もはやコンパイラの方が遥かに優秀だよ。
0659デフォルトの名無しさん
2010/03/29(月) 14:10:09世界最強のコンパイラを作れるよw
俺らより遥かに熟練した奴がコンパイラ作ってるんだから、そのコンパイラを使った方がいいに決まってる。
0660デフォルトの名無しさん
2010/03/29(月) 14:20:58さらに論文などを読んでいろんな人が考えた最適化法を学ばないといけない。
そんな積み重ね無しに既存のCコンパイラを超える低級言語を作ろうなんて片腹痛い。
Cコンパイラですら一人で作るには限界があるっていうのにね。
動くものを作るだけなら簡単。最速を目指すならその10000倍の努力が必要。
0661デフォルトの名無しさん
2010/03/29(月) 14:29:21熟練じゃ超えれない才能の壁がある
ぽっと出じゃ20年前のfortranすら超えれないなw
0662デフォルトの名無しさん
2010/03/29(月) 14:31:34最適化はCコンパイラに任せればいいさ。
0663デフォルトの名無しさん
2010/03/29(月) 14:37:13それが現実的だな。
0664デフォルトの名無しさん
2010/03/29(月) 14:42:21Cは速さへの執着を捨てて勝ち組になったのに
Cの速さに追いつくことしか考えてないやつが多すぎる
0665デフォルトの名無しさん
2010/03/29(月) 14:51:06アセンブラではプログラマの能力的に最速記述は現実的に不可能だし、
最新のCPUは全部C言語に最適化して設計されているし、
現状最速の低級言語は間違いなくC言語だという前提で話してるんだけどな。
そしてCコンパイラ並に最適化されたコンパイラを作るとなると相当な努力が必要だから、
最適化はCコンパイラに任せて、我々は文法を考えることに力を注ぐべきだと言っているわけね。
0666デフォルトの名無しさん
2010/03/29(月) 14:55:50分業とか現実解を考えたらそうなるよな
0667デフォルトの名無しさん
2010/03/29(月) 14:59:220668デフォルトの名無しさん
2010/03/29(月) 15:21:04まあでも現状Cは高級アセンブラとしての地位を確立したし
これ以上も以下もいらんだろ
C++の末裔は同じ立ち位置には立てないな
0670デフォルトの名無しさん
2010/03/29(月) 15:37:07ifでキャリーフラグとか見れた
0671デフォルトの名無しさん
2010/03/29(月) 16:05:260672デフォルトの名無しさん
2010/03/29(月) 16:07:46賢そうに見える発言どうぞ
0673デフォルトの名無しさん
2010/03/29(月) 16:13:400674デフォルトの名無しさん
2010/03/29(月) 16:18:000675デフォルトの名無しさん
2010/03/29(月) 16:38:36c++はc形式で書けちゃうし、c++ゴリゴリも出来るし、ちょうど良い間でも書けるし…
足りない部分は経年によるノウハウと自作・自社・サードハーティーなどのライブラリもあるし……
困ったね。
0676デフォルトの名無しさん
2010/03/29(月) 16:41:16> ゴリゴリ
用法がおかしい
0677デフォルトの名無しさん
2010/03/29(月) 16:43:00じゃあ「c++る」で
0678デフォルトの名無しさん
2010/03/29(月) 17:00:07センスは一年もたたずに開いてくる
ないヤツは経験でカバーしかないが
高見には登れないんだよな
0679デフォルトの名無しさん
2010/03/29(月) 18:16:34SIMD でマトモなコードを吐くコンパイラがないから、
速度が必要なトコではまだまだアセンブラが使われてるよ。
0680デフォルトの名無しさん
2010/03/29(月) 18:26:15SIMDはライブラリで利用できると思う。
0681デフォルトの名無しさん
2010/03/29(月) 18:27:45ふつーintrinsics
0682デフォルトの名無しさん
2010/03/29(月) 18:31:56インラインアセンブラを使うケースはほとんどなくなってきたね。
0683デフォルトの名無しさん
2010/03/29(月) 21:16:29おじいちゃんしかいないのここ?
0684デフォルトの名無しさん
2010/03/29(月) 21:17:200685デフォルトの名無しさん
2010/03/29(月) 21:21:330686デフォルトの名無しさん
2010/03/29(月) 21:22:34実行時中間コードコンパイラの方が速そうな気がする例。
本当かどうか知らない。 ためしてない。
for (int i = 0 ; i < 1000000000 ; i++) {
switch (ユーザ入力値) {
case 50: a[i] *= b[i] ;
case 70: a[i] &= b[i] ;
case 110: a[i] |= b[i] ;
case 130: a[i] ^= b[i] ;
case 170: a[i] += b[i] ;
default: a[i] -= b[i] ;
}
}
0687デフォルトの名無しさん
2010/03/29(月) 21:30:17そんなに狙ったロジックを実装するのが簡単だとでも思ってるのか
0688デフォルトの名無しさん
2010/03/29(月) 21:41:58ちゃんと最適化をするJITなら相当速くなるだろうね。Tracing JITとLoop unrollingとか。
0689デフォルトの名無しさん
2010/03/29(月) 21:57:38JITの方が使える情報が多いから、理論的には中間コードをJITでコンパイルする方がアセンブラよりも速いコードになる。
0690デフォルトの名無しさん
2010/03/29(月) 22:09:18極端にランタイム最適化が有利なコードは、サンプルとしてならいくらでも書けるはず。
ただ、実アプリで実行時間に影響するような事例としてどれだけ出てくるか、というのが
問題で、それが言語の需要に直結するし、実用性そのものにも繋がる。
少なくとも、最適化処理を回す負荷を上回るだけの利得があって、それが体感されるほど
の時間スケールになっていないといけない。最適化が効いてくるまでは単純に遅い。結局、
差し引きで利得があるアプリはかなりレアかと思われ。
0691デフォルトの名無しさん
2010/03/29(月) 22:12:13今年は中間コードか
0692デフォルトの名無しさん
2010/03/29(月) 22:12:58Javaアプリとかぶっちゃけ「起動以外も」糞重いんだし、ほとんどランタイムの
最適化は効いてないんじゃね?
結局、コードモーフィングと同じ結論になるんじゃないかと思うんだが
0693デフォルトの名無しさん
2010/03/29(月) 22:14:440694デフォルトの名無しさん
2010/03/29(月) 22:18:380695デフォルトの名無しさん
2010/03/29(月) 22:20:290696デフォルトの名無しさん
2010/03/29(月) 22:29:01まぁPARROTとかもいつ出てくるんだって感じだし、Rubyとかも微妙なままだしな
0697デフォルトの名無しさん
2010/03/29(月) 22:30:20デスクトップ分野でだめなのはもう明らかだし、
あとはこれ以上携帯や組込分野に出しゃばってくれなければいいのだが。
0698デフォルトの名無しさん
2010/03/29(月) 22:30:24PARROTじゃハイファのランタイム最適化みたいだし
0699デフォルトの名無しさん
2010/03/29(月) 22:30:440700デフォルトの名無しさん
2010/03/29(月) 22:32:220701デフォルトの名無しさん
2010/03/29(月) 22:34:33Javaアプリは起動した後も普通に重い
0702デフォルトの名無しさん
2010/03/29(月) 22:36:36糞PC乙
とツッコまれるぞ
0703デフォルトの名無しさん
2010/03/29(月) 22:38:44しれないと思ったんだが、結局C++だのObjective-Cだのに完全に食われたな。
0704デフォルトの名無しさん
2010/03/29(月) 22:41:22と逆に突っ込まれるんじゃね
0705デフォルトの名無しさん
2010/03/29(月) 22:44:29ような人ならあるいは
0706デフォルトの名無しさん
2010/03/29(月) 22:45:350707デフォルトの名無しさん
2010/03/29(月) 22:50:34RIMとGoogleとMicrosoft+ガラケーがVM
NokiaとAppleがネイティブ
0708デフォルトの名無しさん
2010/03/29(月) 23:41:52今時java位いんじゃね
ネイティブコードキャッシュすれば起動もはやくなるのに
0709デフォルトの名無しさん
2010/03/30(火) 00:01:520710デフォルトの名無しさん
2010/03/30(火) 00:03:090711デフォルトの名無しさん
2010/03/30(火) 00:05:43オープンソースになったんだから、お前がやればいい
0712デフォルトの名無しさん
2010/03/30(火) 00:32:24なんで俺が?
0713デフォルトの名無しさん
2010/03/30(火) 00:47:27少しはJavaScriptを見習え
0714デフォルトの名無しさん
2010/03/30(火) 02:26:58gccでコンパイルできればいいのに。
0715デフォルトの名無しさん
2010/03/30(火) 03:24:180716デフォルトの名無しさん
2010/03/30(火) 03:37:300717デフォルトの名無しさん
2010/03/30(火) 05:41:250718デフォルトの名無しさん
2010/03/30(火) 05:58:040719デフォルトの名無しさん
2010/03/30(火) 08:43:21goでいんじゃね
0720デフォルトの名無しさん
2010/03/30(火) 08:47:030721デフォルトの名無しさん
2010/03/30(火) 10:53:39もう後、30年ぐらいしてから一から新しく作り直せばいいよ
0722デフォルトの名無しさん
2010/03/30(火) 10:59:31方が寿命が長い傾向があるw
x86しかりC/C++しかりだ
このままC++はより一層文法を汚くしながらしぶとく生き残るだろうw
0723デフォルトの名無しさん
2010/03/30(火) 10:59:440724デフォルトの名無しさん
2010/03/30(火) 14:10:090725デフォルトの名無しさん
2010/03/30(火) 14:14:230726デフォルトの名無しさん
2010/03/30(火) 14:17:47スタートに戻る
0727デフォルトの名無しさん
2010/03/30(火) 17:29:590728デフォルトの名無しさん
2010/03/30(火) 17:44:210729デフォルトの名無しさん
2010/03/30(火) 17:46:220730デフォルトの名無しさん
2010/03/30(火) 17:51:470731デフォルトの名無しさん
2010/03/30(火) 17:52:230732デフォルトの名無しさん
2010/03/30(火) 20:24:140733デフォルトの名無しさん
2010/03/30(火) 21:10:110734デフォルトの名無しさん
2010/03/30(火) 22:04:480735デフォルトの名無しさん
2010/03/30(火) 22:26:52C#コンパイラをはやく出すんだ
0736デフォルトの名無しさん
2010/03/30(火) 22:30:160737デフォルトの名無しさん
2010/03/30(火) 22:40:420738デフォルトの名無しさん
2010/03/30(火) 22:43:290739デフォルトの名無しさん
2010/03/30(火) 22:48:43なんでCで書かないんだ
簡単な話じゃないか
0740デフォルトの名無しさん
2010/03/30(火) 22:51:570741デフォルトの名無しさん
2010/03/30(火) 22:54:120742デフォルトの名無しさん
2010/03/30(火) 22:59:33HTMLをもっと強力にしたPHPのようなものか
0743デフォルトの名無しさん
2010/03/30(火) 23:00:49って話か。めんどくさいなんて嘘
0744デフォルトの名無しさん
2010/03/30(火) 23:06:43昔metahtmlつのがあったな
lispのカッコを<>にしたようなヤツ
実行可能なhtml
0745デフォルトの名無しさん
2010/03/30(火) 23:10:250746デフォルトの名無しさん
2010/03/30(火) 23:38:580747デフォルトの名無しさん
2010/03/31(水) 00:43:580748デフォルトの名無しさん
2010/03/31(水) 00:55:36コンパイル時間がめちゃめちゃ延びるけど、手書きよりはるかに楽で正確
0749デフォルトの名無しさん
2010/03/31(水) 00:58:000750デフォルトの名無しさん
2010/03/31(水) 01:12:550751デフォルトの名無しさん
2010/03/31(水) 01:13:40メカプログラミングのなまりw
0752デフォルトの名無しさん
2010/03/31(水) 01:18:200753デフォルトの名無しさん
2010/03/31(水) 01:19:040754デフォルトの名無しさん
2010/03/31(水) 01:24:35同じasmコードが吐けるようになったらいいべ
0755デフォルトの名無しさん
2010/03/31(水) 03:44:47数少ない成功事例なのか。
0756デフォルトの名無しさん
2010/03/31(水) 03:47:20C++のシフト先って今ないだろ。
0757デフォルトの名無しさん
2010/03/31(水) 04:03:26ハァ?
超絶糞重いわプラグインはバグだらけだわの糞環境じゃねぇか
あんな糞を有難がるのは経済活動できてないクソニートだけだっつの
あれじゃ投資した時間の回収すらできねぇよ
0758デフォルトの名無しさん
2010/03/31(水) 04:21:32誰が有難いなんて話をしたよ
Cコンパイラだってトランスレータなんだから、Cの拡張としての言語内言語を定義した方が効率的だと思う
0759デフォルトの名無しさん
2010/03/31(水) 05:57:57単純な流れを知ってるか否かだけで次元の壁があるよな、とつくづく実感させられる
0760デフォルトの名無しさん
2010/03/31(水) 07:58:54日本語がヤバイ
0761デフォルトの名無しさん
2010/03/31(水) 10:14:280762デフォルトの名無しさん
2010/03/31(水) 10:21:03その方向で成功しているとは言い難いが。
0763デフォルトの名無しさん
2010/03/31(水) 10:26:300764デフォルトの名無しさん
2010/03/31(水) 10:48:50なにもしないprivateメソッドとかがわかりにくい
0765デフォルトの名無しさん
2010/03/31(水) 12:03:430766デフォルトの名無しさん
2010/03/31(水) 12:12:35VHDLか?
0767デフォルトの名無しさん
2010/03/31(水) 12:26:100768デフォルトの名無しさん
2010/03/31(水) 13:55:21C++にやらせたくない事をコーディング規約としてまとめた物を作ったとしたら、
価値はないだろうか?
076958
2010/03/31(水) 14:36:01数学はカンタンになるのか?
0770デフォルトの名無しさん
2010/03/31(水) 14:46:07微分積分の記号がない状態で微分積分の問題を取り扱うのが難しかったように、記述力が高い記号は数学を簡単にする助けになる
0771デフォルトの名無しさん
2010/03/31(水) 14:50:580772デフォルトの名無しさん
2010/03/31(水) 14:52:580773デフォルトの名無しさん
2010/03/31(水) 14:54:48大陸より発達が遅れたんだよな
0774デフォルトの名無しさん
2010/03/31(水) 14:56:310775デフォルトの名無しさん
2010/03/31(水) 14:58:370776デフォルトの名無しさん
2010/03/31(水) 15:03:10あと、>>769 は数学アレルギーで覚える気も無いって事もわかった
同じように、きっとJavaやC#のような単純なルールの言語なら覚えられるけど、
C/C++のようなあれもこれも可能な言語は覚えられない連中が多く、
そしてそれを認めるのが恥ずかしいって思ってる人たちが多いのもわかった。
以下、ひまわりスレ
0777デフォルトの名無しさん
2010/03/31(水) 15:03:200778デフォルトの名無しさん
2010/03/31(水) 15:03:530779デフォルトの名無しさん
2010/03/31(水) 15:10:00英論文でプライムを初めて見たとき何のことだかしばらくわからんかった
0780デフォルトの名無しさん
2010/03/31(水) 15:12:25とか冗談言ってたな
0781デフォルトの名無しさん
2010/03/31(水) 15:21:56主要な転置表記
0782デフォルトの名無しさん
2010/03/31(水) 15:47:10素数はξの違いを表す
0783デフォルトの名無しさん
2010/03/31(水) 15:58:05覚えられないから簡単にしろって云う人への批判として
769 を書いたつもりなんだけど、難し過ぎましたか。
0784デフォルトの名無しさん
2010/03/31(水) 16:21:26の方がスムーズに話が進む気がするんだけど。
0785デフォルトの名無しさん
2010/03/31(水) 16:25:28「こういうつもりで書いたんだ」 で済まさず一言余分に付け加えるあたり、
プライドの高さが垣間見えるようです。
0786デフォルトの名無しさん
2010/03/31(水) 16:44:41C#
0787デフォルトの名無しさん
2010/03/31(水) 16:46:27俺ミノムシって呼んでる
'←みのむし
"←ダブルみのむし
`←反対のみのむし
0788デフォルトの名無しさん
2010/03/31(水) 16:59:42俺もそうよんでるw
流行ってんの?
0789デフォルトの名無しさん
2010/03/31(水) 17:02:440790デフォルトの名無しさん
2010/03/31(水) 17:03:34当たり前じゃん。
ミノムシは世界共通だぜ。
0791デフォルトの名無しさん
2010/03/31(水) 17:07:01おい、誰だ ミノムシ流行らせようとしてるやつw
俺も明日から使おうかな。
0792デフォルトの名無しさん
2010/03/31(水) 17:22:32適当に足しとして。
C/C++に無いけど欲しい機能
○欲しい
・アトミック処理
・リアルタイム性
・Lispなみに弄くれる型安全なマクロ
・Forthなみに弄くれる駆動レコード
- 駆動レコードへのアクセス
- 実行制御
- 強制インライン展開(レコードを新しく作らないルーチン)
・マトモなクロージャ
・マルチスレッド対応/自動並列化/トランザクション
・割り込み処理
○微妙
・GC
・多重継承の代わりにmix-in
・コルーチン
・契約プログラミング
0793デフォルトの名無しさん
2010/03/31(水) 17:41:500794デフォルトの名無しさん
2010/03/31(水) 17:55:18スレ違いな事してんじゃねぇ
ここはミノムシを語るスレだ
0795デフォルトの名無しさん
2010/03/31(水) 18:01:200796デフォルトの名無しさん
2010/03/31(水) 18:25:110797デフォルトの名無しさん
2010/03/31(水) 18:31:01ある意味ネタスレだしな。これ以上の議論は期待できないね。
まあ、もっとも必要なら別スレとして
新言語Polka-dot(仮称)とか、C言語クローン総合スレ等の
新規スレとWiki立てるけど?
0798デフォルトの名無しさん
2010/03/31(水) 18:35:090799デフォルトの名無しさん
2010/03/31(水) 18:42:11ゲームとか通信とか言われてもピンと来ないです。
0800デフォルトの名無しさん
2010/03/31(水) 20:25:170801792
2010/03/31(水) 20:44:42俺が語ってるだろ。
他にc/c++では実装できない/言語の助けの無い機能があったら挙げてくれ。
0802デフォルトの名無しさん
2010/03/31(水) 20:48:070803デフォルトの名無しさん
2010/03/31(水) 20:49:030804デフォルトの名無しさん
2010/03/31(水) 21:20:48しなくてもいいところでも走る(=GC管理の為の処理や、開放など)から、
あえて言うなら邪魔だという話。 てか邪魔って言うより、常にそれありきじゃなくてOn/Offしたいって感じ
0805デフォルトの名無しさん
2010/03/31(水) 22:21:55whitespace使っとけよ
0806デフォルトの名無しさん
2010/03/31(水) 22:23:540807デフォルトの名無しさん
2010/03/31(水) 22:28:060808デフォルトの名無しさん
2010/03/31(水) 22:54:21> しなくてもいいところでも走る
はい、その点は理解しているのですが、
GCが走ると処理がわずかに中断されて、それが気になるほどの悪影響を与えるケースを
実証できるコードはどんなものか興味がありまして・・・
0809デフォルトの名無しさん
2010/03/31(水) 22:58:49無くてもいいものなら無い方がいいって話。
例えば関数一つ呼んで、何かの戻り値を得るとかの処理があった時、中に作られる自動変数やら何やら、
あるいはクラスをnewして得たなにやらを、自分で管理出来た方が都合がいいだろ?って話だよ
0810デフォルトの名無しさん
2010/03/31(水) 23:04:31FPSゲームなんかで交戦中には余計なことして画面がガクンとなるのはやめて欲しいから、
どうにもならない場面でだけGCするように作って、後は戦闘中以外の処理もたついてもいい場面でGCしたい。
なんてのは普通にあるんでないの?
0811デフォルトの名無しさん
2010/03/31(水) 23:10:40でもゲームでは入力や通信やらで非同期に余計な処理が結構いろいろあるので
GCが起きるぐらい些細な事なのではないか、と素人ながら思ったのですが・・・
0812デフォルトの名無しさん
2010/03/31(水) 23:18:21入力は全然問題ない。
動作を脅かすとんでもない入力なんてない。
通信はしらない。
フルタイムで通信してるようなゲームはその些細なことをそれなりに気にして作ってるんじゃないの。
だいたい通信量ってそんなめちゃくちゃな量はないと思う。
0813デフォルトの名無しさん
2010/03/31(水) 23:18:320814デフォルトの名無しさん
2010/03/31(水) 23:26:16確かに通信料は少なそうですね。
実際グリグリ動くFPSでも100kbps程度だったりして驚きます。
う〜ん、では質問を変えますが、ゲーム中にGCが起こったとして何ミリ秒ぐらいゲームがストップしますか?
>>813
決して皆さんを侮辱しているわけではありませんので、怒らないで聞いてください。
単なる素人の疑問ですから。
0815デフォルトの名無しさん
2010/03/31(水) 23:35:22何が言いたいのかわからんが、認識できるレベルで止まる重くなるプログラムしか作れない言語なら問題があると言えないか?
作る側は良くてもやる方は甘くいこと言ってくれないぞ。
0816デフォルトの名無しさん
2010/03/31(水) 23:37:13結構あんのな
0817デフォルトの名無しさん
2010/03/31(水) 23:40:05確かに問題ありますよね。
しかし、本当に言語に問題があるのかどうか皆さんの話を聞いているだけではピンと来ないので
そのケースを再現したプログラムなどがあれば理解もしやすいのですが・・・
リンクだけでも結構です
0818デフォルトの名無しさん
2010/03/31(水) 23:43:41そんなのはプラットフォーム次第。
たとえばヒープの少ない古い携帯電話なんかで、断片化の起きやすいコードを書いてれば秒レベルで止まる。
0819デフォルトの名無しさん
2010/03/31(水) 23:50:01ルータを考えてみなよ
こっちの都合考えずに
パケットがガンガンくるでしょ
gcで0.1秒とか中断したら
パケット落ちちゃうかもでしょ?
動画のカメラのキャプチャが
1/30秒で画像送ってきたとする
途中でgcが走ったら画像おちるでしょ?
計測機が一定周期でモニタしてるとして
周期が乱れたらまずいでしょ?
gc避けたいのはそういう相手に合わせないといけない用途
人が使うものは時間短いなら普通大丈夫だが
ゲームや動画、音声なんかはシビアだね
0820デフォルトの名無しさん
2010/03/31(水) 23:51:28最初から信じる気ないだろ?
自分で大量のオブジェクトnewしまくるコードでも書いてみたら?
困らないなら話題にもならないよ。
0821デフォルトの名無しさん
2010/03/31(水) 23:53:54それにプログラミング側のテクニックでゴミが出にくいプログラミングも可能だと思うけど。
0822デフォルトの名無しさん
2010/03/31(水) 23:54:13不可抗力やエラーでもないのに
データが落ちたり抜けたりは
設計上許されないわな
0823デフォルトの名無しさん
2010/03/31(水) 23:54:59まさにそういうプログラミングするから大幅にGCに負荷がかかるんだよなぁ。
0824デフォルトの名無しさん
2010/03/31(水) 23:55:13ちなみにluaだとGCの動作で2倍くらい速度変わる。
実例として、EU3(市販ゲーム)でGCの調整パッチで
動作速度1.5倍くらい変わった。
0825デフォルトの名無しさん
2010/03/31(水) 23:56:070826デフォルトの名無しさん
2010/03/31(水) 23:58:16ま、普通シビアな分野では
メモリなんて動的に取らんがねw
最初に確保したら後は増え減りもしないw
0827デフォルトの名無しさん
2010/03/31(水) 23:58:360828デフォルトの名無しさん
2010/03/31(水) 23:59:15私が信じていないのは、>>821さんの仰るように、
プログラマーがGCの挙動を理解していないがために
GCへの負荷がかかりすぎてしまうプログラムを書いてしまって
いるのではないかということなんです。
0829デフォルトの名無しさん
2010/04/01(木) 00:00:19dojaがそうだけど、命令してもメモリがあまり使われてなかったらやらないとかいうし。
0830デフォルトの名無しさん
2010/04/01(木) 00:01:02そうそう。
絶対回収されないようにずっと保持して、そこを使いまわすのが普通のスタイル。
newしまくるのは下の下のプログラマのやることじゃないの。
0831デフォルトの名無しさん
2010/04/01(木) 00:01:51負荷の多いコーディングしてしまうのも仕方がないのさ。
0832デフォルトの名無しさん
2010/04/01(木) 00:04:10例で言っただけなんだからっ
0834デフォルトの名無しさん
2010/04/01(木) 00:09:48JavaみたいにGCありの言語で組み込みプログラミングする例だってあるんだから、
やってる人はいるんだよ。
0835デフォルトの名無しさん
2010/04/01(木) 00:11:07つまり、自分で結論出てるじゃないか
GCと言う便利な物があるからと言って、それにすべてを任せたら
まともに動作しない環境がある。昨今のデスクトップPCみたいに
恵まれている環境ばかりじゃないからね。
0836デフォルトの名無しさん
2010/04/01(木) 00:15:450837デフォルトの名無しさん
2010/04/01(木) 00:20:34楽をするためではなくて、むしろ逆のような気がする
0839デフォルトの名無しさん
2010/04/01(木) 00:22:37monadius有名だな
0840デフォルトの名無しさん
2010/04/01(木) 00:25:21あれもgcのせいなのかね。
0841デフォルトの名無しさん
2010/04/01(木) 00:26:57原因が分からない(分かりにくい)のはデメリットだよな。
0842デフォルトの名無しさん
2010/04/01(木) 00:29:00Haskellみたいな遅延評価の言語はGCの挙動がわからん。
0843デフォルトの名無しさん
2010/04/01(木) 00:32:48組み込みにはリアルタイムのものと非リアルタイムのものがある。
リアルタイムのシステムには処理時間の最悪値が保障できないGCは使えない。
スレタイは超高速と謳ってる以上リアルタイムが最低条件だろ。
0844デフォルトの名無しさん
2010/04/01(木) 00:41:09選択可能だとしても、好んで選択する人はあまり居ないと思う。
それだけシビアな環境だとまずはスループットが要求されるわけで、Cやasmが
選択できるなら、そっちを選ぶんじゃないかな。つまりGC単体で処理系を判断
する事はまず無くて、現状のGC搭載言語より、総合してC、asmの方が向いていると
判断する事の方が多いと思うわけだ。
ちなみに「シビアな環境」とはどういう環境かと言うと、
* ヒープは何バイトまで利用します
* スタックは何バイトまで利用します
* どんな事があってもこの処理は何ナノセカンドで戻ります
と言う事を、仕様として明確にして、責任を持たなければならない環境の事なんで
GCが入り込む余地はほとんど無いかも知れない。
0845デフォルトの名無しさん
2010/04/01(木) 00:45:09Cとかアセンブラとかでやるときはプロファイラとにらめっこしながら試行錯誤するけど・・・
どっちも大して変わらんか。
0846素人
2010/04/01(木) 00:49:26C言語でプログラミングしていて、
こういう機能があったらこういうシーンでもっと楽ができるのに!
と思う事があったら教えてください。
0847デフォルトの名無しさん
2010/04/01(木) 00:53:520848デフォルトの名無しさん
2010/04/01(木) 00:54:52ヒープを使わない短い文字列クラス、とか。
でもC++があれば、こういう必要な機能は必要に応じて何でも作れるしな。
0849デフォルトの名無しさん
2010/04/01(木) 01:02:38コンパイル時に分かれば、ムチャクチャうれしいね
0850デフォルトの名無しさん
2010/04/01(木) 01:04:06IDE直結型の検索エンジンが欲しいな。
0851デフォルトの名無しさん
2010/04/01(木) 01:05:38そこで形式的仕様記述言語での設計ですよ。
0852デフォルトの名無しさん
2010/04/01(木) 01:06:24事を起こすならまず最初にやるべき事をやれ
名前を付けろ
0853デフォルトの名無しさん
2010/04/01(木) 01:07:39「kuma-」
これでいいですか
0854デフォルトの名無しさん
2010/04/01(木) 01:08:040855デフォルトの名無しさん
2010/04/01(木) 01:10:10はい
0856デフォルトの名無しさん
2010/04/01(木) 01:11:040857デフォルトの名無しさん
2010/04/01(木) 01:11:23はい
0858デフォルトの名無しさん
2010/04/01(木) 01:12:120859デフォルトの名無しさん
2010/04/01(木) 01:13:290860デフォルトの名無しさん
2010/04/01(木) 01:14:100861デフォルトの名無しさん
2010/04/01(木) 01:14:240862デフォルトの名無しさん
2010/04/01(木) 01:14:29初期段階に名前で存分に悩むのは経済的に正しい
0863デフォルトの名無しさん
2010/04/01(木) 01:15:270864デフォルトの名無しさん
2010/04/01(木) 01:15:31↓
0x7C言語
↓
|言語
0865デフォルトの名無しさん
2010/04/01(木) 01:18:27どうせなら kummer- だろ。
名前以前にコンセプトをどうにかしようぜ。
0866デフォルトの名無しさん
2010/04/01(木) 01:18:43ぐぐれねーよw
0867デフォルトの名無しさん
2010/04/01(木) 01:20:47名無しなのに簡単に特定されたら困るだろ?
0868デフォルトの名無しさん
2010/04/01(木) 01:21:590869デフォルトの名無しさん
2010/04/01(木) 01:22:210870デフォルトの名無しさん
2010/04/01(木) 01:23:290871デフォルトの名無しさん
2010/04/01(木) 01:24:260872デフォルトの名無しさん
2010/04/01(木) 01:27:380873デフォルトの名無しさん
2010/04/01(木) 01:33:29組み込みやリアルタイムでもそこまでメモリシビアじゃないのも多いよ
特に32bit RISCの奴。
でも時間に関しては結構シビアだったりするな。
ただそういうのでも全てが時間制限あるわけじゃないし
単純にスループットならGCありでも稼げるしね。
GCが記述で決めれるなら静的に解析も出来るし
高プライオリティなのはNon GC, どうでもいい処理はGCありとか出来る
0874デフォルトの名無しさん
2010/04/01(木) 01:44:03かつGCしたいときにGC命令を実行すればGCしてくれるようにするのはどうだろう。
0875デフォルトの名無しさん
2010/04/01(木) 01:48:35でもそれがメリットでもある
GC除外の宣言を変数にできたらどうだろ
0876デフォルトの名無しさん
2010/04/01(木) 01:49:34> {}がある方がブロックが明確でいいが強要はいやだな
python使うまではインデントブロックが強要されるのは気持ち悪いと思っていたけど、
実際に使ってみると案外メリットばかり感じるようになるんだよね。
{}のブロックだとどこからどこまでがブロックなのか、非常に視認性が悪い。
もちろんemacsなどのエディタでは自動でインデントしてくれるが、し忘れることもあって、
例えば多重ifなどで範囲を間違って読んでしまうこともある。
0877876
2010/04/01(木) 01:52:01プログラミング言語は道具なだけに。
0878デフォルトの名無しさん
2010/04/01(木) 01:58:37確保はしないんじゃね
0879デフォルトの名無しさん
2010/04/01(木) 02:00:35視認性に関してはエディタに強く依存すると思う。
インデント強制は保守の面から悪くないとは思うけど。
ところで関数は
public static int hoge(int aaa,String bbb = null){}
なの?
public static function(aaa:int, bbb:String = null):int{}
の方がなんとなく好きなんだけど。
0880デフォルトの名無しさん
2010/04/01(木) 02:12:29言語によるよ
0881デフォルトの名無しさん
2010/04/01(木) 02:14:430882デフォルトの名無しさん
2010/04/01(木) 02:37:262. その他(構文、ライブラリ)はPython
がベスト
0883デフォルトの名無しさん
2010/04/01(木) 02:52:55>1. 速度、移植性はC
>2. その他(構文、ライブラリ)はPython
2はインデントブロックに関しては賛成
ライブラリはjava流が簡単な気がする。
0884デフォルトの名無しさん
2010/04/01(木) 06:29:30Cがよくわからないからpython風に書きたいです、って言ってるだけじゃん
0885デフォルトの名無しさん
2010/04/01(木) 06:30:490886デフォルトの名無しさん
2010/04/01(木) 06:45:59強力で高速で普及してればいいから、C++で全く困らない
0887デフォルトの名無しさん
2010/04/01(木) 08:35:25それ目指してんのがgolangだな
0888デフォルトの名無しさん
2010/04/01(木) 08:36:090889デフォルトの名無しさん
2010/04/01(木) 08:36:520890デフォルトの名無しさん
2010/04/01(木) 09:32:440891デフォルトの名無しさん
2010/04/01(木) 12:02:42書き方なんて簡単な方がいいよ
問題は何をどう書くかだから
それで職失うってのはそもそも不毛な仕事で不要な人間だわw
0892デフォルトの名無しさん
2010/04/01(木) 12:08:38経営者が「俺でも分かる」と思い込んじゃって給料減らされるから。
0893デフォルトの名無しさん
2010/04/01(木) 12:14:000894デフォルトの名無しさん
2010/04/01(木) 12:14:120895デフォルトの名無しさん
2010/04/01(木) 12:32:03C/C++が普及しているのはC/C++が簡単だから?
0896デフォルトの名無しさん
2010/04/01(木) 12:34:34LinuxやWindowsがC言語で作られているので、システムコールがC言語の関数ベースだから。
0897デフォルトの名無しさん
2010/04/01(木) 12:42:16歴史。実用的で無駄の少ないコードがこのコンパイラ言語のおかげでずいぶん楽になったね、
って言う歴史
0898デフォルトの名無しさん
2010/04/01(木) 14:23:42CycloneはGCではなくregion based memory managementだな。
つか今のメモリー管理システムのトレンドってなんだろうな。
年表あればいいんだが。
>>892
無能な経営者は淘汰されるから心配しなくてもいい。
むしろバグ・ケアレスミス・保守や記述の冗長性が減れば
開発者の健康面で良いし、安全性や生産性があがるんで、
そっちのほうが重要だな。
それでプログラマの自殺減ったり開発がしやすくなればいいと思う。
0899デフォルトの名無しさん
2010/04/01(木) 14:39:08ttp://web.yl.is.s.u-tokyo.ac.jp/
ttp://www.rcis.aist.go.jp/project/FailSafeC-ja.html
0900デフォルトの名無しさん
2010/04/01(木) 14:42:19その手の手法は既に C++/CLR で出来るな
新しいものなんて何も必要なかったんだ
0901デフォルトの名無しさん
2010/04/01(木) 14:52:090902デフォルトの名無しさん
2010/04/01(木) 16:01:44馬鹿め
無能な経営者は毎年途切れる事無く補充されるってことを知らんのか
0903デフォルトの名無しさん
2010/04/01(木) 16:15:25大丈夫、この不況でだいぶ消毒されたから。
0904デフォルトの名無しさん
2010/04/01(木) 16:19:010905デフォルトの名無しさん
2010/04/01(木) 16:29:05>>900
MSの作ったモノは。。。(ry
といいたいが、仕様見てみた。こんなもんかね。
0906デフォルトの名無しさん
2010/04/01(木) 16:36:41この不況で無能なエンジニアは就職できないんですよ。
だから少なくとも今年の新卒エンジニアは無能じゃない。
0907デフォルトの名無しさん
2010/04/01(木) 16:41:430908デフォルトの名無しさん
2010/04/01(木) 17:11:27パフォーマンス必要な所だけCかasmで書いて、
あとはなんでもいいやー、な気分になってきてしまいました。
結局、今と変わらん。
0909デフォルトの名無しさん
2010/04/01(木) 17:12:40そのパフォーマンス必要な所を書く言語を作ろうと言っているわけで。
0910デフォルトの名無しさん
2010/04/01(木) 17:27:23それともネタスレなので終了か?
次スレなら今の段階でスレ内容をまとめて>>2とかに貼るアレが必要だな。
0911デフォルトの名無しさん
2010/04/01(木) 17:29:460912デフォルトの名無しさん
2010/04/01(木) 17:35:00決まったこと:
言語名「kuma-」
0913デフォルトの名無しさん
2010/04/01(木) 17:35:180914デフォルトの名無しさん
2010/04/01(木) 17:40:200915デフォルトの名無しさん
2010/04/01(木) 17:51:25ならCでよくね?
完
0916デフォルトの名無しさん
2010/04/01(木) 17:56:320917デフォルトの名無しさん
2010/04/01(木) 18:27:58次スレ作るならfc2 Wiki借りてくるが?ただし末尾のハイフン使えないサービスだから
そのままURLにするのは無理。次のうち一つ選んでくれ。
kuma-minus, kumamin, kumamens, kumaminkind, mrbear, mrkuma
0918デフォルトの名無しさん
2010/04/01(木) 18:48:570919デフォルトの名無しさん
2010/04/01(木) 18:55:470920デフォルトの名無しさん
2010/04/01(木) 19:01:14stackless Cとかどう?
0921デフォルトの名無しさん
2010/04/01(木) 19:04:250922デフォルトの名無しさん
2010/04/01(木) 21:52:040923デフォルトの名無しさん
2010/04/01(木) 21:59:14欲しい機能を追加していくとC++になっちゃうな。
0924デフォルトの名無しさん
2010/04/01(木) 22:07:19golangみたいに並列で動くとリアルタイム性が失われるので、
手動でタスクを切り替えられるようなコマンドを用意するとか。
0925デフォルトの名無しさん
2010/04/02(金) 02:05:42プリエンプティブなマルチスレッドにすればリアルタイム性は確保できる
プリミティブでPriority Inversion Safeなmutexと
シンプルなセマフォとメッセージがあればOKじゃね
手動での実行権放棄もありで。
。。。。言語にRTOS機能組み込みだなw
0926デフォルトの名無しさん
2010/04/02(金) 02:06:16現状カーネルやドライバ等を記述できる言語で実用的なのは、asm, C, C++って所だけど、
この中で一番機能豊富なのはC++である事は言うまでもない。にも関わらずC++が使いにくい
という印象があるのは、言語仕様が大きく、その割りに標準ライブラリが貧弱だから。
で…、
1. C++で使わない事にする機能をリストアップする
2. 標準ライブラリとして利用すべきライブラリをリストアップする
つまりコーディング規約を作ってみると言う話しだ。
0927デフォルトの名無しさん
2010/04/02(金) 02:06:540928デフォルトの名無しさん
2010/04/02(金) 02:14:090929デフォルトの名無しさん
2010/04/02(金) 02:19:000930デフォルトの名無しさん
2010/04/02(金) 02:29:583時間1万円くらいなら教えるけど。
そんなどーでもいいこと気にしてないで言語を一通り覚えて、
なんか実用的なソフトを一つ開発すれば、データの扱いなんたるかだいたいわかるよ。
今の段階じゃ無理。
0931デフォルトの名無しさん
2010/04/02(金) 02:31:050932デフォルトの名無しさん
2010/04/02(金) 02:32:410933デフォルトの名無しさん
2010/04/02(金) 02:38:32えらい人にはわからんのですよ
0934デフォルトの名無しさん
2010/04/02(金) 03:12:26なんて要らないから vtbl は無くてもいいな。
0935デフォルトの名無しさん
2010/04/02(金) 03:32:21実装を伴うクラスは、継承できなくてもいいかも知れない。
0936デフォルトの名無しさん
2010/04/02(金) 04:37:30高級マクロとしてのクラスとテンプレートで十分。
でも実装の継承はもちろん要る。
異論はあるだろうけど。
とかバカ書いてて思ったけど、proxy パターンとか delegation というか
メッセージの forwarding を簡潔にやれる文法あると良いな
0937デフォルトの名無しさん
2010/04/02(金) 06:15:160938デフォルトの名無しさん
2010/04/02(金) 07:19:430939デフォルトの名無しさん
2010/04/02(金) 07:26:34今後はハイエンドの組み込みからシンメトリカルなマルチコア化が進んでいくだろうから
無意味とも言えないな
0940デフォルトの名無しさん
2010/04/02(金) 07:45:16どうやってスレッドの管理をしているのかを考えてみよう。
0941デフォルトの名無しさん
2010/04/02(金) 11:25:45標準ライブラリで良いと思うけど。
0942デフォルトの名無しさん
2010/04/02(金) 12:56:36と言ってるだけなのが良く分かる流れだな
0943デフォルトの名無しさん
2010/04/02(金) 12:57:090944デフォルトの名無しさん
2010/04/02(金) 13:15:59いいじゃん、それで言語ができちゃったら面白いじゃん。
0945デフォルトの名無しさん
2010/04/02(金) 13:19:370946デフォルトの名無しさん
2010/04/02(金) 13:20:36激遅だけど。
0947デフォルトの名無しさん
2010/04/02(金) 13:22:310948デフォルトの名無しさん
2010/04/02(金) 13:29:27全てをクラスとして表現し、プログラマがメモリ管理などを気にせずコーディングできる様な
そんな新しい言語をつくりました。それがあなたの得意なそれです。
0949デフォルトの名無しさん
2010/04/02(金) 13:36:570950デフォルトの名無しさん
2010/04/02(金) 14:19:02言語に組み込んであるのがポイントなんだよ
0951デフォルトの名無しさん
2010/04/02(金) 14:26:27あたかも最初から言語に組み込まれていたかのように見えるような仕様を考えてみようよ。
0952デフォルトの名無しさん
2010/04/02(金) 14:34:06それではここで言う低級でなくなる
0953デフォルトの名無しさん
2010/04/02(金) 14:37:41言語設計なんて話題では感覚が違いすぎて雑音にしかならない
だが、触れる奴ならCで大して困らない
0954デフォルトの名無しさん
2010/04/02(金) 14:39:240955デフォルトの名無しさん
2010/04/02(金) 14:40:150956デフォルトの名無しさん
2010/04/02(金) 14:57:21全部アセンブラで作ろう。
すると低級言語作るのに悪くないし、馬鹿よけにもなるので変な話題が入ってこない。
0957デフォルトの名無しさん
2010/04/02(金) 15:00:36移植性悪いじゃん。
馬鹿除けならHaskellで作ろうぜ。
0958デフォルトの名無しさん
2010/04/02(金) 16:45:50D言語じゃねーかよ
0959デフォルトの名無しさん
2010/04/02(金) 16:59:12馬鹿除けはFAQ読みな!の一言で片付けるからいいがアセンブリだと?
つかBDS Cかよ。
実装の汎用性求めるなら初期段階はスクリプト言語上に実装するのもあり。
0960デフォルトの名無しさん
2010/04/02(金) 17:18:050961デフォルトの名無しさん
2010/04/02(金) 18:14:19さっさとこの糞スレ埋めて仕事に戻れよ
0962デフォルトの名無しさん
2010/04/03(土) 09:14:04言語訓練のために立てたものでした。
アイと研究員とのやり取りに利用するスレッドに書き込まれた、
関係者各位の皆様、ご協力ありがとうございました。
京都大学霊長類研究所
0963デフォルトの名無しさん
2010/04/03(土) 10:15:220964デフォルトの名無しさん
2010/04/03(土) 10:41:160965デフォルトの名無しさん
2010/04/03(土) 14:20:17【超高速】C/C++に代わる低級言語を開発したい 2
http://pc12.2ch.net/test/read.cgi/tech/1270254244/
0966デフォルトの名無しさん
2010/04/03(土) 15:29:140967デフォルトの名無しさん
2010/04/03(土) 16:04:30ただのネタスレで話も同じ事の繰り返し=進展しようが無いのに
なんでパート化させてんだ
ネタ雑談スレ立てたいならせめて違うアイデアにしろよ
0968デフォルトの名無しさん
2010/04/03(土) 17:01:19アイちゃんの訓練のために立ててるんだよ
0969デフォルトの名無しさん
2010/04/03(土) 23:48:470970デフォルトの名無しさん
2010/04/04(日) 23:05:020971デフォルトの名無しさん
2010/04/05(月) 01:05:48何人かで強力しないと。
990とかギリギリになってから、次のスレたてれば良かったんだよ。
0972デフォルトの名無しさん
2010/04/05(月) 01:43:260973デフォルトの名無しさん
2010/04/05(月) 01:54:571200レス消費しても何から決めるかすら決まってねえのにw
0974デフォルトの名無しさん
2010/04/05(月) 02:32:260975デフォルトの名無しさん
2010/04/05(月) 03:02:560976デフォルトの名無しさん
2010/04/05(月) 04:30:020977デフォルトの名無しさん
2010/04/05(月) 08:33:240978デフォルトの名無しさん
2010/04/05(月) 09:44:530979デフォルトの名無しさん
2010/04/05(月) 10:37:160980デフォルトの名無しさん
2010/04/05(月) 11:27:120981デフォルトの名無しさん
2010/04/05(月) 12:15:480982デフォルトの名無しさん
2010/04/05(月) 14:10:03レス数が950を超えています。1000を超えると書き込みができなくなります。