기금넷 공식사이트 - 회사 연구 - C 네트워크 프로그래밍에 관한 최고의 책을 찾고 있습니다. 감사합니다.
C 네트워크 프로그래밍에 관한 최고의 책을 찾고 있습니다. 감사합니다.
C 프로그래밍에 관한 네 권의 책과 다섯 가지 고전(1부)
C는 산업용 소프트웨어 개발에 널리 사용되는 대규모 언어입니다. 실제 문제를 해결하는 자체 복잡성과 능력으로 인해 학술 연구 및 산업 분야에서 매우 가치가 높습니다. C 언어와 마찬가지로 C는 여러 중요한 영역에서 매우 성공적이었습니다.
그러나 저급 프로그래밍 분야에서는 C가 C를 쥐어짜고 있으며, C의 강한 반등에도 시달린다는 점은 부정할 수 없는 현실이다.
고급 프로그래밍 분야에서는 레벨 프로그래밍, 디자인 분야에서는 Java와 C#이 지속적으로 C의 영역을 침범하고 있습니다. 어쩌면 C와 C의 통합은 언제나 꿈일 수도 있고, 어쩌면 Java와 C#의 열풍이 결국 C를 근본으로 돌아가게 할 수도 있습니다. 즉 근본적인 장점이 있는 개발 분야로 돌아갈 수도 있습니다.
: 저수준 시스템 프로그래밍, 고급 대규모 고성능 애플리케이션 설계, 임베디드 프로그래밍, 수치과학 컴퓨팅 등 그렇다면 이것도 나쁘지는 않다고 생각합니다.
C는 중량급 소프트웨어 제품, 도서관, 도서 등 이 분야에서 셀 수 없을 만큼 뛰어난 작품이 나올 정도로 많은 지적 투자를 유치했다. "C 프로그래밍: 네 권의 책과 다섯 가지 고전"이라는 제목의 덜 엄격한 의미는 다음과 같습니다. C
프로그래밍에 관한 네 권의 책 ⅹ 다섯 가지 고전. 예, 이 기사(및 다음 기사)에서는 카테고리별로 20권 이상의 좋은 C 도서를 추천할 것입니다. 자신의 필요에 따라 읽을 수 있습니다.
TCPL 및 Damp;E
TCPL 및 Damp;E는 "The C 프로그래밍 언어"와 "The Design and Evolution of
C"의 약어입니다. 각각 Bjarne Stroustrup의 작품입니다. 나는 그것들을 별도로 나열하는데, 첫째는 Bjarne이 C 언어의 창시자이기 때문이고, 둘째는 "첫 번째"보다 더 중요한 이유 때문입니다. 이 두 책은 C 분야에서 중요합니다.
의심할 여지 없는 걸작 . C언어의 바이블이라고 해도 과언이 아닙니다.
Bjarne Stroustrup, C 프로그래밍 언어(특별 제3판)
"C 프로그래밍 언어(특별 제3판)", Machinery Industry Press
"C 프로그래밍 Language (Special Edition) (English Photocopy Edition)", Higher Education Press
현재까지 TCPL은 C 표준 문서 외에 가장 권위 있는 C 참조 매뉴얼입니다. 대부분의 사람들의 의견과는 달리 저는 Bjarne의 글쓰기 언어가 그가 만든 프로그래밍 언어보다 열등하지 않다고 생각합니다. 적어도 저는 이런 학문적인 분위기를 좋아합니다.
작품. 이 책의 C 언어 설명은 명확하고 간단합니다. 다른 어떤 작가나 책도 할 수 없는 작성자의 관점에서 C를 살펴봅니다. Bjarne 자신보다 C를 더 잘 사용하는 방법을 아는 사람은 없습니다.
C를 사용하세요.
이 책은 중급 및 고급 C 개발자를 대상으로 한 진지한 책입니다. 당신이 숙련된 C 프로그래머이고 보다 필수적인 C 지식을 이해해야 한다면 이 책은 당신을 위한 것입니다. 읽고 나면 웃음이 터지는 그런 작은 책이 아니다
자세히 이해하고 반복해서 씹어봐야 할 책이다. 읽는 과정에서 비얀 씨가 강조한 내용과 언급한 내용에 특별한 주의를 기울여 주시기 바랍니다.
저는 개인적으로 이 책의 네 번째 부분인 "Designing with C"를 좋아합니다. 비슷한 프로그래밍 언어 책에서는 보기 힘든 내용입니다. Bjarne도 이 부분을 분리해야 한다고 생각합니다.
혼자서 책을 쓰세요.
Bjarne Stroustrup, C의 설계와 진화
"C 언어의 설계와 진화", 기계 산업 언론
"C의 설계와 진화 Language"(영어 버전)", Machinery Industry Press
D&E는 C 언어 디자인 원칙, 디자인 결정 및 디자인 철학에 대한 논문입니다. C
다른 언어가 아닌 오늘날의 모습이 된 이유를 명확하게 설명합니다. C 언어의 창시자로서 Bjarne은 자신의 독특하고 심오한 통찰력을 생생하게 보여주었습니다. Bjarne은 널리 칭찬받는 언어 기능 외에도 논쟁의 여지가 있거나 C 기능을 거부하는 경우에도 주저하지 않고 논리적으로 엄격하고 설득력 있는 설명을 하나씩 제공했습니다. 콘텐츠는 선사시대 C, C 클래스, C 디자인 규칙, 표준화, 라이브러리, 메모리 관리, 다중 상속, 템플릿 등을 다루며, 예외 메커니즘도 포함합니다. 런타임 유형 정보 및 네임스페이스를 포함한 중요한 새 기능은 별도로 심도 있게 논의됩니다. . 모든
C 프로그래머는 Bjarne의 설명을 통해 언어에 대한 이해를 심화할 수 있어야 합니다.
다시 한 번 명심해야 할 점은 이 두 권의 책에는 응축된 지식과 엄청난 양의 정보가 담겨 있다는 점이다. 겉으로는 무심해 보이는 비얀의 한 마디도 놓치지 마시기 바란다.
입문 튜토리얼
모든 언어를 배우려면 입문부터 숙련까지, 초보자부터 마스터까지 단계별 과정이 필요합니다. 그런데
소위 초보자에게 그는 완전 초보자인가, 아니면 다른 언어에 익숙한 '초보자'이거나, 심지어 특정 언어에 있어서는 심지어 초보자인가
? 언어 프로그래밍 분야에서 큰 성과를 거둔 석사를 일반화하기는 어렵습니까? C 초보자마다
다른 입문서가 필요합니다.
Andrew Koenig, Barbara E. Moo, Accelerated C: 예제를 통한 실용 프로그래밍
le
"Accelerated C Chinese Edition", China Electric Power Press
p> p>
시중에 나와 있는 대부분의 C 튜토리얼과 달리 이 책은 "C in C"로 시작하지 않고 진정한 C 기능으로 시작합니다
처음부터 표준 라이브러리를 사용하여 프로그램을 작성합니다. 설명이 점차 심화되면서 이러한 표준 라이브러리 구성 요소가 의존하는 기본 개념이 하나씩 설명됩니다. 게다가 이 책은 다른 C 교과서와 달리 예제를 이용해 언어와 표준 라이브러리를 설명한다. 언어 기능과 표준 라이브러리 사용법을 보여주는 보조 도구로 사용됩니다.
저자는 C 분야의 프로그래밍 실습, 교육훈련, 기술 저작 분야에서 세계 최고 수준이다. 나는 표준 라이브러리와 C 언어의 기본 기능을 광범위하게 사용하는 이 새로운 글쓰기 스타일을 좋아합니다. 이 교과서를 보면 지금까지 거의 모든 C 교과서가 낡거나 구식으로 보입니다. 비록 이 교과서가 국내 고등교육에 있어서는 다소 전위적일 수 있지만,
그래도 동료들에게 적극 추천합니다. 그건 그렇고, Bjarne과 나와의 최근 서신에서 그는 이 책에 대해 다음과 같이 말했습니다. C를 배우는 숙련된 프로그래머에게 이 책은 세계 최고의 책일 수 있습니다.
Stanley B.Lippman, Josee Lajoie, C Primer(3판)
"C Primer(3RD) 중국어판", China Electric Power Press
이것은 이 책의 제목은 다소 오해의 소지가 있습니다. 저자는 이 책이 C 초보자를 위해 쓰여졌다고 주장하지만, 그 두께와 설명의 깊이는 그렇지 않다는 것을 암시합니다. 아마도 "초보자부터 능숙한 사람까지"의 C 튜토리얼이라고 말하는 것이 더 적절할 것입니다
. 나는 개인적으로 이 책이 C를 전혀 모르는 초보자에게는 적합하지 않다고 생각합니다. 이 책을 읽기 전에 최소한 C나 C에 대한 배경 지식이나 최소한 다른 프로그래밍 경험이 있어야 합니다.
이 책에서는 일부 고급 C 기능에 대한 논의가 생략되어 있지만 여전히 현재까지 가장 포괄적인 C 학습 튜토리얼로 간주될 수 있습니다.
실제로 C 초보자가 이 책을 실감나게 읽고 "C Primer
er Book"에 따라 모든 연습문제를 완벽하게 수행할 수 있다면 그의 레벨은 분명 입문할 수 있을 것이다. 전문 C 프로그래머의 계급. 나는 개인적으로 이 책이 이미 TCPL을 소유하고 있다고 하더라도 여러 면에서 TCPL보다 더 자세하고 이해하기 쉽기 때문에 여전히 소유할 가치가 있다고 생각합니다.
Stanley B. Lippman, Essential C
"Essential C 중국어 버전", 화중 과학 기술 대학 출판부
"Essential C(복사 버전)" , 차이나파워프레스
이 책은 대충 'C프라이머'의 간소화된 버전이라고 볼 수 있다. 이 책은 절차적 프로그래밍, 일반 프로그래밍, 객체 기반 프로그래밍, 객체 지향 프로그래밍, 템플릿 프로그래밍 및 예외 처리 등 C의 가장 대표적인 주제를 하나씩 설명합니다.
Stanley는 "다른 언어 프로그래밍 경험이 있는" C 초보자가 수용할 수 있는 가장 기본적인 수준으로 임계값을 낮추어 "C Primer"》이런 책을 읽지 않고도 C 프로그래밍을 빠르게 시작할 수 있도록 합니다.
예제를 사용하여 학습을 안내하고 독자가 가능한 한 짧은 시간에 C의 본질을 이해할 수 있도록 노력합니다.
C 프로그래밍 패러다임(패러다임)의 모든 측면을 다른 사람이 설명하려면 수백 페이지가 필요할 수도 있지만, 이
이 짧은 책은 이를 믿을 수 없을 만큼 잘 수행합니다. 나는 개인적으로 기술이 풍부하고 간결하며 "말하기 좋은" 이런 종류의 책을 좋아합니다. 이 책에는 또한 분명한 스타일이 있습니다. 모든 프로그램 예제는 표준 라이브러리 구성요소를 사용하는데, 이는 참신합니다.
위 세 권의 책 중 어느 것도 프로그래밍의 완전한 초보자를 위해 쓰여졌습니다. 완전한 C 프로그래밍 초보자는 Francis G
lassborow의 새 책(아직 출판되지 않음): "컴퓨터 프로그래밍 초보자 입문
g: You Can Do It!"을 읽을 수 있습니다. 이것은 Bjarne도 권장합니다. Francis Glassborow는 수년에 걸쳐 거의 모든 C 고전 책에 대해 논평해 왔으며 자연스럽게 C 커뮤니티에서 큰 관심을 불러일으켰습니다.
효율적이고 견고한 프로그래밍
2년 전 지방 전력 급전 시스템 프로젝트를 담당하면서 SCADA 시스템에서 전력을 얻는 게이트웨이 프로그램을 작성했습니다.
전력 실시간 정보입니다.
통신 인터페이스는 흔하지 않은 데이터베이스 직접 연결 방식을 채택합니다(이 게이트웨이 프로그램은 한쪽 끝은 SQL Server
er 6.5, 다른 쪽 끝은 Oralce 8.1.6에 연결됨). 실시간 측정 지점이 거의 10,000개에 달하므로 매번 모든 샘플을 한 번씩 업데이트하거나 삽입하는 것은 분명 비효율적입니다
. 게이트웨이 프로그램에 메모리 라이브러리를 구축하고 그 안에서 얻은 데이터를 먼저 비교한 다음
물리적 데이터베이스를 업데이트할지 여부를 결정했습니다(다른 더 복잡한 작업도 수행하면서...). 효율성과 자원 활용 측면에서 기대했던 결과를 달성했다는 것
.
이 프로그램은 아주 잘 돌아가고 있는데, 사이트를 떠난 지 하루 만에 시스템 관리자가 전화를 걸어
네트워크 장애나 다른 이유 때문에 그럴 수도 있고, 가끔 게이트웨이가 안 되는 경우도 있다고 하더군요. 프로그램이 충돌합니다. 문제는 Windows 2000 Advanced Server도 "블루 스크린"으로 전환한다는 것입니다. 솔직히 말해서 의도하지 않은 프로그램에 이러한 "능력"이 있는 것을 본 적이 없습니다. 당시 다른 큰 프로젝트로 바빴기 때문에 디버깅을 위해 사이트에 갈 수 없었습니다. 결국 경험에 의존하여 예외 처리 코드로 메모리 라이브러리 코드를 신중하게 캡슐화해야 했습니다. 수정...). 이렇게 하면 문제가 완전히 해결되지는 않지만 결국 프로그램은 더 이상 그렇게 추악하지 않습니다.
여기서 그런 이야기를 하는 게 무슨 소용이 있나요(그 끔찍한 버그에 대해 생각할 때는 '틱'이라고 생각하지 않았습니다). 제가 말하고 싶은 것은 어떤 소프트웨어든 견고함 없이는 효율성이 없다는 것입니다.
C 프로그래머라면 효율적인 프로그램을 작성하는 것이 어렵지 않을 수도 있지만, 지속적으로 실행되어야 하는 서버측 소프트웨어를 작성하는 것은 어렵지 않습니다.
7 ⅹ 24시간 너무 쉬워서 고려해야 할 요소가 많으며 때로는 이러한 요소가 C 언어 및 개발 도구 자체를 훨씬 뛰어넘는 경우도 있습니다. 실제 프로젝트 소프트웨어를 개발하는 프로그래머로서 우리는 경험을 쌓기 위해 스스로 벽에 부딪힐 필요가 없습니다. 우리가 충분히 열린 마음을 갖고 있는 한, 다른 사람들의 경험은 종종 우리에게 좋은 참고가 됩니다. 이러한 관점에서 저는
강력함과 효율성 모두에서 도움이 될 수 있는 다음과 같은 몇 권의 책을 추천합니다. (물론 예외 사항보다 훨씬 더 많은 내용을 다루고 있습니다.
프로세스 J).
Scott Meyers, Effective C: 프로그램과 목표를 개선하는 50가지 구체적인 방법
ign(2판)
Scott Meyers, More Effective C: 35 신규 프로그램 및 디자인을 개선하는 방법
"Effective C 중국어 버전", Huazhong University of Science and Technology Press
"More Effective C 중국어 버전" , 중국전력출판
"Effective C(복사판)", 중국전력출판
"Effective C"가 C의 비교적 기본적인 개념과 기법을 주로 다룬다면, " More E
ffective C'는 예외 처리를 포함한 일련의 고급 기술에 중점을 둡니다. 전자에 비해 후자에는 두 가지 주요 차이점이 있습니다. 첫째, 최신 표준 C의 내용이 많이 포함되어 있으며, 둘째, 논의하는 주제는 "전술적"이 아닌 "
전략적"인 경향이 있습니다. 좀 더 깊고 철저하게 토론해보세요.
특히 가상 소멸자, 스마트 포인터
, 참조 카운팅, 프록시 클래스 등의 기술과 패턴에 대한 심도 있는 논의는
이런 모습이 나타났다는 것을 상상하기 어렵게 만듭니다. 작은 책.
편안한 테크닉과 탁월한 작문 실력을 갖춘 Scott은 의심할 여지 없이 세계 최고의 C 테크니컬 라이터 중 한 명입니다. 두 책 모두 단순성, 명확성, 가독성 측면에서 탁월합니다. 간단히 말해서, 프로그래밍 기술과 디자인 사고를 향상시키기 위해 Scott이 제공한 85가지 방법은 모두 중급 및 고급 C 프로그래머에게 필요한 기술입니다. 저는 이 두 권의 책을 강력히 추천합니다(그리고
나중에 보게 되겠지만 실제로는 한 권이 더 있습니다).
Herb Sutter, 뛰어난 C: 47가지 엔지니어링 퍼즐, 프로그래밍 문제, 및
d 솔루션
Herb Sutter, 더욱 뛰어난 C: 40가지 새로운 엔지니어링 퍼즐, 프로그래밍 문제 및 해결 방법
"Exceptional C 중국어 버전", China Electric Power Press
"More Exceptional C 중국어 버전", 화중 과학대학교 Technology Press
당신은 자신이 C 언어 전문가라고 생각하시나요? 답변하기 전에 ISO C 표준 위원회 사무총장이 쓴 이 두 권의 책을 읽어 보십시오.
이 두 권의 책에서 Herb는 "질문과 답변" 접근 방식을 사용하여 C 언어 기능 학습을 안내합니다. 각 주제에 대해
B는 먼저 귀하의 질문과 혼란을 합리적으로 상상한 다음 귀하의 답변이 아마도 틀렸을 것이라고 추측한 다음 해결책을 제시합니다
지침을 제공하고 최선의 해결책을 제안합니다 , 마지막으로 유사한 문제를 해결하기 위한 보편적인 원리를 요약합니다.
이 두 권의 책은 C 언어를 세세하게 파고드는 대표적인 작품이다. 매우 얇지만 내용은 스캇의 두 권의 책보다 훨씬 촘촘하다.
매우 어렵다. 읽기 — 개인적으로 Scott의 책보다 이해하기가 훨씬 더 어렵다고 생각합니다. 이 얇은 두 권의 책에 담긴 지식을 공부하려면 최소한 몇 달은 걸릴 것입니다
! (스콧의 서문에서 그는 자신이 G
otW 문제의 함정에 여러 번 빠졌다고 고백했습니다. 이것이 무엇을 의미하는지 알아야 합니다.) 언어의 세부 사항을 공부하면 어떤 이점이 있습니까? 대부분의 경우 C 코드 뒤에 숨은 동작에 신경 쓸 필요는 없지만, 신경 써야 할 때 이 두 책은 C 언어에 대해 미묘하지만 중요한 것을 드러내기 때문에 좋은 단서를 제공할 수 있습니다.
Stephen C. Dewhurst, C Gotchas: 코딩 및 설계 시 일반적인 문제 방지
n
"C 프로그래밍 함정", China Youth Press
p>스티븐의 이론적 능력과 실제 경험이 이 책을 읽을 가치가 있는 좋은 책으로 만들어줍니다. Stephen은 Bell Labs의 최초 C 사용자 중 한 명이었습니다. 그는 C를 사용하여 컴파일러, 증권 거래, 전자 상거래 및 임베디드 시스템을 포함한 영역의 문제를 성공적으로 해결했습니다. 이 책은 개발의 최전선에서 얻은 저자의 99가지 프로그래밍 통찰력을 모아 놓은 것입니다. 이를 이해하면
일반적인 C 설계 및 프로그래밍 문제를 거의 모두 피할 수 있습니다.
C 프로그래밍 초보자라도 이 책을 읽으면 Scott과 Herb의 책을 읽는 것보다 더 쉽고 빠르게 향상될 수 있다고 생각합니다. 나는 개인적으로 이 책의 글쓰기 스타일을 좋아합니다. 스티븐의 견해 중 상당수는 극단적인 것처럼 보이지만 반박할 수 없는 것 같습니다. 물론 이러한 자신감(그리고 건조한 유머)은 편집증보다는 저자의 심오한 기술적 능력에서 비롯됩니다.
위에서 추천한 책 외에도 Dov Bulka와 David Mayhew가 공동 집필한 "Efficient C: Performan
ce 프로그래밍 기법"("Programming Techniques to Improve C Performance", Tsinghua University 출판사)도 살펴볼 가치가 있습니다
. 이 얇고 작은 책은 고성능 C 애플리케이션 개발에 중점을 둡니다. 두 저자는 모두 IBM 소프트웨어 전문가이며 매우 높은 성능을 요구하는 시스템 구축 분야에서 일하고 있습니다. 이 책은 그들의 경험을 바탕으로 작성되었습니다. 어떤 사람들은 이 책이 C와 관련없는 이야기를 하는데 많은 시간을 소비하기 때문에 좋아하지 않지만, 나는 바로 이 때문에 이 책에 좋은 인상을 받는다.
>
이것들이 제 눈을 뜨게 했어요.
템플릿 및 일반 프로그래밍
템플릿 및 템플릿 기반 일반 프로그래밍은 의심할 여지 없이 오늘날 가장 활발하게 개발되는 C 프로그래밍 기술입니다. 최초의 혁신적인 템플릿 적용은 STL로, 일반 컨테이너 및 알고리즘 분야에서 템플릿 기술의 적용을 완벽하게 입증했으며 Boost 및 Loki Library와 같은 최신 프로그램은 템플릿 기술의 잠재력을 지속적으로 극대화합니다. 템플릿 및 일반 프로그래밍 분야에서는
다음 두 권의 중요한 책을 추천합니다:
David Vandevoorde, Nicolai M. Josuttis, C 템플릿: 전체 가이드
"C 템플릿 개요(중국어 번체판)", Taiwan Cifeng Information Co., Ltd.
"C 템플릿 개요(중국어 간체판)", People's Posts and Telecommunications Publishing House
One 책을 칭찬하는 옛날 방식은 대충 "이 책을 읽지 않았다면 그냥 하고 싶은 대로 해라" 정도가 된다. 그러나 ""C 템플릿: 전체 가이드"를 읽지 않고는 C 템플릿 프로그래밍에 능숙해질 수 없다는 말이 있다면, 이 주장은 전 세계 대부분의 C 프로그래머에게 받아들여질 것입니다.
서 있는.
이 책은 C 템플릿 도서 분야의 오랜 공백을 메워줍니다. 이전에는 고급 템플릿 프로그래밍 기술과 일반 패턴에 초점을 맞춘 "Modern C Design"과 특정 주제에 초점을 맞춘 "The C Standard Library"와 같은 책이 있었습니다. 그러나 템플릿 메커니즘에 대한 깊은 이해가 부족하면 자유롭게 "위아래"를 움직이는 것은 어려울 것입니다. 이러한 관점에서 나는 C 템플릿 기술에 대한 철저한 이해를 원하는 모든 사람에게 이 책을 추천한다.
이 책은 중국 본토와 대만에서 1개의 번역본이 있지만, 서로 다른 번역가가 집필했습니다. 이 기사를 읽을 때쯤에는
두 가지 번역본이 모두 출시되어 있을 것이며, 이는 물론 독자들에게 한 가지 선택권을 더 제공합니다. Hou Jie 씨의 개인 웹사이트는 중국어 번체 버전의 대부분의 장을 열었으므로 살짝 엿보는 것이 좋습니다.
Andrei Alexandrescu, 현대 C 디자인: 일반 프로그래밍 및 디자인 패턴
적용
"C 디자인의 새로운 사고: 일반 프로그래밍 및 디자인 패턴의 적용" , 화중 과학기술대학교 출판부
"C 디자인의 새로운 사고(복사본)", 중국 전력 출판사
자신이 C 템플릿 프로그래밍 마스터라고 생각하시나요? J에게 대답하기 전에 이 책을 읽어보세요. 천재가 쓴 경외심을 불러일으키는 걸작입니다. 일반 모드는 시야를 무한히 확장하며 C 프로그래머의 사고 한계에 도전하기에 충분합니다.
이 책***은 두 부분으로 구성되어 있습니다. 첫 번째 부분에서는 Loki 라이브러리에서 사용하는 기본 기술과 전략 기반 클래스 설계를 포함한 일부 고급 언어 기능에 대해 설명합니다. , 템플릿 부분 특수화, 컴파일 타임 어설션, Typelist 및 작은 객체 할당 기술
기법 등 두 번째 부분에서는 Gene
ralization Functor, Singleton, Smart Pointer 및 Object Factory를 포함하여 Loki의 중요한 구성 요소와 일반 패턴 기술에 중점을 둡니다.
Abstract Factory, Visitor 및 멀티메서드 등 모든 기술은 눈을 뜨게 하고 숨이 막힐 정도로 놀랍습니다.
C를 배우는데 있어서 너무 멀리 나아가는 것은 더 깊은 이해를 추구하지 않는 핑계가 되는 경우가 많습니다. 그러나 객체지향이 C의 전부는 아닙니다.
템플릿과 일반 프로그래밍도 절반을 차지합니다. "진지한" C 프로그래머라면 이 입증된 성공적인 기술을 시기적절하게 후속 조치하는 것이 현명한 조치입니다.
결론
이 책들은 워낙 유명해서 굳이 추천할 필요도 없을 것 같다. 그러나 C 프로그래머 팀이 다른 최신 언어만큼 빠르게 발전하고 있지는 않지만 떠나는 기존 사람들보다 항상 새로운 사람들이 더 많이 들어오고 있습니다. 새로 오신 분들을 따뜻하게 환영하는 것 외에도
저는 개인적으로 이제 C 도서를 '인벤토리'할 때라고 생각하며, 이러한 '인벤토리'가 관심 있는 독자들에게 도움이 되기를 바랍니다
. 인내심을 갖고 은혜롭게 행동하십시오. 다음 기사에서는 표준 라이브러리, 네트워크 프로그래밍 및 기타 좋은 C 책을 계속 소개하겠습니다. 좋은 책과 함께라면 이번 겨울도 춥지 않을 것 같아요.
C 프로그래밍의 네 권의 책과 다섯 가지 고전(2부)
이전 부분에서는 TCPL 및 D&E는 물론 입문 튜토리얼, 효율적이고 강력한 프로그래밍에 대한 "목록을 작성"했습니다. , 템플릿 및 일반 유형 프로그래밍 및 기타 측면
***좋은 C 책이 12권 이상 있습니다. 겨울에서 봄으로, C books의 멋진 여정을 이어가자 J
표준도서관
아직 연구소에 근무하던 시절, 협력을 통해 대규모 프로젝트를 개발하게 됐다. 같은 연구소의 다른 두 연구소와 함께 수자원 보호 허브 파견 통합 프로젝트
. 세 가지 소프트웨어 시스템은 모두 서로 통신해야 합니다. 통신 모듈을 디버깅할 때 세심한 고객(공부가 많은
시스템 관리자)은 동일한 통신 프로토콜에 대해 내 모듈의 해석 코드 라인은 30줄을 초과하지 않았지만 상대방의 해석 코드 라인은 15줄을 초과했다는 사실을 발견했습니다.
p>
0줄로 이해하기 어렵습니다. 시스템 관리자는 모든 사람의 프로그래밍 스타일과 습관이 다르다며 매우 당황했습니다. 저는 표준 라이브러리를 사용하지만 그는 전통적인 C 프로그래밍 스타일과 자신에게 익숙한 다른 기술을 사용합니다.
오해하지 마세요! 나는 결코 이 파트너를 폄하할 생각이 없습니다. 사실 나는 깊은 C 프로그래밍 기술을 가진 프로그래머들을 종종 존경합니다. 결국, 오늘날 C의 성공은 주로 C에 대한 깊은 뿌리에 기인합니다
.
C 프로그래머로서 C 속의 C에 익숙하지 않으면 기본기가 탄탄하지 않고 기술적 자신감이 부족하다고 생각하는 경향이 있습니다.
하지만 C는 다중 패러다임 프로그래밍 언어입니다. 어떤 프로그래밍 스타일을 사용하는지는 특정 상황에 따라 다릅니다.
프로그래머는 알아야 합니다. 현장에서 즉석 개발을 자주 해야 하는 프로젝트 리더로서, 긴급한 작업을 신속하고 빠르게 해결하기 위해 기존 라이브러리(및 구성 요소)를 최대한 활용하는 데 익숙합니다. 장기적인 효율성(및 견고성)
입증된 C 표준 라이브러리가 이미 존재합니다. 사용하지 않으시겠습니까?
Nicolai M. Josuttis, C 표준 라이브러리: 튜토리얼 및 참조
"C 표준 라이브러리: 자율 학습 튜토리얼 및 참조 매뉴얼", Huazhong University of Science and Technology 누르기
이것은 백과사전적인 C 표준 라이브러리 저작물로, 계속해서 참고해야 할 참고 자료입니다. 완전성, 세부사항
및 정확성 면에서 비교할 수 없습니다. 이 책은 STL뿐만 아니라 스트림, 현지화 등 표준 라이브러리 전체를 다루면서 각 표준 라이브러리 구성 요소의 사양과 사용법을 자세히 소개합니다. 이 책의 부제에서 알 수 있듯이 처음에는 튜토리얼로 읽고 나중에는 참조 매뉴얼로 읽어야 합니다.
이해하기 쉬운 문체 덕분에 이 책은 읽기가 매우 쉽습니다. 표준 라이브러리를 사용하는 방법을 배우고 이를 최대한 활용하려면 이 책이 있어야 합니다. 인터넷에서 말하는 것처럼 이 책은 책장에만 넣어두는 것이 아니라,
컴퓨터 책상 위에 놓아두어야 합니다. 나는 모든 전문 C 프로그래머에게 강력히 추천합니다.
Angelika Langer, Klaus Kreft, 표준 C IOStream 및 로케일: 고급 전문가
문법사 가이드 및 참조
"표준 C 입력 및 출력 스트림과 로케일", People's Posts and Telecommunications Press
C 표준 라이브러리는 STL, 스트림, 현지화의 세 부분으로 구성됩니다. 시중에는 STL에 관한 책이 많이 있지만 스트림과 현지화에 관한 논문은 거의 없습니다. 이 책은 두 분야 모두에서 최고이며, 지금까지 이 책보다 스트리밍과 현지화에 대해 더 자세히 논의한 책은 없습니다.
플로우 라이브러리를 '사용하는 방법을 아는' 수준에 머무르는 것이 만족스럽지 않다면 놓치지 마세요.
2001년 여름, 이 책의 중국어판을 펼쳤는데, 내용부터 포장까지 모두 깊은 인상을 받았습니다.
하지만 대부분 부정적인 내용이 있었습니다. . 2003년 가을, 나는 우연히 온라인 서점에서 이 책의 중국어 번역본을 아주 싼 가격에 팔고 있다는 것을 알게 되었고 한숨을 쉬었습니다.
Scott Meyers, 효과적인 STL: 표준 사용을 개선하는 50가지 구체적인 방법
표준 템플릿 라이브러리
"효과적인 STL(복사본 버전)", 중국 Electric Power Press
Scott의 "Effective C"와 "More Effective C"의 중국어 번역을 읽은 후 이 책의 중국어 버전을 기대하게 되었습니다.
판아민 씨의 개인 홈페이지를 통해 그와 그의 파트너가 이미 이 책의 번역을 마친 것 같다는 소식을 들었는데, 아쉽게도 아직 시중에는 나와 있지 않습니다. 다행히도 원래 모습으로 볼 수 있습니다.
이 책은 STL을 사용하는 프로그래머라면 꼭 읽어야 할 책이다. 이 책에서 Scott은 STL 컨테이너와 알고리즘의 작동 방식과 이를 가장 잘 사용하는 방법을 알려줍니다. Scott의 다른 작품과 마찬가지로 이 책의 문체는 명확하고 정확하며
가독성이 높습니다. 이 책을 읽고 나면 여러분도 나와 다른 C 프로그래머들과 같은 생각을 갖게 될 것입니다. Scott은 언제 "보다 효과적인 STL"을 작성할 것인가?
STL과 관련하여 Matthew H. Austern의 "일반 프로그래밍 및 STL:
C 표준 템플릿 라이브러리 사용 및 확장"("일반 프로그래밍 및 STL)에 주의를 기울이시기 바랍니다. STL" 》, 중국전력출판사). 이 책은 강한 학문적 분위기를 물씬 풍깁니다. Andrew Koenig와 Barbara Moo는 "Acce
lerated C: Practical 프로그래밍 by 예제"
(그들의 "Ruminations on C 》제외) 그 중 하나는 TCPL이고, 다른 하나는 이 책이에요!
네트워크 프로그래밍
네트워크 프로그래밍 시대에 C가 어떤 역할을 해야 하는지 ACE(Adaptive Communications Environment)를 통해 알려드리겠습니다.
Douglas C. Schmidt, Stephen D. Huston, C 네트워크 프로그래밍, 1권: 마스터
ACE 및 패턴으로 복잡성 강화
Douglas C. Schmidt, Stephen D. Huston, C 네트워크 프로그래밍, 볼륨 2:
ACE 및 프레임워크를 사용한 시스템적 재사용
"C 네트워크 프로그래밍, 볼륨 1: ACE 및 패턴을 사용하여 복잡성 제거", 화중과학기술대학교 출판사
"C 네트워크 프로그래밍, 제2권: ACE 및 프레임워크 기반의 체계적 재사용", 전자 산업 출판사
엔터프라이즈 수준 네트워크 프로그래밍에 C를 사용하여, 현재 ACE(및 이 두 권의 책)는 고려해 볼 만한 옵션입니다. ACE는 고성능 네트워크 애플리케이션과 미들웨어 구축을 목표로 하는 객체 지향 크로스 플랫폼 오픈 소스 네트워크 프로그래밍 프레임워크입니다.
Douglas는 ACE의 창립자이고 Stephen은 수년 동안 ACE에 기술 지원 및 컨설팅 서비스를 제공해 왔습니다. 두 사람 모두 전문가들로 구성된 ACE 커뮤니티(예, ACE의 영향과 실제 적용이 커뮤니티를 형성해 왔습니다)의 구성원입니다.
ACE는 대학과 연구 기관에서만 인기를 끄는 것이 아니라 전 세계적으로 수천 개의 상업용 애플리케이션에서 성공적으로 사용되었습니다.
ACE는 통신, 항공우주, 의료 및 금융 분야의 네트워크 시스템에서 중요한 역할을 수행해 왔으며 앞으로도 계속해서 수행해 왔습니다.
고성능 통신 시스템을 개발할 준비가 되었다면 세계 최고의 전문가 집단을 고려해 보시기 바랍니다.
ACE는 C 객체지향 디자인 기법, 템플릿 등 고급 언어 기능을 사용하는 것 외에도 수많은 패턴을 사용합니다.
"C
네트워크 프로그래밍" 볼륨 1과 2는 ACE의 모든 측면을 가르칠 뿐만 아니라 패턴 및 일반 프레임워크 설계와 같은 고급 기술도 가르칩니다
. 따라서 중급 또는 고급 C 프로그래머로서 진지한 C 네트워크 프로그래밍을 거의 하지 않더라도 이 두 책을 읽으면 여전히 이점을 얻을 수 있습니다.
예, 모든 네트워크 애플리케이션이 웹 서버(및 기타 애플리케이션 서버)와 중량급 구성 요소 모델을 사용해야 하는 것은 아닙니다.
생각을 바꾸려면 가벼운 것부터 시작할 수도 있습니다. ACE 구성 요소에서.
기타
다음의 책들은 단지 더 적절한 분류 방법이 생각나지 않았기 때문에 "기타" 단원에 포함되었습니다.
그들은, 위의 책들은 읽어 볼 가치가 있습니다.
Bruce Eckel, Thinking in C, 1권: 표준 C 소개(2차 편집)
Bruce Eckel, Thinking in C, 2권: 실용적인 프로그래밍(제2판)
"C 프로그래밍 사상(제2판) 제1권: 표준 C 가이드", 기계 산업 언론
"C 프로그래밍 사상(영어판) 제2판) ", Machinery Industry Press
"Thinking in C" 초판은 1996년 "Software R&D" 잡지가 선정한 Book Shock Award를 수상했습니다. 새롭게 출시된 제2판은 C 표준화의 영향과 최근 객체지향 분야의 최신 연구 및 실제 결과를 반영하기 위해 내용을 대폭 재작성하고 조정했습니다. "입력 스트림", "다중 상속", "예외 처리" 및 "런타임 유형 인식"과 같은 고급 주제가 C 표준화 이후 추가된 일부 내용과 함께 볼륨 2에 배치됩니다. Bruce는 경험이 풍부한 C 강사이자 컨설턴트입니다. 그의 교육 및 저술 경험은 "
기술자들이 쓴 것보다 낫습니다. 독자들에게 매력적이다. 사실 비슷한 책들 중에서는 대부분의 독자들에게 이 책이 TCPL이나 "C Primer"보다 더 가독성이 좋습니다. 그런데 작가 홈페이지에 방문하시면 2권을 미리 보실 수 있습니다.
Andrew Koenig, Barbara E. Moo, C에 대한 반추: 프로그래밍 통찰력과 경험의 10년
People's에서 출판한 "C에 대한 명상" 우편통신학회
앤드류는 세계에서 몇 안 되는 C 전문가 중 한 명입니다. 이 책은 언어의 세부사항보다는 C 프로그래밍 아이디어와 프로그래밍 기술에 관한 책입니다
. 이미 어느 정도 기초를 다졌다면 이 책을 통해 C로 프로그래밍할 때 어떻게 생각하고 해결책을 표현하는지 가르쳐 줄 것이다. 책 전체의 기술적 표현이 철저하고, 내용도 이해하기 쉽다. Bjarne은 이 책에 대해 다음과 같이 논평했습니다.
이 책은 "C가 무엇인지, C가 무엇을 할 수 있는지"에 대한 통찰력으로 가득 차 있습니다.
Stanley B. Lippman, C 개체 모델 내부
"C 개체 모델에 대한 심층 탐구", Huazhong University of Science and Technology Press
"C 개체 모델에 대한 심층 탐구"(사진 복사 버전)", China Electric Power Press
컴파일러의 관점에서 C를 관찰하면 무슨 일이 일어나고 있고 왜 일어나는지 이해하는 데 도움이 될 수 있습니다.
이 책에서는 생성자, 함수, 임시 개체, 상속, 가상화, 템플릿 인스턴스화, 예외 처리, 런타임 유형 인식 등을 포함하여 C 개체 지향 프로그래밍의 다양한 기본 작동 메커니즘을 설명합니다. C 객체 모델 구현 시의 장단점
행복해요