TechCrunchに掲載された、Rustの啓蒙記事が話題。おぞましいC言語を捨て、Rustに置き換えるべきだという。

プログラミング言語Cはおぞましい。いや、素晴らしくもある、もちろん。私たちの住む世界の大部分はCの上に作られている。そしてほとんどのコンピュータープログラミングの基礎をなしている、歴史的にも、実質的にも。Xavier Nielの革新的な “42” スクールのカリキュラムが、学生に標準Cライブラリー関数を一から書き直させることから始まるのはそれが理由だ。しかしCは、C自身が作り上げたこの世界にとってもはやふさわしくない。

「おぞましい」と言ったのは「悪い」ということではなく「畏敬の念を起こさせる怖さ」という意味だ。Cはモンスターになってしまった。あまりに多くの大砲を与えたためにユーザーは自分の足を撃ち抜いてしまう。豊富な体験が教えるところによると、セキュリティーホールにむしばまれることなく大量のCコードを書くことは非常に困難であり「事実上不可能」になりつつある。2年前、私は最初の「Cに死を[Death To C]」の記事にこう書いた:

原理上、ソフトウェアが成長し進化して成熟度を増すほど、セキュリティー脆弱性は複雑になっていく。しかし、C/C++で書かれたソフトウェアにそれは当てはまらない。バッファーオーバーフローや宙ぶらりんのポインターのために壊滅的セキュリティーホールが生まれる事態は、繰り返し繰り返し起こっていて、昔も今も変わることがない。

私たちはこれ以上巨大な口を開けたセキュリティーの盲点を放っておくことはできない。引退して別の言語に取って代わられる時期はとうに過ぎている。問題なのは、ほとんどの近代言語はCを置き換えようという意欲すら持っていないことだ。〈中略〉どの言語もCが最も得意とすることに長けていない ―― 例えばシステムの奥深くまで掘り下げてマッハスピードで動くこと。

あなたがデベロッパーなら、私の言いたいことはもちろんわかっているだろう。Rustの長所を並べることだ。実際これは有望なC/C++の後継だ…

続きはソース元で


http://jp.techcrunch.com/2017/07/17/20170716death-to-c/




2:名刺は切らしておりまして 2017/07/17(月) 15:45:00.31 ID:+5bdNfS0.net

早いってだけではある
ppも書きにくいからすぐ忘れるんだよな

151:名刺は切らしておりまして 2017/07/17(月) 19:11:30.44 ID:lMB30xv7.net

>>2
それは違う
cでできることに蓋をして単純化したのが、その他の言語

4:名刺は切らしておりまして 2017/07/17(月) 15:46:54.25 ID:OSl7ngdx.net

cでええよ

7:名刺は切らしておりまして 2017/07/17(月) 15:49:06.00 ID:+A69iEC4.net

Rust は、Cの代わりにはなれん。
C++は、いらん子

10:名刺は切らしておりまして 2017/07/17(月) 15:53:19.92 ID:buRXZ7gP.net

組み込みだと未だにCかよくてC++なんだよな
この世界で働いてると世の中から取り残されている感覚に陥る

37:名刺は切らしておりまして 2017/07/17(月) 16:26:03.53 ID:+5bdNfS0.net

>>10
日本は新しいことに恐怖心があるからね
そのくせに非セキュアなコードを放置する

66:名刺は切らしておりまして 2017/07/17(月) 16:48:44.46 ID:YClV//nA.net

>>10
経験上組み込みだからってCしか知らないエンジニアは2流
簡単なツールでも何でもCで作りやがる 無駄にオプション増やすくせにgetopt(3)も知らない

11:名刺は切らしておりまして 2017/07/17(月) 15:54:25.75 ID:NTMHIaoA.net

セキュリティホールを気にするならCはやめた方が良いな

8:名刺は切らしておりまして 2017/07/17(月) 15:49:50.55 ID:bSaHWfWE.net

近著「最後のC」

15:名刺は切らしておりまして 2017/07/17(月) 16:02:03.44 ID:1e/YiDug.net

カーニハン アンド リッチーの本は本当に入門用として優れてるのか疑問。

あれは初心者には難しいで。

110:名刺は切らしておりまして 2017/07/17(月) 17:58:04.44 ID:p7rUxtFp.net

>>15
持ってたよ
今は実家かな?

17:名刺は切らしておりまして 2017/07/17(月) 16:05:07.01 ID:+A69iEC4.net

>>15
あの時代に、学ぼうっていう人向けの解説書けんデファクト仕様書

28:名刺は切らしておりまして 2017/07/17(月) 16:14:27.82 ID:Vo0URanL.net

>>15
入門ではないけど、できてるつもりの人が読むと目から鱗な本。

199:名刺は切らしておりまして 2017/07/17(月) 21:00:46.03 ID:iqw130Tu.net

