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

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

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

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

あなたがデベロッパーなら、私の言いたいことはもちろんわかっているだろう。Rustの長所を並べることだ。実際これは有望なC/C++の後継だ。2年前に私は、新規の下層レベルコーディングをCではなくRustで書くことを勧めた。つまるところ、穴に関して何よりも大切なのは、掘るのをやめることだ。

Security tips when programming in C (2017 edition):
1) Stop typing
2) Delete what you've already typed
[Cでプログラミングする際のセキュリティー心得(2017年版):
1)タイプするのをやめる
2)すでにタイプしたものを削除する]

今私は、エンジニアが既存のCコードをリファクタリングするとき、特にパーサーなどの入力ハンドラーを書き直すとき ―― ゆっくりと、すこしずつ ―― Rustで置き換えるように真剣に勧めている。
http://jp.techcrunch.com/2017/07/17/20170716death-to-c/
引用元: http://anago.2ch.sc/test/read.cgi/bizplus/1500273631/


2: 名刺は切らしておりまして 2017/07/17(月) 15:45:00.31
早いってだけではある
ppも書きにくいからすぐ忘れるんだよな

150: 名刺は切らしておりまして 2017/07/17(月) 19:11:30.44
>>2
それは違う
cでできることに蓋をして単純化したのが、その他の言語

3: 名刺は切らしておりまして 2017/07/17(月) 15:45:09.91
よし!いよいよCOBOLの時代だな!

4: 名刺は切らしておりまして 2017/07/17(月) 15:46:54.25
cでええよ

5: 名刺は切らしておりまして 2017/07/17(月) 15:48:43.41
AIに何兆回と攻撃を仕掛けさせ、修復をさせ、

6: 名刺は切らしておりまして 2017/07/17(月) 15:48:54.67
時代はマシン語だろ

7: 名刺は切らしておりまして 2017/07/17(月) 15:49:06.00
Rust は、Cの代わりにはなれん。
C++は、いらん子

8: 名刺は切らしておりまして 2017/07/17(月) 15:49:50.55
近著「最後のC」

9: 名刺は切らしておりまして 2017/07/17(月) 15:51:49.60
むしろ初めてのCで生命が宿った><

10: 名刺は切らしておりまして 2017/07/17(月) 15:53:19.92
組み込みだと未だにCかよくてC++なんだよな
この世界で働いてると世の中から取り残されている感覚に陥る

37: 名刺は切らしておりまして 2017/07/17(月) 16:26:03.53
>>10
日本は新しいことに恐怖心があるからね
そのくせに非セキュアなコードを放置する

66: 名刺は切らしておりまして 2017/07/17(月) 16:48:44.46
>>10
経験上組み込みだからってCしか知らないエンジニアは2流
簡単なツールでも何でもCで作りやがる 無駄にオプション増やすくせにgetopt(3)も知らない

11: 名刺は切らしておりまして 2017/07/17(月) 15:54:25.75
セキュリティホールを気にするならCはやめた方が良いな

12: 名刺は切らしておりまして 2017/07/17(月) 15:55:05.25
昔からpascalの方が筋の通っている言語な感じで好きだな。Cは嫌い。

21: 名刺は切らしておりまして 2017/07/17(月) 16:09:19.41
>>12
ただ、pascalはもう実用してないんだよな
学生の学習用言語として残ってるだけで

15: 名刺は切らしておりまして 2017/07/17(月) 16:02:03.44
カーニハン アンド リッチーの本は本当に入門用として優れてるのか疑問。

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

17: 名刺は切らしておりまして 2017/07/17(月) 16:05:07.01
>>15
あの時代に、学ぼうっていう人向けの解説書けんデファクト仕様書

28: 名刺は切らしておりまして 2017/07/17(月) 16:14:27.82
>>15
入門ではないけど、できてるつもりの人が読むと目から鱗な本。

18: 名刺は切らしておりまして 2017/07/17(月) 16:05:24.66
コイツの頭の中ではBOFとポンターだけがセキュリティリスクらしい

19: 名刺は切らしておりまして 2017/07/17(月) 16:06:36.08
pythonとJAVAのSwiftとPHPくらいだな

23: 名刺は切らしておりまして 2017/07/17(月) 16:12:46.52
手塚σ
Σ

ζ§ξб
北米の攻撃対象者
C++シグマ手塚
ダントツ一位嫌われもの

27: 名刺は切らしておりまして 2017/07/17(月) 16:14:27.27
みんなでLISPを使えば幸せになれるよ
俺はごめんだが

32: 名刺は切らしておりまして 2017/07/17(月) 16:17:26.23
Windowsアプリ人気なねーな

33: 名刺は切らしておりまして 2017/07/17(月) 16:22:13.88
セキュリティホール対策って言っても
開発者の本性がハッカーだからな〜
無理っぽいなw

