- 1 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 09:52:47 ]
- 文法面での機能拡張しすぎ。
C++の構文解析とか、もうワケワカメ。 マイクロソフト拡張大杉。 gcnew とか使うぐらいなら素直に Java でも C# でもつかえ!!!
- 779 名前:771 mailto:sage [2008/05/03(土) 19:09:03 ]
- >>778
>>777も見て納得した。 ただ、Cとの互換を維持しようとしたのと、 拡張を重ねたって事情はある程度分かってあげて。 この対処は作り直ししかないけど、 javaとかDも徐々に拡張が・・・
- 780 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:09:55 ]
- >>776
してないよ
- 781 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:13:49 ]
- C++の文法は汚いって言われればそのとおり何だけど、それ以上に強力で面白い。
- 782 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:14:01 ]
- だよな
だからCは処理系という仮想的な環境で動いてる と考えられるわけだ
- 783 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:14:12 ]
- >>771
ライブラリで無理やり実装ってのはCOMで懲りた。 俺もライブラリで補填ってのは間違った方向性だと思う。 言語仕様にあるなら使う、無いなら使わない。 これを守れば、それなりにすっきりまとまるのに 無いならライブラリでそれっぽいの作りましょうとかするから 複雑化するんだよな。
- 784 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:26:31 ]
- >>777のはマジ別の言語を作ろうとしてるなw
テンプレートも使い過ぎると高度過ぎるけど、 プリプロセッサまで使ってメタプロされると流石にギブアップ boostのmplとかラムダとかの人はそろそろ勘弁して欲しい
- 785 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:28:48 ]
- 間違えた
777じゃなくて>>760のリンクだった
- 786 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:30:03 ]
- en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B
C++は文脈依存文法であるのがコンパイルを遅くする原因みたいだから、 JavaやDが拡張されてもC++の様にはならなさそうな。
- 787 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:32:13 ]
- テンプレートとプリプロセッサだけでここまでできるなんて、C++なんて恐ろしい子
- 788 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:33:59 ]
- >>782
ちげぇーよ CやC++に仮想環境なんてないよ そんなの、古いコンパイラに今のコード突っ込めば判るだろ
- 789 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:35:23 ]
- ソリアセンブラで出来ることさえ押さえてまけばマクロで銅にでもなる
- 790 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:36:19 ]
- 自前プリプロセッサでラムダとかC++の人は節操ない
- 791 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:37:43 ]
- >>788
はぁ?
- 792 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:20:15 ]
- >>786
特にDは、コンパイラの作りやすさに重点を置いていることを はっきり明言している言語だものな。
- 793 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:42:10 ]
- Javaもその道の達人が設計に関わったからな
- 794 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 21:31:04 ]
- コンパイラの作りやすさなんていう利用者には
問題にならないことを優先するよりも、コーディング時の 融通の利きやすさを優先させたほうが、使うほうには 有りがたいと思うけどな。 コンパイル速度はさすがに無視できんけど。
- 795 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 21:31:51 ]
- 処理系の実装のし易さと言語それ自体の使いやすさを混同しないように
- 796 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 21:45:58 ]
- >>795
釣りだとは思うが…
- 797 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 21:54:30 ]
- >>796
どういう趣旨の釣りだとお思いで?
- 798 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 21:55:05 ]
- コンパイラの実装しやすさと、
言語の使いやすさが別物というのに異論は無いけど、 コンパイラの実装しやすさが、コンパイル速度の向上や、 コンパイラが用意されるプラットフォームの増加に繋がって、 言語ユーザーへの恩恵にもなったりするよ。
- 799 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:12:26 ]
- >>797
パーサが書き易いと言う事は自分で好きなだけ構文を弄れるという事だ。 Boost を有り難がってる人種ならその意味が分かるだろ。 釣りか素人かどちらか知らんが、こんな事説明させるなよ。
- 800 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:19:37 ]
- >>799
あほですな
- 801 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:20:06 ]
- パーサを弄るのとテンプレート弄るのは難易度や労力が全然違うだろ。
わかりやすい文法はパーサ作るのは楽だろうが、パーサ作るのが楽なら文法がわかり易くなるかというとそうではないし。FORTHのパーサとか超簡単だけど読みにくいし。
- 802 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:22:35 ]
- >>801
誰もそんな話してないだろw 曲解して否定するのが得意だな
- 803 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:25:31 ]
- >>799>>802
パーザなんて弄ったことない小学生なんでしょ?
- 804 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:29:26 ]
- >>799
1行目と2行目の関連がよくわかりません ご説明をお願いします
- 805 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:33:18 ]
- >>804
パーサが何をするかは知ってるの?
- 806 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:35:27 ]
- 構文解析をします
- 807 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:39:13 ]
- C++の文化だと自分でコードの自動生成したり構文拡張したりはしないのか
- 808 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:39:27 ]
- Boostが何をしないかは知ってるの?
- 809 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:41:51 ]
- >>807
OpenC++ってのもありますが、 今やtempleteがありますしね。
- 810 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:42:44 ]
- 超言語的拡張をしません
- 811 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:44:27 ]
- >>808
何をしないの?
- 812 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:45:07 ]
- >>811
>>810
- 813 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:45:23 ]
- boostは小文字でおk
あと、 >Boost を有り難がってる人種ならその意味が分かるだろ。 分かりません。 機能性の優先度は高いものの、メジャーな環境で使えるよう かなり配慮されて #if とか入りまくりなのに 俺構文作って他のコンパイラで使えなくなったら意味無いじゃん。 何のための(次期)標準かと。
- 814 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:45:26 ]
- >>807
プリプロセッサとテンプレートの仕事なのです。
- 815 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:46:18 ]
- 具体的にどんな超言語的拡張をしたいの?
- 816 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:46:52 ]
- >>814
自分でプリプロセッサ作りたくなるでしょ
- 817 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:47:48 ]
- >>807
コードの自動生成はよく行われると思うけど 構文拡張を個々人がするような文化はC++にはないと思う そんな文化があるの? ポータビリティはどうなるの?
- 818 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:51:15 ]
- >>816
それと処理系の実装しやすさとは関係ないでしょ 自分プリプロセッサの文法とは関係するけど
- 819 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:52:07 ]
- >>817
例えば cfront を書きたくなったりしたのも最初は個人でしょ
- 820 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:54:22 ]
- コンパイル時に帰納関数を計算するtemplate
演算子オーバーロード SFINAE に加えて、 concept_map があるから独自プリプロセッサなんかいらない。
- 821 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:55:22 ]
- >>819
そんなの上位の一握りだし、さらにその頃とは状況がかなり変わってるし。
- 822 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:55:37 ]
- >>819
だから何?
- 823 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:57:54 ]
- cfrontを書いたのは個人じゃないぞ、AT&T。
bsは方針を練ったが、実装は雇われプログラマがやった。 テスターも雇われがいた。 もともとは電話交換機用のプログラミング言語として作ったから。
- 824 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:00:56 ]
- やっぱり文化が違うな。
まあC++どっぷりじゃそんな気もなくなるか…
- 825 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:02:29 ]
- ぷ
- 826 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:02:54 ]
- fabrice.bellard.free.fr/tcc/
例えばC++だと↑こういうのを作るのは無理だよね コンパイルに死ぬ程時間が掛かるから
- 827 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:04:13 ]
- 理屈ではC++最強とは思うが
現実的に何かを作る際に他言語のほうが手っ取り早い(、上に最近は処理時間にそれほどシビアにならない)ってのが C++選択を躊躇させる
- 828 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:06:29 ]
- コンパイラの実装が無いプラットフォームへの対応とかならまだしも、
ポータビリティ0の独自仕様を個人でとかありえないな。
- 829 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:06:35 ]
- 上位レイヤーにしか関わらないPG/SEが増えてきたって事かな。
- 830 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:10:33 ]
- >>828
プリプロセッサならポータビリティは損なわれないでしょ 例えば↓ObjC->Cのトランスレータだけど、C Compilerは何でも良い users.pandora.be/stes/compiler.html
- 831 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:11:35 ]
- 下位レイヤーが大勢居たらカオスになるだろ。
- 832 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:14:21 ]
- >>794
>コンパイラの作りやすさなんていう利用者には コンパイラを書かないしコンパイラのソースも読まないPGが 増えてきたって事かな。
- 833 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:17:55 ]
- これからはプロセッサのスペックアップは鈍化して
期待できないから、C++がまた隆盛になるかもだな。
- 834 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:18:27 ]
- 読むのはともかく、コンパイラ書く奴が大勢居たらカオスになるだろ。
- 835 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:18:53 ]
- jikes.sourceforge.net/
Jikesみたいなコンパイル速度が売りのコンパイラはC++にあるの?
- 836 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:23:08 ]
- >>834
特色のある言語処理系が色々と出てくるのは悪い事じゃない 例えばCINTとか root.cern.ch/twiki/bin/view/ROOT/CINT
- 837 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:25:23 ]
- まあでも今時C++を使ってる人間は余程の熟練者なんだろうな
そうじゃなきゃ普通は>>827みたいに考えるよね
- 838 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:25:35 ]
- >>835
頑張ってググッたようだけどjikesなんて使われてねぇよ
- 839 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:27:28 ]
- >>838
昔は結構使ってたぞ。それなりに有名だったんだが、最近の連中は知らんのか。
- 840 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:28:35 ]
- 今は使われていない事に変わりはないだろ。
- 841 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:28:58 ]
- >>839
古参乙 いつのJDK互換か知ってて言ってるのか?
- 842 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:30:41 ]
- >>840
それでも言いたい事は分かるだろ C++は今も昔もゼロなんだよ
- 843 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:31:03 ]
- C++と比べれば、Javaなんて標準のコンパイラでもめちゃくちゃ速いです。
- 844 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:32:43 ]
- >>843 つまらん
- 845 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:33:59 ]
- C++は標準のコンパイラも無いからポータビリティが大変です。
- 846 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:34:28 ]
- IBMみたいに体力あるところとかOSSならともかく、
独自実装なんてやったアホなコンパイラは標準について来れずに死滅しました
- 847 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:34:53 ]
- >>842
C++に大衆性がないのに同意しない人間はいないだろ。 firefoxとかadobe readerとか、一部のエリートプログラマは使っているが。
- 848 名前:846 mailto:sage [2008/05/03(土) 23:35:03 ]
- javaコンパイラのことな
- 849 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:36:05 ]
- >>847
エリート乙
- 850 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:38:08 ]
- >>846
Microsoft ってまだ Java やってたんだな…
- 851 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:41:52 ]
- >>821
>そんなの上位の一握りだし 今日一番寂しい言葉だったよ... (´・ω・`)
- 852 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:43:28 ]
- >>850
やってないよ お亡くなりになるJ#のこと?
- 853 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:45:15 ]
- >>851
何で? メジャーな環境のフリーなコンパイラがあるのにそんなことするのは 余程上の人間か、もしくはただのアホだろ
- 854 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:45:43 ]
- >>852
やっぱりそうか 「独自実装」で一番最初に思い浮かんだw
- 855 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:48:08 ]
- >>853
何でって、昔は俺言語を作るのが普通だったから… ガッコでコンパイラの授業あるだろう
- 856 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:48:17 ]
- J#あったなw
最後までJDK1.1(笑)互換だったけど騙されて使ってた会社は、 今もメンテで使ってるかもな。
- 857 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:50:58 ]
- 授業で習って、その流れで俺言語作るのと、
実用のために俺言語作るのはわけが違うだろ常考。 どんだけの新言語がポシャッってると。
- 858 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:54:11 ]
- 俺言語作るよりチャレンジングなのがC++のtemplate変態プログラミング。
- 859 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:55:29 ]
- ハードウェアとセットで囲い込むか、
マーケティング力が無いと無理だろうな。 そういう意味でRubyはすごいと思うよ。 Railsのおかげではあるけど。
- 860 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:55:35 ]
- 実用の為の俺言語作ってる奴も多かったよ
ツール組み込みのマクロとか
- 861 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:58:29 ]
- マクロまでハードル落としたなw
そりゃマクロなら結構居るだろうさw
- 862 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:59:59 ]
- >>861
マクロっつってもフルセットの Scheme とかだぜ まあ俺言語じゃないけど…
- 863 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:01:30 ]
- 反応を見てると、やっぱり最近の人はそういうのやらないんだな…
- 864 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:05:39 ]
- 俺の先輩は新入社員研修でCのコンパイラ作らされたって言ってたな
やっぱり文化が違うw
- 865 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:07:44 ]
- 俺言語の話をしたいのか互換実装の話をしたいのかちゃんと絞ろうぜ・・・
俺も別に完全否定する気はないし、 小規模な俺言語(マクロ) コンパイラが無いプラットフォームへの実装 標準についていく力がある組織による競合実装 なら十分有りだと思ってる。 C++の個人での俺拡張がありえないって言ってるわけで。
- 866 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:10:51 ]
- >>865
>C++の個人での俺拡張がありえない 俺もそう思うよ。腐った木に水やりをする人間はいないからね。 D や Java はそこら辺ちゃんと筋を通してる。
- 867 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:22:25 ]
- 今日は入り浸りすぎたんで暫くレスを自粛するわ…
じゃあね
- 868 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:24:39 ]
- Javaはコンパイラ拡張が専門のPolyglotって実装があるよ。
C++はg++ベースが多い。例えばConceptGCC。
- 869 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:16:59 ]
- プログラム書くのにコンパイラの実装なんて気にする必要ないじゃん
つか、C++簡単だろう わかんない、どんだけ低能なんだよ
- 870 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:20:55 ]
- 簡単ではないだろう
STLからbostまでにどれだけの英知が必要だったか
- 871 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:38:30 ]
- >>870
それは別にC++が特別ではないだろ。 本格的な言語ならどれだって大量のリソースが注ぎ込まれているはず。 あと、使う方もC++が特別難しいとは思わないが、ほかが特別簡単とも思わない。 例えば、自分1人で作るプログラムなら当然C++は候補の1つ。 利点欠点を考え気分を加味して、C++が最良と思えばそれを使う。別のが良ければそれを使う。
- 872 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:50:00 ]
- 程度問題だけど
標準ライブラリがあれほど言語の能力を使いきれてなかったのも珍しくない? つまり標準化委員達にも把握できてなかったわけで 自分はC++を理解しているつもりだけど、本当はboostの先が果てしないのじゃないかと
- 873 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:56:03 ]
- そもそも標準ライブラリのbind.*とかが欠陥品だからなぁ・・・
- 874 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:58:11 ]
- かなり早い時期に作られたライブラリなんだから責めないで。
何年もの研究の成果があってこそのboostなんだし。
- 875 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 02:01:05 ]
- というわけで正しくC++を使うのは識者たちにも難しかった
- 876 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 02:13:02 ]
- 正しくって?
限界まで、の間違いだろ
- 877 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 07:40:58 ]
- iostreamきもい
- 878 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 07:43:23 ]
- >>847
パソコンで箱売りされているソフトの大半がVCで書かれてますが?
- 879 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 07:49:17 ]
- 土方の話はしてないからw
|

|