YoRの日記: C死ね 6
日記 by
YoR
表でモデレートしちゃったんで書きにくくなったし、もう同じことが何度も言われてるのでこっちで。
メモリ管理や速度が重要視されるような分野ではCかアセンブラくらいしか選択肢がない。だからこそCはもう嫌と言いたい。
なぜかというとこの分野でCよりもいい言語が見当たらない、少なくともメジャーになっていないから。
だいたい新言語はどれもメモリ管理が言語の前提になってるものばっかりなんだよな。つまりそれだけみんなメモリ管理が嫌いということなんだろうけど。
だからCに替わる言語が出てこない…。誰か作ってよー。
ご自分で作成なさっては? (スコア:0)
作ってもいいですけど (スコア:1)
仕様検討、処理系構築、各アーキテクチャ(CPU)への対応、普及用ドキュメントの作成の時間と、その間の生活費をください。
こういうものを作るのは現場の人じゃなくて、コンピューターサイエンス畑の人か野心のある学性の役割だと思います…
そもそも創成期ならともかく、パートタイムで実用に耐える言語を作った人なんて何人いるんでしょうか。
Cに変わるような言語だと、ひな形作るだけで数か月かかりそうに思うんだけど。
まあ、引退した後なら余生の暇つぶしに考えてもいいかなあ。
#ネタ言語ならアイデアだけ出したことがあるよ
Re: (スコア:0)
Cは糞だけど、これより良い糞が無いんですよね。
Re: (スコア:0)
糞かな?
Cがマイクロコンピュータの世界に来た頃の救世主観は流石にないけど、今の時代の良くできたアーキテクチャ非依存のアセンブラとして使われている部分はそんなに悪い事じゃないし。
良くも悪くも良くできたアセンブラと思えばそれほど酷い物じゃないと思うんだけど。
代替言語が生まれてこないのはそれなりに良い物だからじゃないのかにゃー
#トピックの方に書けば良かったのかもしれない
Re:作ってもいいですけど (スコア:1)
代替言語が出てこないってことは糞とまでは言えないんだと思いますよ。でもC死ね(お約束)
C99から早十年。誰もその次を作ろうとしないのはどんなもんだろう、みたいな気がしています。
#確か次世代規格の話は一応存在してますよね…でもいまだにC86のコンパイラしかない環境も…
それにアセンブラならこう書けるのにCで書くとこうだという書式が無かったりします。
コンパイラがプアということではなく、アセンブラで使えるテクニックに対応する書式がCには無いということです。
インラインアセンブラでは互換性が亡くなりますし、そこまでやるならアセンブラでやれってことになりますし。
多品種CPUを仕事で扱ってるので、そういうのがほしくなるんです。
仕事では、速度が必要な場面ではコンパイラが吐き出したアセンブラレベルコードを手でチューニングしてます。
製品の性質上、どうしてもコンパイラが出したコードでは品質が追いつかないので。
というわけで、個人的にはCよりもマクロアセンブラ的な性質でしかも多くのアーキテクチャで使える(多くのメーカーが対応してくれる)、といった言語がほしいですね。
型チェックも厳格で、OO指向はあまり強くなくて、ジェネリックプログラミングはできた方が…って無理があるかな。
OOは厳密にやるとメモリに厳しくなる傾向があるし、ジェネリックはソースの使い回しと高速化が楽になるって印象なので。
(そういう意味では、EC++は方針が逆だろ、とか思ってます)
できればデバッガも統合環境もみんな同じになったらなあ…今現在、机の上に四機種のオンチップデバッガインターフェイスが転がってます。
Re: (スコア:0)
インラインアセンブラはマクロで区切って個別の実装を書くしかないでしょうね
組み込みとかでCPU多品種だとそれでも共通に書ける部分だけでも恩恵大きいと思います。
他のアプローチだとIntentって会社(まだあるんだろうか?)のVP方式とLLVMくらいしか思い当たりませんが、ランタイムパッケージが場所食うのでリソース少ない場合はうまくいきませんし。
あとRAMの容量的にスタックに気を遣っておかないと行けないような時もミドルウェア選定で涙でたりとか、まぁおっしゃる事はよくわかります。
#C死ねを思いとどまってもらうつもりが
#代替言語が欲しいキモチになっちゃったじゃねぇか(苦笑)