CプログラマーがK&Rを読んだことの利点はありますか?[閉まっている]


10

現在、カーニガン&リッチーのCプログラミング言語(K&R)を読んでいるので、この質問は私を悩ませてきましたが、私は多くの人と出会いました。

だから、私の質問は:K&Rを読むことには利点がありますか?必需品でしょうか?


K&RはC言語を発明した人たちによって書かれました。長い間、利用可能な唯一のCの本でした
スティーブンA.ロウ2013

いいえ。K&Rの本だけがCの本ではありません。学習方法によっては、別の本の方が適している場合があります。
user16764 2013

1
@ StevenA.Lowe:言語を作成および開発したからといって、必ずしもそれを書くための最良の資格が与えられるわけではないことに注意してください。たとえば、ゴスリング氏は特に、自分自身をJavaの専門家とは考えていません。そして、C ++全般でStroustrupの執筆をそれほど楽しんでいるとは思えません。言語の技術的な部分で何を話しているかは明らかですが、最大限に活用し、スタイルを定義し、実行可能なエコシステムの一部にすることはまったく別のことです。(K&Rは驚くほどうまくいったと思いますが)
ヘイレム

@ user16764:「いいえ」から「必要なのでしょうか?」、「K&Rを読むことに利点はありますか?」
ヘイレム2013

@haylem:もちろんです。K&R本は幸いなことに、かなり良いですが、私は代わりに、または他のCのリソースに加えて、それを読んでに明白な利点を見ていない
スティーブンA. Loweの

回答:


15

はい、必要なし。K&RはC言語の定義ではありません。これは単に、多くの紹介文の1つです。私はそれが特に明確で簡潔であるとわかりましたが、他の読者は他のテキストを好むかもしれません。単にそれを読んだだけでは、他のプログラマとの違いはありません。


それで、私がそれを読んだかどうかに関係なく、違いはないと言っているのですか?
Farouk Jouti 2013

7
K&R 読んで演習を行うことは、入門Cを学ぶのに最適な方法です。ただし、Cを学習するための本やリソースは他にもたくさんあります。他の本の1つよりもK&Rを選んだだけでは、プログラマーとしてのあなたの能力を実証できません。 。
Charles E. Grant

7
もちろん、いつでもc学ぶことができます。
Robert Harvey

4
K&Rは私にそれを学ぶことへの恐れを取り除きました。それはまるで、彼らが私の隣に座っていて、家庭的でフレンドリーなチャットで物事を説明しているかのようです。それが「白書」の価値です。(そして私は1985年にそれを学びました)
Rob

@ロブ:はい、とてもフレンドリーな本で、とても親しみやすいです。私はこれをその最大の資産の1つであると考え、非常に明確な例/演習を行います。
ヘイレム2013

8

チャールズE.グラントに同意します。これは必須ではありませんが、読む価値はあります。その理由は次のとおりです。

悪いもの

  • 日付が付けられているため、混乱する可能性があります。
  • Cをすでによく知っているなら、あなたはあまり学びません。
  • K&Rコードスタイルのファンではない場合、目が火傷する可能性があります。

3番目のポイントは重要ではなく、最初の2つのポイントは比較的無痛です。少なくとも、読んでも害はありません。

良いもの

  • これは、Cとプログラミングの両方の一般的な初心者プログラマにとって優れた入門書です。
  • それは良い読み物です(例:簡単に読み、よく書かれています)。
  • 技術的な価値だけでなく、歴史的な価値も重要です。専門家になることを目指すなら、言語がどのように進化したかを知るのは良いことです。そのため、その起源からそれほど長くはなかった本と、その言語で最も有名な本の1つを見るのは良いことです。Cが変更されました。古いビットを知らなくても、それらを使用する必要がない場合は役に立たない可能性がありますが、古いコードに遭遇した場合や、何らかの理由で何らかの方法で実行された理由がわからない場合に役立ちます。
  • 繰り返しますが、それは歴史についてです。Steven Levyの "Hackers"やHitzlickの "Dealers of Lightning"を読んでも、技術的な価値はわかりませんが、それは逸話的なものです。どういうわけか、この点でもK&Rは非常に価値があると思います。

