アカウント名:
パスワード:
CやC++は素晴らしいという人も居るけど、セキュリティ的には可能な限り避けるべき代物っていうのは当たり前の話だね。気を付けたって規模がデカくなればどっかで絶対やらかすのは避けられないと思うのよね。というか大企業だって著名オープンソースだってやらかしてるのに、お前はきちんとできるというのかと。組み込みとかなら仕方ないけど。
C#ならunsafe、Javaならsun.misc.Unsafe、その他色々壊せるけどね。ランタイムや参照してるネイティブのライブラリや実行環境やその他諸々で脆弱性があればどうにもならないというか、それ以前にメモリ安全以外の危険は色々あるけどね。
CやC++が素晴らしいのは、だいたいなんでも書けることであって、書こうと思えば無茶苦茶も書ける。これから起こすプロジェクトでは、制約のきつい言語のほうが安全だろうし、CやC++はその知見を取り込まなければならない。制約をも記述できてこそ、C++だと自分は思う。
アセンブラほど「理屈の上では」ってわけではないが、でも現実的な意味でCやC++で何でも書けるかと言われれば疑問符が付く。何しろ大規模開発は精神と難易度的に厳しい。スマホアプリもコンソールツールもウェブアプリもWindows向けアプリもって意味じゃC#だし、スマホやデスクトップ向けアプリでもうちょい良い感じならDartだし、30億のデバイスで走ると言えばJavaだし、その辺も割と何でもと言えるレベルだと思うけどな。「覚えておいて損はしない」ってのは否定しないけど最新規格や細部まで追うべきかは微妙。
> スマホアプリもコンソールツールもウェブアプリもWindows向けアプリもって意味じゃC#だし
今どきはこういうのも、ガチなやつじゃなければ JavaScript でできちゃうからずいぶんハードル下がりましたね。
WebGLあるし、ガチなやつでもマルチプラットフォームなものはJavaScriptが増えてるのでは?
https://jp.quora.com/kumikomi-shisutemu-deha-doushite-C-ga-C-ni-shu-tt... [quora.com]
組み込み系なら損はないどころかリアルタイム性でも現役いつかは進歩するだろうけど当面先だろうね
あとはCOBOLみたいに特殊な環境で脆弱性に対処する荒業もw
C言語内にインラインアセンブラや、アセンブラコードをマージして使うことで、その欠点を補ってるのが、OSのカーネルや、デバイスドライバだね
どうしてもアセンブラじゃないと出来ないことや、パフォーマンスのためにアセンブラが必要なところのみ、アセンブラを使ってる
Rustが台頭して、C++は完全にその役目を終えたのでは?比較すると、C++選ぶメリットがないよね?
選ぶことはなくても、既存の資産ってのがあるから(強化は必要)。極端な話、一晩でひっくり返したようにChromeをRustに移行したりはしないと思うので。たとえコンバータを書いたとしても。
COBOLみたいな立ち位置に落ち着きそうだな。
Rust信者はとっととライブラリ移植作業に戻れ
ひとつのアプリを開発するたびにそれ専用のインタプリタを開発していたこともあったんだよ。アプリの大部分はデータとして記述して、その解釈を行う小さいプログラムがあるような作り。そんな作りの場合でも C/C++ よりも何らかのスクリプト言語の方がいいね。
危険だが使いこなせば速い。中二心をくすぐるね。ピーキー過ぎてお前にゃ無理だよとか言ってみたい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日本発のオープンソースソフトウェアは42件 -- ある官僚
当たり前だね (スコア:1)
CやC++は素晴らしいという人も居るけど、セキュリティ的には可能な限り避けるべき代物っていうのは当たり前の話だね。
気を付けたって規模がデカくなればどっかで絶対やらかすのは避けられないと思うのよね。
というか大企業だって著名オープンソースだってやらかしてるのに、お前はきちんとできるというのかと。
組み込みとかなら仕方ないけど。
C#ならunsafe、Javaならsun.misc.Unsafe、その他色々壊せるけどね。
ランタイムや参照してるネイティブのライブラリや実行環境やその他諸々で脆弱性があればどうにもならないというか、それ以前にメモリ安全以外の危険は色々あるけどね。
Re: (スコア:0)
CやC++が素晴らしいのは、だいたいなんでも書けることであって、書こうと思えば無茶苦茶も書ける。
これから起こすプロジェクトでは、制約のきつい言語のほうが安全だろうし、CやC++はその知見を取り込まなければならない。
制約をも記述できてこそ、C++だと自分は思う。
Re: (スコア:0)
アセンブラほど「理屈の上では」ってわけではないが、でも現実的な意味でCやC++で何でも書けるかと言われれば疑問符が付く。
何しろ大規模開発は精神と難易度的に厳しい。
スマホアプリもコンソールツールもウェブアプリもWindows向けアプリもって意味じゃC#だし、スマホやデスクトップ向けアプリでもうちょい良い感じならDartだし、30億のデバイスで走ると言えばJavaだし、その辺も割と何でもと言えるレベルだと思うけどな。
「覚えておいて損はしない」ってのは否定しないけど最新規格や細部まで追うべきかは微妙。
Re: (スコア:1)
> スマホアプリもコンソールツールもウェブアプリもWindows向けアプリもって意味じゃC#だし
今どきはこういうのも、ガチなやつじゃなければ JavaScript でできちゃうからずいぶんハードル下がりましたね。
Re: (スコア:0)
WebGLあるし、ガチなやつでもマルチプラットフォームなものはJavaScriptが増えてるのでは?
Re: (スコア:0)
https://jp.quora.com/kumikomi-shisutemu-deha-doushite-C-ga-C-ni-shu-tt... [quora.com]
組み込み系なら損はないどころかリアルタイム性でも現役
いつかは進歩するだろうけど当面先だろうね
あとはCOBOLみたいに特殊な環境で脆弱性に対処する荒業もw
Re: (スコア:0)
C言語内にインラインアセンブラや、アセンブラコードをマージして使うことで、
その欠点を補ってるのが、OSのカーネルや、デバイスドライバだね
どうしてもアセンブラじゃないと出来ないことや、パフォーマンスのためにアセンブラが必要なところのみ、
アセンブラを使ってる
Re: (スコア:0)
Rustが台頭して、C++は完全にその役目を終えたのでは?
比較すると、C++選ぶメリットがないよね?
Re: (スコア:0)
選ぶことはなくても、既存の資産ってのがあるから(強化は必要)。
極端な話、一晩でひっくり返したようにChromeをRustに移行したりはしないと思うので。
たとえコンバータを書いたとしても。
Re: (スコア:1)
COBOLみたいな立ち位置に落ち着きそうだな。
Re: (スコア:0)
Rust信者はとっととライブラリ移植作業に戻れ
Re: (スコア:0)
ひとつのアプリを開発するたびにそれ専用のインタプリタを開発していたこともあったんだよ。アプリの大部分はデータとして記述して、その解釈を行う小さいプログラムがあるような作り。そんな作りの場合でも C/C++ よりも何らかのスクリプト言語の方がいいね。
Re: (スコア:0)
危険だが使いこなせば速い。中二心をくすぐるね。
ピーキー過ぎてお前にゃ無理だよとか言ってみたい。