【超高速】C/C++に代わる低級言語を開発したい 5
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/05/07(金) 11:36:35しかし、2010年の今、もしもCが発明されていなかったとして、低レベルなシステム開発のためのプログラミング言語を
新たに作るとしたら、Cとは違う言語になるだろう。少なくとも、全く同じにはならないはずだ。
そこで、このスレッドでは、
低レベルなシステム開発のためのプログラミング言語
を一から考えたい。
既存の言語を使って何かをすることが目的ではなく、新たなプログラミング言語を考えることが目的であるから、
「既存のXX言語を使えばいい。」という類の発言は無意味である。
「既存のYY言語のZZ機能は、WWと言う点で有用だから採用したい。」という発言は歓迎だ。
現代の一流のプログラミング言語研究者が、最先端の研究成果を盛り込んで、
一から低レベルなシステム開発のためのプログラミング言語を作るとしたら、どのような言語になるだろうか、
という観点で考えたい。
◆前スレ
【超高速】C/C++に代わる低級言語を開発したい 4
http://pc12.2ch.net/test/read.cgi/tech/1271980246/
0153デフォルトの名無しさん
2010/05/08(土) 01:33:50停止性問題と同じくGCが必要か否かを証明する方法はない
単に不要と判断するならGCを殺せばいい
0154デフォルトの名無しさん
2010/05/08(土) 01:35:58>「GCが必要かどうかの自動判断」
自動判断を行うためにはリソースの生死を確認する必要があるわけで。結局GC回す必要がある。
コンパイル時に全部スタックに乗っているかどうかをチェックさせるという手もあるとは思うけど、
それならGC自体が不要だわな。
0155デフォルトの名無しさん
2010/05/08(土) 01:36:16↓最初の方、どぞ
0156デフォルトの名無しさん
2010/05/08(土) 01:36:36停止性問題と同じではないでしょ。
GCよりもコンパイラーの方がメタなわけだし。
GCにGCの必要性は証明できないかもしれないけど、コンパイラーがGCの必要性を証明できないって事にはならないのでは。
0157デフォルトの名無しさん
2010/05/08(土) 01:44:16> 自動判断を行うためにはリソースの生死を確認する必要があるわけで。結局GC回す必要がある。
いや、「GCが必要かどうかの自動判断」というのは、リソースの生死の確認ではなく、リソースの生死の確認が必要かどうかの確認だよ。
後者にはGCは必要ないよね?
0158デフォルトの名無しさん
2010/05/08(土) 01:46:12malloc使わなければfreeいらないのと同じ
0159デフォルトの名無しさん
2010/05/08(土) 01:57:33>リソースの生死の確認が必要かどうかの確認
所有者のハッキリしないリソースがあるかどうかというのをコンパイル時点にコンパイラに判断させるのは至難の業。
結局プログラム自体を実行させる必要が出てきて、やっぱりGC回さなきゃ判らんよね、ということになるよ。
0160デフォルトの名無しさん
2010/05/08(土) 01:59:34> 所有者のハッキリしないリソースがあるかどうかというのをコンパイル時点にコンパイラに判断させるのは至難の業。
このあたりがもう少し具体的になると議論が深まるかも。
0161デフォルトの名無しさん
2010/05/08(土) 01:59:56ただ、一部のCユーザにはGC無しで自分でメモリ管理をする方が望ましいわけでしょ?
だったら両方できればいい
0162デフォルトの名無しさん
2010/05/08(土) 02:06:45http://pc12.2ch.net/test/read.cgi/tech/1141646850/
0163デフォルトの名無しさん
2010/05/08(土) 02:08:16GCを回しても、所有者のハッキリしないリソースがあるかどうかというのはわからないのでは。
GCで知れるのは、リソースの所有の有無と、所有者だよね?
所有者がハッキリするかどうかは別の問題ではないかと。
0164デフォルトの名無しさん
2010/05/08(土) 03:01:11リソースの管理に関しては主に確保->(保持<->譲渡)->放棄という局面があるわけなんだけど、それらを紐付けて
関連付けるのはなかなか難しいことで。
あるオブジェクトが確保したリソースを複数のオブジェクトで盥回しにして解放するというのは良くある状況だけど、
普通のc++なんかのソースコードだとそれぞれモジュール化されて切り離されているから、それをコンパイル時に統合して
トレースするのはかなり大変なんじゃない?
ということ。
>159
コンパイラが所有者のハッキリしないリソースを見つける≒コンパイル時にGCが必要な状況を見分ける
ぐらいの意味ですな。
0165デフォルトの名無しさん
2010/05/08(土) 03:10:450166デフォルトの名無しさん
2010/05/08(土) 03:25:17通常のオブジェクトはCと同じように関数(グローバル)スコープでのみ生存し、
それとは別にDynamicObjectみたいな組み込みクラスを用意して、それを
継承したオブジェクトはGC対象にしようと思っています。
で、コンパイルオプションでDynamicObject自体を抑制できる、みたいな。
てのはどうでしょうかね?
0167デフォルトの名無しさん
2010/05/08(土) 03:41:410168デフォルトの名無しさん
2010/05/08(土) 05:55:57だれも便利は求めてないぞ(w
安全性が高い=便利だけどね。
>>107
代替そちが有れば良いけどまるで出来ないのは辛い。
>>108
>>1を嫁よ、C言語と文法上の互換性は必要ない。
ただしオブジェクトリンケージとか、C、C++、JAVA
D,Go,C#で色々見知った事を生かしたい。
0169デフォルトの名無しさん
2010/05/08(土) 05:58:42二兎を追うんじゃなくて、美味なる一匹
0170デフォルトの名無しさん
2010/05/08(土) 06:01:42>int[] div(int a, int b){
> int[] result = new int[2];
> result[0] = a / b;
> result[1] = a % b;
> return result;
>}
これ良い例だと思うんだけど、呼び出し元では
void foo(){
int[] ret;
ret = div(13, 5);
return;
}
てな事になってヤバイよね
0171デフォルトの名無しさん
2010/05/08(土) 07:44:37> マクロはプリプロセスなので必ずインライン展開される。その違いを認識せよ。
どっちにしろ「意図通り」のコードを吐いてくれるかどうかなんてわからない。
50歩100歩。すっぽすっぽたんの言う通り、字面で書き換えを行うことによる
言語上の弊害のほうがきわめて大きい。
0172デフォルトの名無しさん
2010/05/08(土) 08:01:39定数に限っては意図どおりに展開されるよ
0173デフォルトの名無しさん
2010/05/08(土) 08:13:49なので前スレか、前々すれで提案した。
戻り値タイプ 関数名
Source(), ←値渡しがデフォルト
Parameter(), ←const リファレンスがデフォルト。
Result(), ←リファレンス
Exception(); try文の糖衣構文でcatchするオブジェクトを指定できる
まだ考え中なんだけどさ、こういう関数定義にしておいて。
void foo(){
int[2] ret;//retはスコープ内の寿命
mathEx mEx;
div.Source(13, 5);
div.Result(ret);
div.Exception(mEx);
div.call(){
catch(mEx == overfllow){
}
catch(mEx == divbyzero){
}
}
return;
}
0174デフォルトの名無しさん
2010/05/08(土) 08:15:10なんて風に行けると、コンパイラも最適化しやすいだろうし、
プログラミングもやりやすくなると思うんだよね。
構文については酷いし、例外はもっと考えないと不味いだろうけども。
例外についても2種類有るってのをどうやっていくか、とか、本当に2種類なのか
とか。
0175デフォルトの名無しさん
2010/05/08(土) 08:23:050176デフォルトの名無しさん
2010/05/08(土) 08:26:360177デフォルトの名無しさん
2010/05/08(土) 08:45:34不要だという人が多い。
ジェネリックスや多態性等で解決できるという主張だ。
でもジェネリックスを使いやすく発展させることを考えると
マクロに近づいていくというのがD言語のジェネリックスを見れば分かるかと。
C言語がプリプロセッサと言語は分かれているようにマクロ部分と言語本体は分ければいい。
HaskellとかOcamlはそうなっている。
ジェネリックスというかC++のテンプレートはオブジェクト指向とは直接関係しない、
コンパイルタイムにプログラムを作成する関数指向なプログラムだから。
0178デフォルトの名無しさん
2010/05/08(土) 08:53:05bool div
Source(int a, int b),
Result(int[] result);
Exception(mathEx mEx);
{
mathEx& localmEx; //これを呼び元関数がException
if(mEx == NULL){ //を設定してるかどうかによって
localmEx = new mathEx(); //コンパイラが自動設定。
localmEx.setlocal(); //スコープの問題や
}else{ //変数寿命の問題が残るので、熟慮が必要。
localmEx = mEx; //
} //
if(0 == b){
localmEx.setdivbyzero;
throw localmEx;
}
result[0] = a / b;
result[1] = a % b;
return result;
catch(localmEx){
if(local.divbyzero() && localmEx.islocal()){
printf("divbyzero\n"); //呼び出し元が例外を受け取らないのなら
abort(); //例外を投げる側がシステム設定を定義。
}else{
throw localmEx; //呼び出し元が例外を受け取るならそちら任せる。
}
}
}
0179デフォルトの名無しさん
2010/05/08(土) 08:55:41こうすればスタックの巻き戻しという大がかりな機構が必要なくなるし、
記述の一貫性が保てて良いと思うんだけど、例外の利点を何か失いそうな
感じがしてる。でもそれが何かまだ分からない。
0180デフォルトの名無しさん
2010/05/08(土) 09:32:56>>178のコンパイラ自動設定の部分は、>>173で示したように、
Exceptionを関数定義で定義するかどうかによって、判断したら、
つまり、Exception引数を定義しなければ、旧来のC言語関数と
同じイメージになる。としてしまえば、総ての関数に、例外処理
というコードが組み込まれるのも避けられると思うんだ。
後、Source,Parameter,Resultに関しても関数定義するときに名前が
付くだけで、実際はC言語の引数リストと同様なので、旧来のシステム
と混在が可能だと思うんですよ。
提案の狙いはこの部分なので、お前の稚拙考えだとそれは実現できないとか
こんな場合はどうするとか、言ってくれると嬉しいんだけど、ここは2ch
なので>>175なのかもしれない。
0181デフォルトの名無しさん
2010/05/08(土) 09:42:110182デフォルトの名無しさん
2010/05/08(土) 09:49:16無意味なこと書き込むお前ほどではない。
0183デフォルトの名無しさん
2010/05/08(土) 09:59:190184デフォルトの名無しさん
2010/05/08(土) 10:08:37人を馬鹿にするときには馬鹿にする前に馬鹿にする相手を論破しておかないと馬鹿にしているやつが馬鹿に見える。
お前のように実社会で馬鹿にされているからここにきて馬鹿にしに来ているやつにありがち。
0185デフォルトの名無しさん
2010/05/08(土) 10:16:22馬鹿しかしないわなw
0186デフォルトの名無しさん
2010/05/08(土) 12:33:10必要以上に記述量が多いので大部分の人は使ってくれないでしょう。
記述量が多い割に、値か関数かの判定は先読みしなければならないのも嬉しくない。
強力なマクロも実現できそうにない。
例外を関数読んだあとに直ぐにキャッチしなきゃいけないなら、
返り値でいいでしょう。
返り値らしいboolはどこで返してるのか、使っているのか分からない。
0187デフォルトの名無しさん
2010/05/08(土) 12:40:44話したいなら、そこだけ話せばいいのでは?
例外処理を入れるとなるとC++の例外処理では機能不足で関数毎に
例外処理のためのコードを入れる必要があると考えていて、
例外をjavaの検査例外にしておけば、例外投げないソースだけなら、
例外の処理を関数ごとに入れる必要がなくなってよいと思ってると
いうことですか?
0188デフォルトの名無しさん
2010/05/08(土) 13:12:35>必要以上に記述量が多いので大部分の人は使ってくれないでしょう。
その辺は後から有る程度はどうにでもなるから気にしてない。
P_,S_,R_,E_とかでも良いわけだしね。
それに大規模(ソース行数がミリオン超えっていみな)開発していくと、
結構みんな、逆にフルスペリングの方が間違いが無くて良いって事になる。
例えて言うと、GUI系のライブラリなんかそうだよね。
>>187
いや、JAVAもC++も同じなんだけど、スタックの巻き戻しやって、
最後にシステム基底のデフォルト例外処理にぶち当たるんだけど、
システム基底の例外処理にぶち当てるか、自分で例外キャッチするのかを
一番よく知ってるのは、呼び元の関数だろ、なに世界一周旅行に出かけなきゃ
ならないんだ?って部分への疑問を解決するためのコードというか例外処理。
0189デフォルトの名無しさん
2010/05/08(土) 13:15:47>>187
>もしも新しいC言語に例外を組み込むとしたらどのようにしたらよいかを
>話したいなら、そこだけ話せばいいのでは?
関数定義も変更したいのとセットで語りたい部分だから。
>>178の下の部分は
catch(localmEx){
if(local.divbyzero() && localmEx.islocal()){
system_default("divbyzero"); //こんな感じにシステムデフォルトにする事もできるしさ
abort();
}else{
throw localmEx; //呼び出し元が例外を受け取るならそちら任せる。
}
0191デフォルトの名無しさん
2010/05/08(土) 13:17:15いや、単語の長さとか、そういうレベルじゃない。
個人的には、お前は根本的にセンスがないと思う。
0192デフォルトの名無しさん
2010/05/08(土) 13:19:23気分の議論は無意味だよ。とか書いても理解力は無いか。
まぁニギヤカシがいてるのが2chなのでしょうがない。
0193デフォルトの名無しさん
2010/05/08(土) 13:28:27いや、気分の話じゃない。
言語を作るときに必要なのものとして、機能と文法があるとして、
文法の部分はかなりセンスを必要とする。
お前の主張の例外の扱いの「機能」については、受け手が受け取られるか
どうかを判別できるようにする、というだけで、まったく魅力的な機能ではない。
そして、文法的にも全然すっきりしていない。
機能としても新しくなく、文法としても魅力がないものを訴えても、そりゃ
誰も理解を示さない。
0194デフォルトの名無しさん
2010/05/08(土) 13:36:19低級言語を低級ではない分野にも再利用したいとか
一からBNFを書き直すのではなくパーサーをカスタマイズしたいとか
そういう話題が多い
0195デフォルトの名無しさん
2010/05/08(土) 13:36:23直上の呼び出し元しか例外処理できないなんて無茶だわ。
そもそも「何の関数が呼び出したの?」という問題もあるし、結局まともに例外を実装しようとしたら
全部の関数にcatchを付けなきゃいけなくなって、オーバーヘッドが酷いことになるわな。
あとマクロとの相性が最悪なことになりそう。
例外は「異常事態用の専用フローを用意する」ということが重要なのであって、例外発生時の効率を
考えるのは筋が悪いですな。
そんなことをするんだったら、forthみたいにスタックを直接操作できるようにした方が100倍マシ。
0196デフォルトの名無しさん
2010/05/08(土) 13:42:04>直上の呼び出し元しか例外処理できないなんて無茶だわ。
なんで? これがよく分からない。
>そもそも「何の関数が呼び出したの?」という問題もあるし、
ねーよ馬鹿。
0197デフォルトの名無しさん
2010/05/08(土) 13:43:04だから、気分を語られても困るって(www
0198デフォルトの名無しさん
2010/05/08(土) 14:04:09お前……例外使ったことないだろ。
細かい関数(thunkとか)実装した時に、それぞれの関数にcatchを用意しなきゃいけなくなるんだぜ?
オーバーヘッドで死んでしまうわ。どこの高水準言語だ
>何の関数が呼び出したの?
サブルーチンだけに閉じてればOKだけど、もうサブルーチン決め打ちに決定したのか?
またマクロの実装をどうするか、遅延評価をどうするかとか色々な要因があるんだけど。
まあ、例外を効率化しようなんて馬鹿考えるやつなら想像力もこんなもんか。
0199デフォルトの名無しさん
2010/05/08(土) 14:12:100200デフォルトの名無しさん
2010/05/08(土) 14:21:47GC必須にしたら結局低級言語にならないという
結論に到達するなw
0201デフォルトの名無しさん
2010/05/08(土) 14:23:37お前デザインパターンを駆使するとdeleteするタイミング考えるの大変だぞ
0202デフォルトの名無しさん
2010/05/08(土) 14:34:18クラウドを駆使するとソケットを閉じるだけだぞ
0203デフォルトの名無しさん
2010/05/08(土) 15:05:58v,ok = a / b
v,r = a /% b
v,r,ok = a /% b
ま、そもそも0かどうか検査しなさいってこった。またはエラーを返して処理しなさいってこった。
例外はCPUの例外の様に異常度が高いものに限るべきで、その際は大域脱出した方がいい
例は割り算だが大規模でも小規模でもおなじ。例外は起こさない様にするのが原則。
CPU固有君は最初から話がズレてる。
バラメータとソースとかも全く意味不明で戻り値の宣言も。f(g())出来ないとか、C++的オブジェクトありきとか。
0204デフォルトの名無しさん
2010/05/08(土) 15:11:04ゼロ除算は結構簡単に発生するから良い例なんだよね。
異常度が高いというレベルで考えれば、数学概念を破壊するほど
高い異常な事態なんだけど、会計処理なんかでどかんと
処理したいときなんかは、簡単に発生するし。
0205デフォルトの名無しさん
2010/05/08(土) 15:18:22そんなクリティカルな部分で悩むのにデザインパターンを
採用するのがキチガイなんだよね。
0206デフォルトの名無しさん
2010/05/08(土) 15:57:37知恵遅れなの?
0207デフォルトの名無しさん
2010/05/08(土) 16:04:32ただ0除算例外の回避方法が、事前に0かどうか検査する、ってのはちょっと違う。
それは特定の例外を回避する方法に過ぎず、一般的にどんな例外が
起きるかはやってみないと分からない場合に使えない。
例外に代わる仕組みとしては、システムコールのerrnoみたいに
どこか別にエラー情報を持つのがいいと思う。
たとえば、
a = b / c;
if(errno == division_by_zero)
/* 0除算時の処理 */
あるいは、
(a, errno) = b / c;
ですかね。
goみたいだけど
0208デフォルトの名無しさん
2010/05/08(土) 16:16:58> >>178
> 必要以上に記述量が多いので大部分の人は使ってくれないでしょう。
それが使ってるんだな、Javaで。弱冠文法が違うが。
0209デフォルトの名無しさん
2010/05/08(土) 16:19:210210デフォルトの名無しさん
2010/05/08(土) 16:24:270211デフォルトの名無しさん
2010/05/08(土) 16:26:01未然に防ぐ方法を考えろや
0212デフォルトの名無しさん
2010/05/08(土) 16:28:07ファイル開けなかったらabortすればいい
0213デフォルトの名無しさん
2010/05/08(土) 16:28:11たまにしか使わない部分は長いほうがいいかもしれない。
でも、言語は常に使う部分だから短いほうがいい。
CもRubyも短くかけるから好まれる。
例外の話に限ればもっと話してもいいかも。
>>189
関数定義の段階で賛同していないけど、例外処理の話はしてもいい人とも
話せなくなるよ。
0214デフォルトの名無しさん
2010/05/08(土) 16:59:49言語仕様をどうするかって話をしてるので、
俺の提案は、関数仕様ごと改革するべき、
という提案の中に例外が含まれている。
例外だけを話したい人は、その主旨を汲んでくれないと、
俺の側からはまだ歩み寄れない。分かるかな?これ。
言語仕様って部分と全体が有るので、部分ばかり追い求めると
機能AとBが当たり困ったりするじゃん。
もちろん例外だけを話したい人でも、その方法では例外のこれが
このように出来ないとちゃんと(訳の分からないOS持ち出さず)
話してくれるのなら聞く用意はとてもある。
0215デフォルトの名無しさん
2010/05/08(土) 17:01:51OSとか作る場合他のプロセスの発生した例外の
トラップとか必要なわけでjavaなんか真似ても
全く使い物にならない件。
0216デフォルトの名無しさん
2010/05/08(土) 17:04:010217デフォルトの名無しさん
2010/05/08(土) 17:10:47構文に入れちまったのはC++やJavaの設計ミスと思うがね
0割の例ならCPUがトラップする時点でランタイムやOSが関与するし、発生しないCPUもある
言語よりランタイムの話でいんじゃね
0218デフォルトの名無しさん
2010/05/08(土) 17:13:260219デフォルトの名無しさん
2010/05/08(土) 17:17:420220デフォルトの名無しさん
2010/05/08(土) 17:51:440221デフォルトの名無しさん
2010/05/08(土) 17:59:330222デフォルトの名無しさん
2010/05/08(土) 18:10:480223デフォルトの名無しさん
2010/05/08(土) 18:12:17汚いのは当然
0224デフォルトの名無しさん
2010/05/08(土) 18:16:20まさかsetjmp/longjmpを使えとか言うんじゃないよな。
0225デフォルトの名無しさん
2010/05/08(土) 18:20:00VBみたく
結局ブロックでネストさせんのが面倒ってことだろ
0226デフォルトの名無しさん
2010/05/08(土) 18:23:52OSとか組込とか例外自身を記述するのはどうすんだ?
0227デフォルトの名無しさん
2010/05/08(土) 18:27:220228デフォルトの名無しさん
2010/05/08(土) 18:28:190229デフォルトの名無しさん
2010/05/08(土) 18:36:53金粉かけても汚いモンはきたないし。
あんなモン構文にいれちまうから
エラー処理まで例外にしちまうバカがでるし、
無用なオーバーヘッドを意識せずにつかっちまう
0230デフォルトの名無しさん
2010/05/08(土) 18:39:25なら関数仕様をどうするつもりなのか説明しないと話にならんな。
エスパーじゃないんだから、まとめて話してもらわんとわかるわけ無いだろ。
単にc++の例外仕様を変更しただけっつうなら単なる不燃ゴミだがな。
0231デフォルトの名無しさん
2010/05/08(土) 18:39:250232デフォルトの名無しさん
2010/05/08(土) 18:39:48デザインパターンは普段当たり前のように使っているものでブームではないはずなんだが。
デザインパターンとクラウドは直交する概念
0233デフォルトの名無しさん
2010/05/08(土) 18:40:17scheme
0234デフォルトの名無しさん
2010/05/08(土) 18:42:53賢い発言してくれよ
0235デフォルトの名無しさん
2010/05/08(土) 18:43:37どこがクリティカルでどこがキチガイなんだ。
JavaやC#では「デザインパターンありき」で開発するからどこでメモリ解放するかを
きっちり意識する必要はないんだが。staticイニシャライザやProxyパターンを使わないでループ内でしつこく無駄にnewしてるわけでもなかろうし。
むしろぞんなメモリのことでキチガイのように無駄に悩む必要がないからデザインパターンを使えるわけだが。
0236デフォルトの名無しさん
2010/05/08(土) 18:51:39DivideByZeroExceptionを実装する代わりに
MATLABのように
0/1
と入力すると
Inf (無限大)と出力でもする仕様にするのか?
pow(-1,1/2) (-1の平方根)と入力するとNaNと出力せずに
i (虚数)
と出力する複素数型仕様にでもするのか?
0237デフォルトの名無しさん
2010/05/08(土) 18:52:22C#、PHPで導入されているが何か
0238デフォルトの名無しさん
2010/05/08(土) 18:53:49スレタイにC++が入ってるのがそもそも良くないんだが
0239デフォルトの名無しさん
2010/05/08(土) 18:58:40新C言語を作ろう
http://pc12.2ch.net/test/read.cgi/tech/1185010023/
おまえがこっちでやればいいだろ
0240デフォルトの名無しさん
2010/05/08(土) 19:05:23Lisp族でマクロで実現されているものはライブラリというより文法の一部だろ。
0241デフォルトの名無しさん
2010/05/08(土) 19:06:40まずは既存の言語で優れたライブラリを作ってみたらどうだ?
0242デフォルトの名無しさん
2010/05/08(土) 19:13:27低級言語でも例外処理とオブジェクト指向を適用しよう
というのは無理か
0243デフォルトの名無しさん
2010/05/08(土) 19:16:150244デフォルトの名無しさん
2010/05/08(土) 19:21:27C++の機能をほとんど使わずにな
0245デフォルトの名無しさん
2010/05/08(土) 19:24:12ファームウェア〜コンソールアプリもしくはサーバーサイドアプリくらいでいいよな?
0246デフォルトの名無しさん
2010/05/08(土) 19:25:21ジョークのストラウストラップインタビューにあるように、Xウィンドウシステムのフレームワークが
そうだし、解説した本も数冊ぐらいある。
FORTHでOOをやったという話もあるぞ。
0247デフォルトの名無しさん
2010/05/08(土) 19:28:040248デフォルトの名無しさん
2010/05/08(土) 19:29:470249デフォルトの名無しさん
2010/05/08(土) 19:30:03Cでもオブジェクト指向は可能だろうよ。
めんどくさくてやってられないだけで
0250デフォルトの名無しさん
2010/05/08(土) 19:33:25言語仕様を変えずに実現できれば、ライブラリで可能ということになるでしょう。
文法が変えられるならそれだけ言語のライブラリで出来ることが増えるだけなのに
反則と思ってもらってもなぁ。
>>242
C++で出来てるから無理ではないけど、C言語レベルの話が
固まっていないうちからオブジェクト指向を持ち出すべきじゃないでしょう。
0251デフォルトの名無しさん
2010/05/08(土) 19:39:24ゼロオーバーヘッドにできるの?
0252デフォルトの名無しさん
2010/05/08(土) 19:43:55■ このスレッドは過去ログ倉庫に格納されています