C언어 마스터 가이드에 오신 것을 환영합니다!
C언어 마스터 가이드는 C언어 튜토리얼(자습서)로는 두번째로 쓰는 내용입니다.
처음 튜토리얼을 만들기 시작할 때는 두번째 만들면 더 잘 만들 수 있겠지라고 생각했는데
막상 만들려고 하니까 다시 막막해지네요...
첫번째 튜토리얼에서는 기초를 좀더 충실하게 담으려고 노력했는데
지금 보니 불만스러운 부분들이 많습니다. 나중에 여유가 생기면 보완할 생각입니다.
이번 튜토리얼에서는 중급적인 내용을 더 다뤄보려고 합니다.
중급의 내용을 다루기 위해서는 C언어 뿐 아니라 컴퓨터 구조나 운영체제에 대한 부분도 다뤄야 합니다.
C언어를 실행하면 되는게 아니라 C언어 외적으로 이해할 부분이 있다는게 약간의 장벽이 될 수도 있는데,
블로그라서 훨씬 쉽게 해결할 수도 있습니다.
블로그가 책보다 좋은 것은 하이퍼 링크 시스템이죠. 책은 읽다가 내용이 없으면 땡이지만
하이퍼링크는 진짜 지식을 바로 가져다 줍니다.
기초와 중급의 차이점이 뭐냐? 라고 하면 기초에서는 코드를 실행하는 일에 중점을 뒀다면 중급에서는 왜? 라는 질문을 좀 더 파고드는 내용이 될 것입니다. 좋게 말하면 중급이고 안좋게 말하면 집착이죠.
컴퓨터를 조금 더 이해하기 위해서는 약간의 집요함은 필요합니다. 특히 보통사람에게는요.
드롭박스 창업자 드류 휴스턴의 말을 많이 인용하는데,
'프로그래밍은 악기 연주와 같다'
라는 말을 좋아합니다.
이게 연습을 많이 하라는 말로 들릴 수도 있습니다만...
실제로는 프로그래밍은 천재의 영역이라는 것을 비유적으로 설명하는 것입니다.
코딩도장에서도
'프로그래밍은 공부가 아닙니다. 연습입니다'
라는 표어를 사용합니다.
코딩 도장은 좀 더 현실적이죠.
도장에 와서 수련하는 것 처럼 빡세개 해라는 겁니다. 안 그러면 상대에게 진다는 말이겠죠.
우리가 아는 악기의 연주자는 그냥 보통사람이 아닙니다.
무술의 대가도 마찬가지입니다.
그들의 수준에 도달하기 위해 얼마나 많은 노력과 수련을 해야 하는지
일반인이 평생동안 수련에 집중을 한다고 한들 그들에 견줄 수 있을까요?
마이크로 소프트의 빌게이츠에게
C언어의 데니스 리치에게
리눅스의 리누스 토발즈에게
구글의 세르게이 브린이...
생각하는 단계에 다다를 수 있을까요?
보통은 죽을 때 까지 그들이 컴퓨터 프로그래밍을 통해 도달한 그 단계의 털끝만도 못잡는게 대부분이라고 생각합니다.
집요한 마음가짐을 갖고 프로그래밍 수련을 정진한다면 한 십년쯤 뒤에 그들과 대화가 조금이라도 통할지 모르겠네요.
따라서 집요하게 파고든다는 말은 매우 성실한 말입니다.
그 조차 생각하지 않는다면 다가갈 꿈도 꿀수 없는 세계입니다.
C언어 마스터 가이드는 C언어의 기초 문법을 건너 뛰고 제어문부터 시작할 것입니다.
아래의 내용에 대한 이해가 있으면 좀 더 수월합니다. 자료형과 변수 정도까지입니다.
C언어 1 - 1 | 통합개발환경 설치, 온라인 컴파일러 (tistory.com)
C언어 2 - 1 | 자료형 | char 형 변수의 사용 (tistory.com)
C언어 2 - 3 | 자료형 | short형과 int형| 2바이트와 4바이트 (tistory.com)
C언어 2 - 4 | 자료형 | float 와 double형| 4바이트 8바이트 (tistory.com)
C언어 3 - 1 | 상수 숫자형 리터럴, 문자형 리터럴 const 키워드 (tistory.com)
C언어 3 - 2 | 변수의 개념 (tistory.com)
사실 프로그래밍을 마스터한다는 말은 휴먼계에는 존재하지 않는다고 합니다.
프로그래밍 자체가 한 사람이 마스터할 수 있는 것은 아니죠. 자고 일어나면 새로운 기술이 만들어 지고 있는 2021년입니다.
그렇지만 자기가 사용하는 프로그래밍의 특성과 사고방식을 마스터하는 것은 가능하다고 봅니다.
어떠한 신기술이 나와도 C언어라는 틀을 가지고 이해할 수 있는 마스터는 존재합니다.
남이사 뭐라하던 자기가 타는 말만 길들이면 되는 거죠.
그러기에 C언어는 최고의 조건을 가진 언어입니다.
*외부참조링크