정말 어려운 프로그래밍 책은 무엇입니까? [닫은]


14

프로그래밍에 관한 어려운 책이 무엇인지 궁금해했습니다. 나는 c 등의 저수준 언어와 알고리즘, 포인트, 함수 등에 대해 이야기하고 있습니다.

감사합니다 ALot.


1
Wrox 시리즈의 대부분은 꽤 질기다.
Joel Etherton

1
사람들이 왜 다운 토트를합니까? OP는 단지 그에게 도전을 제시 할 책을 원합니다. 어리 석거나 OT 질문이 아닙니다.
Melanie Shebel

4
이것은 좋은 질문이 아닙니다. 특히 책을 판단하기위한 명확한 기준이 부족하다고 생각합니다. "거친"과 "생각하게"는 매우 주관적입니다. 우리는 당신을 알지 못하며 어떤 것이 힘든지 쉽게 알 수 있습니다. 또는 그 문제에 대해 다른 사람들에게 어떻게 적용됩니까? 또한 책이 권장되는 이유를 설명하고 잠재적으로 구성 지침 에 위배되는 답변에 영감을주는 것은 아닙니다 . 약간의 편집이 도움이 될 수 있다고 생각합니다.
Adam Lear

4
@Melanie-이것은 사람들이 가장 좋아하는 책을 답변으로 게시하는 "X 목록"질문입니다. 당신이 답을 확인하지 않으면 아무도 그들을 어떤 설명이 책이 충족에게 작전 요구 사항을 언급 (물론 하나는 않지만, 그 10 개 답변 밖으로이다).
ChrisF

1
위의 @Anna 및 @Chris에 동의합니다.이 질문에는 이러한 책이 어려운지 또는 서로 책을 채점하는 방법을 설명하는 것과 같은 핵심 부분이 없습니다 .
Josh K

답변:


29

컴퓨터 프로그래밍 기술. 도널드 크 누스


3
왜? 무엇이 그렇게 좋습니까? 답을 넓히십시오.
Walter

2
답변에 포함시켜야합니다. 나는 그것을 읽었지만, 그렇지 않은 사람은 왜 당신의 제안을 조사 해야하는지 전혀 알지 못할 것입니다.
Walter

3
@ Walter : 동의하지 않는 것 같습니다. 나는 그것이 확장이 필요하다고 생각하지 않습니다. 이 책은 엄청나게 중요하고 컴퓨팅의 중심이므로 설명이 필요하지 않습니다.
S.Lott

1
그것은 프로그래머들이 대부분 언젠가는 독서를 계획 할 것입니다.
Steven A. Lowe

1
@RYUZAKI : "나는 너무 어렵고 보람이있는 것으로 뛰어 들기 전에 준비하고 싶다" "준비"하려고하지 마십시오. 넘어 가세요. 당신을 넘어선 과목을 찾으면, 배워야 할 것을 알게 될 것입니다. 평생 추구하는 일입니다. 충분히 준비 할 수 없습니다 . 항상 더 많은 것을 배워야합니다.
S.Lott

13

알고리즘 소개

그렇지 않다 "소개";)


1
왜 그렇지 않습니까 (“그래서 소개””)? 이것은 이다 CS (101)에 사용되는 소개
콘라드 루돌프

1
@konrad : AFAIK, 대부분의 대학은이 책의 여러 장만 가르치기 위해 사용합니다.
Hery

이제 랩톱 스탠드를 철거하면서 프로세스를 찾아야했습니다 (노트북 지원으로 Cormen을 사용합니다 ...). 그리고 네 말이 맞아 나는이 책의 후반부를 잊었다. 이것들은 실제로 후기 강의의 주제입니다 (일부는 마스터 코스에서).
Konrad Rudolph

@ konrad : 그녀는 그것을 못 박았다.
데미안 브레히트

@konrad : 다사 다난 한 과정과 같은 소리)
데미안 브레히트

10

Edgar W. Dijkstra의 프로그래밍 분야

올바른 코드를 작성하는 방법

이 책은 읽을 책이 아니라 공부할 책입니다


스티븐 나는 정말이 책을 보지 못했다. 그러나 그것은 매우 중요한 질문을합니다. 웹 개발자 또는 C ++ 코더 [장치 드라이버 등] 또는 Android 개발자에게 어떤 용도로 사용됩니까? 내 시간이 가치가 있는지 물어보고 있습니까? [다음 댓글에 계속]
Chani

[이전 의견에서 계속] 나는 새롭지 만 사악하게 빨리 배웁니다. 나는 수많은 블로그, 오픈 소스 코드 등을 읽었습니다. 그래서 위의 책을 읽고 있습니까? 그리고 친구; 내가 그런 비관적 인 태도를 갖는 유일한 이유는 내가 Aho 등의 컴퓨터 알고리즘의 설계 및 분석을 읽었 기 때문입니다. 나는 그 지식을 거의 사용하지 않았다는 사실을 말하기 위해 ..... 그러나 다시 한 번 나는 단지 6 개월 미만 동안 진지하게 프로그래밍을 해왔다. 그래서 뭐라고 하시겠습니까?
Chani

