最新ニュースから話題の画像まで2ちゃんねるまとめならここで!


世界のために邪悪なCとC++を書くの止めて、Rustに置き換えよう

   

46

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/

Security tips when programming in C (2017 edition):
1) Stop typing
2) Delete what you’ve already typed

— ryan huber (@ryanhuber) 2017年6月21日

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++より書きにくいってのはなかなかないよな
Objective-Cくらいかw

152:名刺は切らしておりまして 2017/07/17(月) 19:13:14.91 ID:1e7Ax5fg.net

>>108
慣れの問題ではあるんだけどね。
C/C++の感覚でデータ構造とか考えてるとコンパイルすら通らないのでイライラする。

160:名刺は切らしておりまして 2017/07/17(月) 19:31:42.47 ID:lC2Eap6K.net

Rust はいつも Go をディスってるイメージ

206:名刺は切らしておりまして 2017/07/17(月) 21:14:10.99 ID:XudYSJ4Q.net

この手のエバァンジェリスト達は、手法を誤ってる

そんな脅し文句や呪詛を吐き続けるよりも
linuxのソースコードを書き換えて魅せた方がよほど説得力があるのに

244:名刺は切らしておりまして 2017/07/17(月) 23:13:54.14 ID:SFuPvRyG.net

>>206
はげ同

259:名刺は切らしておりまして 2017/07/17(月) 23:42:00.68 ID:gMM8tilZ.net

つーか>>1の主題はC/C++という鋼鉄の巨人に竹槍で挑むRustの話だからな

115:名刺は切らしておりまして 2017/07/17(月) 18:04:51.14 ID:cdv0bjlU.net

まあ、言語はなんでもいいんだけどな。

セキュリティーを考えすぎるあまり、
一般人に手の届かないことになるのは
どうかと思うね。

157:名刺は切らしておりまして 2017/07/17(月) 19:27:20.64 ID:PjZH3lT2.net

C と比べて高機能なこと
セキュリティ対策やらメモリ管理やら並列化やらを拡充して
新しい言語をつくることはできるけど
その拡張部分に不満があって、自分の思い通りに動かしたいってときに
どうするか
結局 C で書こうってなる。
C は結局のところ、制御構造とメモリ管理やるだけの言語
バイナリにとても近いからなんでもできるからね

118:名刺は切らしておりまして 2017/07/17(月) 18:10:00.62 ID:BIJ46XXK.net

cでもcppでもいいけど、昔ながらの職人コード書くのはやめてほしい。
cが最強とか言う人って、関数型言語はおろか、オブジェクト指向すら学ぼうとしないし、スマートポインタとかラムダとかを学ぼうとしない。

150:名刺は切らしておりまして 2017/07/17(月) 19:10:43.61 ID:MSXFPMWL.net

まあ、これはアレだな
その人の環境で決まるよ
C/C++を使う仕事ならそれを覚えりゃいい

組み込み系かweb系かでも違う

俺の同級生は中国系のゲーム会社で働いてるけど
英語なんかほとんど勉強してないよ
中国語を覚えて中国人の上司に気に入られて
今では年収1500万の重要なポジションに就いてる
英語話せる同期は300万クラスのコーダーやってるよ

重要なのは環境な
覚える価値がある言語ならそっちの方がコスパかいい

226:名刺は切らしておりまして 2017/07/17(月) 22:35:58.88 ID:LV2CDvJb.net

COBOLより先に嫌がられているC

232:名刺は切らしておりまして 2017/07/17(月) 22:53:37.62 ID:1e7Ax5fg.net

>>226
COBOLは20年前から終わった言語扱いだから

196:名刺は切らしておりまして 2017/07/17(月) 20:55:50.51 ID:+5bdNfS0.net

Microsoft製を使うメリットはないだろ
全てのOSにide用意しないとか話にならん

224:名刺は切らしておりまして 2017/07/17(月) 22:21:32.43 ID:Dmf2VrsA.net

>>196
エディタだけどVisual Studio Codeいいよね

235:名刺は切らしておりまして 2017/07/17(月) 22:56:39.96 ID:6o/SFlQv.net

大学のプログラミングの授業で入門者相手にCを教えるのはやめるべき
PythonとかJSから初めて、Cは上級者向けに選択科目で教育すべきだな

237:名刺は切らしておりまして 2017/07/17(月) 23:00:54.90 ID:jaiY+qDt.net

>>1
cは暴れ馬
手綱をとれる者だけが扱えば良い
無理なら簡単な馬を使えば良い

元スレ: http://anago.2ch.sc/test/read.cgi/bizplus/1500273631/

Rust
C++
C言語

Copyright © 2017 まとめるクローンX All Rights Reserved.


 - その他

Fate/Grand Order ID交換掲示板
セブンナイツ フレンド募集掲示板