時間の無駄ではないので、地元の図書館でコピーを手に取り、机に置いておきます。ある時点でそれを拾うと、再び頭を上げるときに時空連続体に小さな穴があったことに驚かれるかもしれません。


2
+1:「Cをすでによく知っているなら、あなたは多くを学ぶことはないだろう」と私は同意します。
mattnz 2013

1
@mattnz:はい。(とは言っても、それはCや特にこの本に固有のものではないようです。実際、私たちは自分が実際よりもよく知っていると思う傾向があります。)
haylem

6

はい、K&R 不可欠です。

ハムレットとロードオブザリングを読むのと同じように、カサブランカと風と共に去りぬスターウォーズを見るのと同じように、それを読む必要があります。

それは素晴らしい小さな本です。それはプログラミングを変更し、テクニカルライティングを変革し、一世代の間、スタイルの頂点を表しました。

それを読まないことで何が得られますか?六時間?12?二十?プログラミングに真剣に取り組んでいる場合、何千時間も何千時間もかけてコードをキャストすることになります。読むのが面倒だとしたら、他に何ができて困るのですか?

K&Rが最初のCブックではない可能性は十分にあります。そして今日では、Cを第一言語にすべきではありません。最初にK&Rを読むことは重要ではありませんが、必ず読む必要があります。

そして、なぜあなたはしたくないのですか?楽しいです。


1
それは私の意見では悪いアナロジーです。私は人々がこれらの本を読むべきだと思いますが、やはり、見なければならない無数の本や映画があり、それらを見たり見なかったりしても、大部分は何の強力な指標にもなりません。また、誰もがそれらを読む必要があると思うなら、それは文化特有のものです。また、K&Rを読んでいない時間は時間の浪費であると誤って想定しています。OPのスケジュールがわからない。おそらく彼または彼女がこの時間を、あなたが言及しなかった他の交換できない57冊の本に使用することを計画していたことを知っているからです。
ヘイレム2013

1
また、私は一部の人にC以外の言語から始めるように助言したときもありましたが、私はそれを早期に教え、よく教えるべきだと主張しています。基本的に私があなたの答えで心から同意できる唯一のことは、「それは素晴らしい小さな本です。それはプログラミングを変え、テクニカルライティングを変革し、世代にとってそれはスタイルの頂点を表しています」です。(私にも
全体的

1
推論を押し進めて、誰もがオイラーの「代数の要素」または「Brāhmasphuṭasiddhānta」を読むべきです。結局のところ、彼らは彼らの内容と形の両方のために彼らの分野を変えて、そしていつかかなり多くの世代のために、ある時点でスタイルの頂点になりました。確かにそれらを読まないことは時間の大きな浪費です。
ヘイレム2013

それは2019年であり、私はK&Rを読んでおらず、あなたのリストで何も見たり読んだりしていません。私は真剣です。
ロニー

4

はい。

現在のバージョンのCを使用してプログラムを作成する方法を知りたい場合は、あまり良くありませんが、-

それは、言語がそのように見える理由と、基本的な設計決定の背後にある意図を非常に明確に説明しています。

何かを文書化するように求められた場合、「Cプログラミング言語」はその方法の絶対的な例です。よく整理され、明確、簡潔、読みやすい。それは最低限の専門用語とゼロ流行語で平易な英語で書かれています。


2

他のCの本とK&Rの違いを学ぶことができるかどうかはわかりませんが、主題について読むのが好きな本を見ると、人々についてかなり学ぶことができると思いがちです。

  • K&Rはよく書かれた簡潔な本ですが、推薦としては少し決まり文句です。
  • 私の個人的なお気に入りはHarbison&Steeleで、K&Rと同様に書かれていますが、かなり詳細です。
  • 誰かが「…for Dummies」シリーズの本を好むなら、私は彼らの技術への献身を疑います。それらの本がすべてそれほど悪いからではなく、詳細にあまり深く入り込んでいないからです。
  • 誰かがハーバート・シルトの書いた本に誓ったら、彼らは詳細に入る意志を持っていますが、私は彼らが選んだ本で彼らの判断を疑うでしょう。

一般的に、質の高い技術書を読むのに費やした時間(そしてK&Rは間違いなく1つであり、それほど長くはありません)が無駄になることはないと私は思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.