C99はK&Rブックを古くしていますか?もしそうなら、代わりに何をお勧めしますか?[閉まっている]


10

C99はしばらくの間私たちと一緒にいます。K&Rs Cプログラミング言語にはない多くの機能が導入されています。それらのどれも特に過激ではありません。ただし、宣言とコードを混在させることができるなどの小さな機能でも、コードの編成方法が変わります。

K&Rの本は非常に貴重な参考資料であり、その書体と同様に考えていますが、C99標準を考慮したより良い本はありますか?K&Rの第3版を一気に購入したいのですが、そうなるとは思いません。


C99で更新された英語版は本当にないのですか?この本のチェコ語訳は、C99用に更新されています。
サイモン・トス

@Let_Me_Be K&R本の第2版は1988年に発行されました。本の新しい英語版はありません。その版は1988年からANSI Cをカバー
トーマス・オーウェンズ

著作権/ロイヤルティがどのように設定されているかにより、K&Rは第3版を書いて何も作成しませんでした。
ブラックジャック、2011

@BlackJack本当に残念です。
Justin Dearing、2011

2
@Let_Me_Be-チェコ語の翻訳をどれだけ英語に翻訳し直す​​のですか?:-) K&RのC99バージョンを取得する唯一の方法かもしれません...
voretaq7

回答:


8

Cを学習しているだけで、ストレートプロシージャルC(マイナスオブジェクト)を学習したいすべての人に、K&R(のANSIfiedの第2版)を提案します。K&Rがプログラミングの本で本当に「Unixメンタリティ」を持っているので、彼らが* NIXカーネルコードをハッキングするつもりなら、私はその推奨を倍増します。

彼らがC構文の基本を理解し、スタイルの合理的な考えを理解したら、C99機能について話し、それが彼らが書くものを整理する方法を変えるかもしれないことを説明する他のリファレンスにそれらを紹介することができますが、一般的に)K&Rで始めることからの良い習慣(宣言を最初に行うなど)と、彼らはそれらの習慣に反して何かを行う背後にある理由を認識します-私はあなたがそのように優れたプログラマーを構築すると思います。


3
宣言を事前に行うことは、実際にはC89スタイルから継承された悪い習慣です。変数は、最初に使用する直前に宣言する必要があります。たとえば、この質問の回答を
エティエンヌ

2
@Étienne「前もって」とは、「変数はすべて、使用される範囲内でできるだけ早く宣言する必要がある」という意味です。これは基本的に、他の回答が提唱しているものです(または少なくとも、非常に単純化した例で示しています)。私はその答えが主張していることを承認しますが、新しいプログラマが「あら、{counter、temp変数など}が必要です-ここで自分のロジックの真ん中で宣言してみましょう」と気づかせるようにしたいと思います。このような他の回答のように
難読性を

2
コンセンサスはありませんが、また見て、私は丁重にそれが悪いことだと同意しない、と多くの人々は、ロジックの途中でそれを宣言することは良いことだと思うprogrammers.stackexchange.com/questions/56585/...
エティエンヌ

あなたの意見で、あなたは確かにそれを受ける権利がある、しかし、あなたが変更しようとしている方法はありません鈍いことエティエンヌ@ MY私は不機嫌古いUnixのハッカーだとCのコーディングスタイルは非常にために宗教的なものです:意見は私。幸いなことに、私たちのどちらも相手のコードを読む必要がない可能性があります:-)
voretaq7

うまく行かないことを願います;-)
エティエンヌ

8

HarbisonとSteeleが欲しい: " C:A Reference Manual "

それは明示的にC99をカバーし、Cの他のフレーバーと比較/対比します。私はそれが非常に便利であるとわかりました。


1
公平に言うと、H&Sはまさにそれが言うところのリファレンスマニュアルであり、それ自体はK&Rのように優れた学習リソースではありません。
John Bode

同意します!しかし、OPはリファレンスを探していると思います。
アンジェロ

1

King's C Programming:A Modern Approachをお勧めします。それはK&Rよりも厚みがありますが、それでも特にパディングされていません。作者は、C99の新機能や新機能、スタイルのヒントなどを指摘しています。


1
アマゾンで$ 95、おお!
アーネストフリードマンヒル

実際には、Cプログラミング:現代のアプローチ(第2版)を意味するという回答を指摘する必要があります。また、質問があります。短いチャットはできますか?
Suraj Jain
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.