Top

GREAT CODE 제1권 하드웨어의 이해

  • 원서명Write Great Code: Volume 1: Understanding the Machine (ISBN 9781593270032)
  • 지은이랜달 하이드
  • 옮긴이김원호, 최재식, 강승훈, 전동환
  • ISBN : 8989975719
  • 25,000원
  • 2005년 07월 20일 펴냄
  • 페이퍼백 | 464쪽 | 190*250mm
  • 시리즈 : 프로그래밍 언어

판매처

재출간판

책 소개

최고의 코딩, 최고의 프로그래머가 되기 위한 원리학습 가이드!!

프로그래머로 일하는 당신, 몸값을 높이고 싶은가? 수준을 올리고 싶은가?


단순히 몇 개의 코딩 기법을 익힌다고 해서 실력이 높아지지는 않는다.
연작 GREAT CODE는 최고의 코딩, 최고의 프로그래머가 되기 위해 닦아야 할 개념 원리를 학습해서 프로그래머의 내공을 높여주는 원리학습 가이드다. 더 빠르고 훌륭한 최고의 코드를 짤 수 있도록 전 4권에 걸쳐 프로그래밍의 근본원리를 쉽게 가르쳐준다.


★ GREAT CODE 시리즈 소개 ★

제1권 ‘하드웨어의 이해’는 컴퓨터 과학이나 컴퓨터 공학 수업에서 자세히 다루지 않고 넘어가는 경우가 많은 컴퓨터의 로우레벨에 대한 내용을 다룬다. 제1권의 내용은 최고의 코드로 구성된 프로그램의 기초가 된다.
제2권 ‘로우레벨로 생각하고, 하이레벨로 코딩하자’에서는 제1권에서 습득한 내용을 응용해본다. 제2권에서는 고급언어를 분석해서 컴파일러가 만들어낼 코드의 품질을 예측하는 방법을 알아볼 것이다. 이 방법을 알게 되면, 손으로 작성한 어셈블리 언어만큼이나 효율적으로 고급 프로그램 언어를 사용할 수 있게 될 것이다.
제3권 ‘소프트웨어 엔지니어링’에서는 수많은 소프트웨어 엔지니어링 책에서 이야기하는 복잡한 과정을 통하지 않고서도 읽기 쉬우며 유지보수하기 쉬운 코드를 작성하는 방법과 생산성을 향상시키는 방법을 알아본다. 품질이 나쁜 코드를 봐야 하는 프로그래머는 화가 나서 코드 작성자를 비방하지만, 품질이 좋은 코드로 작업하는 프로그래머는 일하며 행복해 한다.
제4권 ‘테스트, 디버그, 품질 보증’에서는 대부분 엔지니어들이 따분해하는 테스트를 효과적으로 하는 방법에 관해 다룰 것이다.


GREAT CODE: 제1권 하드웨어의 이해

“전자회로”, “논리설계”, “컴퓨터 아키텍처”, “시스템 프로그래밍”…
대학교에서 이미 배운 과목이고 실무에서도 꼭 필요한 것은 알겠는데, 도무지 정리도 잘 안되고 가물가물 생각이 떠오르지 않는다. 최고의 프로그래머가 되기 위해 반드시 알고 넘어가야 할 하드웨어와 컴퓨터 아키텍처에 대한 모든 내용을 이 한 권에 녹여냈다. 기존 서적의 난해함에 질린 독자들이라면 반드시 이 책을 읽기 바란다.


★ 이 책의 내용 ★

GREAT CODE 제1권 "하드웨어 이해하기" 한 권이면 어셈블리 프로그래밍 언어를 익혀야하는 부담 없이도 컴퓨터 구조에 관한 내용을 공부할 수 있다. 이 책은 C++, VB, 파스칼, 자바 등 여러 고급언어 프로그래머를 위해 저술됐으며, 컴퓨터 교육과정에서 흔히 다루지 않는 컴퓨터 구조의 기계적인 수준까지 자세하게 다루고 있다.
• 숫자나 문자열, 고급 자료구조 등을 표기하는 방법을 익혀서, 컴퓨터가 각 데이터 타입을 사용하는 데 드는 비용을 파악한다.
• 컴퓨터가 데이터를 구성하는 방법을 익힘으로써, 데이터를 좀더 효율적으로 처리하는 방법을 알아낸다.
• CPU가 동작하는 방식을 익힘으로써 컴퓨터가 처리하는 방식대로 동작하는 프로그램 코드를 작성할 수 있다.
• 입출력 장치가 동작하는 방식을 이해함으로써, 그러한 장치에 접근하는 애플리케이션의 성능을 최대화할 수 있다.
• 메모리 계층 구조를 최적화해 사용하는 방법을 통해 최대한 빠른 프로그램을 작성할 수 있다.

최고의 코드는 곧 효율적인 코드다. 진정 효율적인 코드를 작성하기 위해서는 먼저, 컴퓨터 시스템이 어떻게 프로그램을 실행하고, 프로그래밍 언어 상의 추상화(abstraction)가 기계적인 수준의 컴퓨터 하드웨어와 어떻게 대응되는지를 이해해야 한다. 컴파일러는 최적화된 기계어 코드를 만들어 주지는 못하므로, 이는 결국 프로그래머의 일이다. ‘GREAT CODE’ 시리즈의 1권인 이 책은 모든 최고의 소프트웨어 밑바탕에 있는 내용들을 알려 줄 것이다.


★ 이 책의 대상 ★

이 책은 특별한 프로그램언어를 위한 책은 아니다. 이 책에서 설명하는 개념은 프로그래밍언어에 관계 없이 적용될 수 있는 것들이다. 이 책을 효과적으로 이용하기 위해서 적어도 한가지 이상의 절차적 프로그램언어를 다룰 줄 알아야만 한다. C, C++, 파스칼, 베이직, 어셈블리 언어처럼 많이 사용되는 언어뿐 아니라 에이다(Ada), 모듈러2(Modula-2), 포트란 등과 같은 언어여도 괜찮다. 또 작은 문제에 대한 명세를 받아서, 그 문제에 대한 소프트웨어를 설계하거나 구현할 능력이 있어야 한다. 보통 대학의 한 학기 정도의 수업만 수강하거나, 스스로가 몇 달만 노력해도 이 책을 공부하는 데 큰 불편함은 없을 것이다.
참고로 이 책은 다양한 예시에서 다음 언어와 컴파일러를 사용했다.

- C/C++: GCC, 마이크로소프트 비주얼 C++, 볼랜드 C++
- Pascal: 볼랜드 델파이(Delphi) / 카이릭스(Kylix)
- 어셈블리: 마이크로소프트 MASM, HLA (the High Level Assembler), Gas(파워PC용)
- BASIC: 마이크로소프트 비주얼베이직