35: 名刺は切らしておりまして 2017/07/17(月) 16:24:49.33
Cは高級な低級言語

43: 名刺は切らしておりまして 2017/07/17(月) 16:29:58.24
C++は死んでるも同然だろ
Cは無くならないだろうけど

48: 名刺は切らしておりまして 2017/07/17(月) 16:33:01.89
セキュリティホールはPGM言語を変えれば無くなるんだから
Windowsをrustにコンバートしてコンパイル汁!>MS

53: 名刺は切らしておりまして 2017/07/17(月) 16:38:54.89
C/C++レモン

57: 名刺は切らしておりまして 2017/07/17(月) 16:42:47.21
そんなときこそアセンブラ
すごく速いし小さくなるし楽しいよ
グラディウスのオプションをウネウネ動かしながら勉強したわ

64: 名刺は切らしておりまして 2017/07/17(月) 16:48:22.10
>>57
30年前に担当していた電機製品は、アセンブラで開発していた。
でも、それ以降、組込系もC言語、C++で開発できるようになったけど。
未だに、アセンブラ使っているの?

58: 名刺は切らしておりまして 2017/07/17(月) 16:43:08.14
情弱考える最小単位はC言語にある命令そのもの
それ以下の細かいものがない。

61: 名刺は切らしておりまして 2017/07/17(月) 16:46:48.64
C言語はWindows丸ごとなくなるだろうよ。

そもそもアセンブラが基本。
それでは効率よく作れないので
ある程度処理がまとまった単位で作られているの高級言語
高級言語の目的は少ない記述で目的のことが作れること
この定義にいうとpythonやSwiftに取って代わられる可能性がる。

少ない記載でバグがないものが作れること
これが存在するための定義。

63: 名刺は切らしておりまして 2017/07/17(月) 16:48:04.46
0と1だけでプログラムしろや

79: 名刺は切らしておりまして 2017/07/17(月) 16:56:00.77
>>63
ハードウェア的には3つ存在する。
0か1か繋がってないか

81: 名刺は切らしておりまして 2017/07/17(月) 17:02:14.40
>>79
物理的に壊れるの想定せずに組んでひどい目にあったw

104: 名刺は切らしておりまして 2017/07/17(月) 17:42:08.18
>>79
あと、0か1かランダムブレる(不定)という状態もあるぞ?
まあ、接続してないってのはハードウェア的には不定なんだがな

67: 名刺は切らしておりまして 2017/07/17(月) 16:49:13.10
better C選手権はgolangの優勝で幕を閉じたと聞いたが

70: 名刺は切らしておりまして 2017/07/17(月) 16:51:02.66
高級言語はアセンブラーのpre-Processor。

74: 名刺は切らしておりまして 2017/07/17(月) 16:52:31.05
ポインタ潰しきやがったな

80: 名刺は切らしておりまして 2017/07/17(月) 16:59:38.70
つっても組み込みなんてC系なかったら成り立たんレベルだろ

84: 名刺は切らしておりまして 2017/07/17(月) 17:03:22.35
>>80
組み込み系で使う理由は楽するためです。
どうでもいい部分をC言語で作ります
クリティカルな部分はインラインアセンブラで記述します。

Cがメインではなく楽するために作っているので
他の方が公立的であるなら他に移るだけだと思います。

82: 名刺は切らしておりまして 2017/07/17(月) 17:02:17.99
車に例えると
C:メカ知識を持ったドライバー
最近の言語:いわゆる一般ドライバー

結果として車を運転する事には変わり無い
知識の領域が違う
コンピュータも抽象化が進み一般ドライバーが増えた

88: 名刺は切らしておりまして 2017/07/17(月) 17:16:02.57
Cはライブラリでしかない

94: 名刺は切らしておりまして 2017/07/17(月) 17:27:08.96
Cに勝るもんはないよ
C++は滅亡する

174: 名刺は切らしておりまして 2017/07/17(月) 19:53:27.42
>>94
gccだってc++で書かれるようになったのにそれは無いだろ

96: 名刺は切らしておりまして 2017/07/17(月) 17:30:26.90
OSやデバイスドライバ、基本ライブラリはC言語じゃないと書けない
一般アプリはべつにC限度である必要はないな

101: 名刺は切らしておりまして 2017/07/17(月) 17:39:39.99
ハードウェア設計をやってると、C以外の高級言語なんて使う機会は皆無。
ただし、高位合成の関係でC++というかSystemCは使うが。

106: 名刺は切らしておりまして 2017/07/17(月) 17:50:25.88
もうこいつも阿呆なんだから日本語で書けるようにしろよ
これでプログラミング問題は終わる

スポンサード リンク