>>15
プログラミングの経験が全くない人には向かないかもしれない。
しかし他の言語やアセンブラの経験があれば大変優れた入門書だと思う。
俺はあまりの分かり易さに衝撃を受けた。それでいて言語仕様の非常に細かい
ところまで網羅されている。
他のプログラミング言語の入門書もあんな風に書かれていたら楽なのにと思う。

20:名刺は切らしておりまして 2017/07/17(月) 16:07:35.39 ID:UuqOoLVE.net

K&Rなんて古典的な文法で読みづらいゴミクズ。ANSIだろ。

36:名刺は切らしておりまして 2017/07/17(月) 16:25:17.85 ID:rcvoDSkz.net

c/c++は永遠だよ。
なぜなら、組込系や制御系はかならず、c/c++が必要だよ。
C/C++以外でネイティブなコードは書けないよ。

38:名刺は切らしておりまして 2017/07/17(月) 16:26:58.99 ID:+5bdNfS0.net

>>36
いかにも日本的思考だなぁ
新しいものが次々と出てきても知らんぷりなんだよな

90:名刺は切らしておりまして 2017/07/17(月) 17:23:55.98 ID:1e7Ax5fg.net

>>36
> C/C++以外でネイティブなコードは書けないよ。
もうちょっと勉強しよう。

39:名刺は切らしておりまして 2017/07/17(月) 16:27:17.22 ID:ifoYWyAt.net

>>36
永遠はないよ。
新しいチップと合わせてその時代にふさわしいコードが採用される。

43:名刺は切らしておりまして 2017/07/17(月) 16:29:58.24 ID:3+KNZzY0.net

C++は死んでるも同然だろ
Cは無くならないだろうけど

68:名刺は切らしておりまして 2017/07/17(月) 16:49:15.50 ID:XHBulnIf.net

今更C++やってるけど、すげーぞ。俺はべたぼれ。

76:名刺は切らしておりまして 2017/07/17(月) 16:53:35.27 ID:PljvrNsD.net

>>68
うちの会社でもやっているんだが
C++の学習はC++11/14でやるのがいいよ。
古いスタイルへの対応は慣れてからでいい。

77:名刺は切らしておりまして 2017/07/17(月) 16:54:07.52 ID:Qc7Pc9vw.net

>>76
挫折する未来しか見えない

83:名刺は切らしておりまして 2017/07/17(月) 17:03:01.19 ID:VcQ7ZhUI.net

>>77
そもそもC/C++はどっちも初心者お断り言語だろ

かつて処理きついところとか局所的にアセンブラで書いてたろ


あの立ち位置が今のC/C++だ

109:名刺は切らしておりまして 2017/07/17(月) 17:54:26.64 ID:bSaHWfWE.net

C++は怪物言語だけど、一番万能言語に近くもあるね

95:名刺は切らしておりまして 2017/07/17(月) 17:29:18.85 ID:1e7Ax5fg.net

今更Cはないわなぁ

80:名刺は切らしておりまして 2017/07/17(月) 16:59:38.70 ID:R5PmJEVb.net

つっても組み込みなんてC系なかったら成り立たんレベルだろ

84:名刺は切らしておりまして 2017/07/17(月) 17:03:22.35 ID:ifoYWyAt.net

>>80
組み込み系で使う理由は楽するためです。
どうでもいい部分をC言語で作ります
クリティカルな部分はインラインアセンブラで記述します。

Cがメインではなく楽するために作っているので


他の方が公立的であるなら他に移るだけだと思います。

86:名刺は切らしておりまして 2017/07/17(月) 17:06:29.61 ID:AQNv5XBE.net

適材適所
勝手に好きなの使ってろよ
何言ってんだこいつは

85:名刺は切らしておりまして 2017/07/17(月) 17:05:43.16 ID:c5z0rTCh.net

言語の具体性が高いほど複雑になるからな
結局システムに応じて使い分けるしかないだろ

105:名刺は切らしておりまして 2017/07/17(月) 17:49:52.18 ID:+rCrFxud.net

>>1
Cで十分
Cでセキュリティホールとか、
メモリーリークとか、チャンチャラおかしい
初心者かよwww
お子ちゃまは、オッパイ飲んで寝んねしてな

107:名刺は切らしておりまして 2017/07/17(月) 17:51:09.27 ID:YwIB5GEf.net

>>105
ポインター使った経験ないど素人だな、お前は(笑)

177:名刺は切らしておりまして 2017/07/17(月) 19:59:13.31 ID:gMM8tilZ.net

Rustは置き換えコストと学習コスト、継続性、可搬性を考慮して、
C/C++を捨てるに足る言語なのか?

108:名刺は切らしておりまして 2017/07/17(月) 17:52:13.39 ID:lkTuPpuz.net

Rust最大の問題は生産性の低さだと聞いたが…
メモリ管理厳密にやるには仕方ないのかもしれないけど、
C++よ