1
@RYUZAKI : 그래서 당신은 6 개월 미만으로 진지하게 프로그래밍을 해왔고, Aho et al. 알고리즘은 즉시 유용하지 않습니까? 그런 다음이 질문에 언급 된 책을 찾지 않습니다. 시간이 좀 걸리고 현장에서 더 편안 해졌다가 다시 돌아올 수도 있습니다. 이 답변의 책들 (어쨌든 내가 아는 것)은 당신에게 사물을 가르치고 이해력을 크게 넓힐 것입니다. 그것이 지금 당신이 찾고있는 것이라면 그들은 더 나은 C # 개발자를 즉시 ​​만들지 않을 것입니다.
David Thornley

+1 : 또한 David Gries의 프로그래밍 과학. 테마를 확장하는 동반자 책.
S.Lott

2
@RYUZAKI는 가장 깊은 CS 텍스트와 마찬가지로 입력 한 내용을 벗어납니다. 나는 매우 작은 프로그램의 정확성을 설계하고 증명하는 직접적인 경험과 함께 프로그래밍의 수학적 아름다움에 대한 새로운 인식을 얻었습니다. 이 책을 통 해 길을 찾는 데 1 년이 더 걸렸습니다.
Steven A. Lowe


6

7 주간의 7 개 언어는 많은 것을 가지고 놀 것입니다. 다른 모든 것이 실패하면 "컴퓨터 프로그램의 구조와 해석"을 읽어보십시오. 프로그래밍에 대한 최고의 책 중 하나입니다.


2
"7 주간의 7 개 언어"는 매우 시원하지만 실제로는 어려운 프로그래밍 책이 아닙니다.
Chiron

당신의 목표가 열심히하기 위해 어려운 책이라면 당신이 옳다. 반면에 그것은 좋은 정보가 많은 책이다
Zachary K

4

나는 Numerical Recipes : The Art of Scientific computing을 강력히 추천 합니다.

많은 유용한 과학 알고리즘을 자세히 설명하는 환상적인 책. 하나 개의 언어 또는 다른 임베디드 및 산업용 컴퓨팅 시스템, 하나 개의 버전 또는 다른 내 경력에 걸쳐 1 , 내 동반자가되고있다.

  1. 3 판 이전에는 언어마다 다른 책이 있었으므로 C 에는 숫자 레시피, Fortran 에는 숫자 레시피, 파스칼에는 숫자 레시피가있었습니다.

와우, 나는 약 15 년 동안 모자 책에 대해 생각조차하지 않았다
Zachary K

예, 나는 대학에서 첫 번째 판을 샀고 그 이후로 일한 모든 일에서 그 책의 알고리즘에 대한 사용법을 찾았습니다.
마크 부스

2

잘 알려진 (그리고 훌륭한) 책에 대한 몇 가지 대안은 이미 제안했습니다.

  • 데이터베이스 시스템 : The Complete Book, 2nd ed. 실제로 DBMS 자체가 어떻게 구현되는지 설명하는 두 번째 부분이 있습니다. 데이터를 효율적으로 저장 및 색인화하는 방법과 실제로 데이터베이스에서 쿼리를 실행하는 방법에 대한 자료가 많이 있습니다.
  • 컴퓨터 네트워킹에 대한 엔지니어링 접근 방식 은 실제로 네트워크 작동에 대한 가장 자세한 내용을 설명합니다. 고성능 네트워킹 응용 프로그램 또는 장치를 구현하려는 경우이 텍스트는 훌륭한 기본 배경을 제공합니다.
  • 근사 알고리즘 은 조합 최적화 문제에 대한 광범위한 개요로 구성됩니다. 저자는 근사치를 만들려고 시도하기 전에 깊이있는 문제를 연구하는 것이 좋습니다.
  • 유형 및 프로그래밍 언어프로그래밍 언어의 유형에 전념하는 600 페이지 이상의 이론 및 구현 기술입니다. 다루어야 할 엄청난 양의 이론이 있다는 것이 밝혀졌습니다. 본격적인 프로그래밍 언어를 만들고 싶다면 여기에서 배울 것이 많이 있습니다.


1

최근에 Hacker 's Delight (http://www.amazon.com/Hackers-Delight-Henry-S-Warren/dp/0201914654)를 읽기 시작했습니다 . 힘든면에서는 점수가 높지 않을 수 있습니다. 그러나 나는 그 이름의 정신에 충실한 철저 함, 저수준 및 영리한 문제 해결에 대해 높은 점수를 줄 것입니다.


1

Lisp 언어를 배우기 시작할 수 있습니다. 확실히 힘들 것입니다! 정기적 인 프로그래밍으로 인한 행복한 휴식

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.