アカウント名:
パスワード:
ポストC/C++言語にはDとかRustとかあるけどもうひとつ加えられるのか…
言語が乱立してると、結局C/C++を使い続けることになりそうだな個人的にはC++を置き換える言語は欲しいけど・・・
C/C++が担っている低レベルなプログラミングに注力しているようには見えません。
トップページにefficient, expressive, elegantとあるように、Pythonくらい簡単な文法で、C/C++並みに高速化するには、Lisp並みの表現力を得るにはどうするのか、というのがコンセプト。
コンパイル時計算が非常に簡単で強力です。const付けるだけ。マクロとテンプレートも、別言語を使わされているような見た目にはなっていません。反面、型システムはそれほど凄いわけではありません。built-inな型でかなり楽をできますが。
Pythonライクな文法を、自身と似た文法で拡張できるってのが印象的です。Lispの如くマクロを使えということなのでしょう。奇怪なASTを晒してメタプログラミング可!とふんぞり返る言語が多い中では好感が持てます。
bare metalな世界に安全性と表現力を持ち込もうとしているのがRust、pythonに速さと表現力を持ち込もうとしているのがNim、# GoはGoogleのGo。すいません知らないんです。
goは並列時代に本気で作られたbetter C。
C++も14ならば、newとdeleteのほぼ完全な駆逐も可能だし、置き換えるにしてはNimも説得力がイマイチな気が。(tutorial part I しか読んでないけど)あとC++に今すぐ欲しい機能はstatic ifとマトモな標準ライブラリかなぁ
というか、Cythonと被って見える。
C++とかC系言語の最大の問題点は「○○が出来ない」ではなく、「○○が出来てしまう(その上、問題が検出もされずスルーされるのが危なすぎる)」だと思う
でも、インラインアセンブラ禁止したら怒るんでしょ。
ムーブコンストラクタのせいで個人的にC++熱が再燃しているんだけれど、ムーブを実装していないと、一部の標準関数は実行時エラーになるのは何とかしてほしい。
実行時エラー>たとえばどれ?あとコンパイラはなんですか。
本当これ乱立することでユーザーも分散するからどれも流行らない新しい言語を乱立するんじゃなくて協力し合えないのかな
そこはほれ、nim [wikipedia.org] ですから、なんというか、パイの奪い合いというか。
新しい言語を乱立するんじゃなくて協力し合えないのかな
ああゆうのは、俺の考える高速で安全なC/C++代替言語なので協力できるわけがない。何を保証して何を保証しないかは言語作成者によってバラバラだからね。
C/C++ を置き換えるなら、SSE2/AVX/OpenCL/OpenMP あたりにも対応してくれないと意味ないよね。nim は対応してるんだろうか?
そもそも難しいのは低レベルなプログラミング自体であって、CやC++の問題は、言語仕様が低レベルなコードを記述することを前提にしている結果でしかない。
DやRustも今時のスクリプト言語に比べれば、言語仕様が複雑なのはかわりない、安全に低レベルな操作を提供する場合、安全が保証できる範囲を言語側で定義するして守らせる必要がある。要するにこの手の言語が保証する安全は、スクリプト言語とかの適当に書いてもそれなりに動くものではなくて、プログラマーの自由をガチガチに制限するタイプだ、まあ、それだけじゃ間に合わないのでunsafeブロックみたいな、非安全なコー
細かい言語仕様()なんてどうでもいいんだよ。どうせ同じだからどっちが勝つかしか興味ない。同様の問題でPythonもRubyもどちらかが滅びるべきだと思う。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
なんでもいいから統一してくれ (スコア:0)
ポストC/C++言語にはDとかRustとかあるけど
もうひとつ加えられるのか…
言語が乱立してると、結局C/C++を使い続けることに
なりそうだな
個人的にはC++を置き換える言語は欲しいけど・・・
Re:なんでもいいから統一してくれ (スコア:1)
C/C++が担っている低レベルなプログラミングに注力しているようには見えません。
トップページにefficient, expressive, elegantとあるように、
Pythonくらい簡単な文法で、C/C++並みに高速化するには、Lisp並みの表現力を得るにはどうするのか、というのがコンセプト。
コンパイル時計算が非常に簡単で強力です。const付けるだけ。
マクロとテンプレートも、別言語を使わされているような見た目にはなっていません。
反面、型システムはそれほど凄いわけではありません。built-inな型でかなり楽をできますが。
Pythonライクな文法を、自身と似た文法で拡張できるってのが印象的です。Lispの如くマクロを使えということなのでしょう。
奇怪なASTを晒してメタプログラミング可!とふんぞり返る言語が多い中では好感が持てます。
bare metalな世界に安全性と表現力を持ち込もうとしているのがRust、
pythonに速さと表現力を持ち込もうとしているのがNim、
# GoはGoogleのGo。すいません知らないんです。
Re: (スコア:0)
goは並列時代に本気で作られたbetter C。
Re:なんでもいいから統一してくれ (スコア:1)
C++も14ならば、newとdeleteのほぼ完全な駆逐も可能だし、置き換えるにしてはNimも説得力がイマイチな気が。
(tutorial part I しか読んでないけど)
あとC++に今すぐ欲しい機能はstatic ifとマトモな標準ライブラリかなぁ
というか、Cythonと被って見える。
Re:なんでもいいから統一してくれ (スコア:1)
C++とかC系言語の最大の問題点は「○○が出来ない」ではなく、「○○が出来てしまう(その上、問題が検出もされずスルーされるのが危なすぎる)」だと思う
Re: (スコア:0)
でも、インラインアセンブラ禁止したら怒るんでしょ。
ムーブコンストラクタのせいで個人的にC++熱が再燃しているんだけれど、ムーブを実装していないと、一部の標準関数は実行時エラーになるのは何とかしてほしい。
Re: (スコア:0)
実行時エラー>たとえばどれ?
あとコンパイラはなんですか。
Re: (スコア:0)
本当これ
乱立することでユーザーも分散するからどれも流行らない
新しい言語を乱立するんじゃなくて協力し合えないのかな
Re:なんでもいいから統一してくれ (スコア:1)
そこはほれ、nim [wikipedia.org] ですから、なんというか、パイの奪い合いというか。
Re: (スコア:0)
新しい言語を乱立するんじゃなくて協力し合えないのかな
ああゆうのは、俺の考える高速で安全なC/C++代替言語なので協力できるわけがない。何を保証して何を保証しないかは言語作成者によってバラバラだからね。
Re: (スコア:0)
C/C++ を置き換えるなら、
SSE2/AVX/OpenCL/OpenMP あたりにも対応してくれないと意味ないよね。
nim は対応してるんだろうか?
Re: (スコア:0)
そもそも難しいのは低レベルなプログラミング自体であって、CやC++の問題は、言語仕様が低レベルなコードを記述することを前提にしている結果でしかない。
DやRustも今時のスクリプト言語に比べれば、言語仕様が複雑なのはかわりない、安全に低レベルな操作を提供する場合、安全が保証できる範囲を言語側で定義するして守らせる必要がある。
要するにこの手の言語が保証する安全は、スクリプト言語とかの適当に書いてもそれなりに動くものではなくて、プログラマーの自由をガチガチに制限するタイプだ、
まあ、それだけじゃ間に合わないのでunsafeブロックみたいな、非安全なコー
勝ち馬に乗りたいだけ (スコア:0)
細かい言語仕様()なんてどうでもいいんだよ。
どうせ同じだからどっちが勝つかしか興味ない。
同様の問題でPythonもRubyもどちらかが滅びるべきだと思う。