이번에 혼공학습단 12기에 참여하게 되었습니다! 제 메인 언어는 Python이지만 대부분의 scientific library들이 C/C++로 짜여있고, 많은 SDK가 C/C++를 지원하는 경우가 많아서 이 녀석들을 배울 필요성이 많이 느껴졌습니다. 그런 와중에 혼공단을 모집하는 메일을 보게 되어 냉큼 신청하였더니 붙어버리고 말았습니다! 아무래도 공부라는 게 혼자 하다 보면 이런저런 핑계 대면서 미루게 되는 경향이 없지 않아 있는데 이렇게 많은 분들과 함께 공부를 하게 되면 열심히 공부하시는 분들을 보면서 저도 본받아 열심히 공부를 할 수 있겠죠?
기본적으로 제가 책을 보면서 공부한 내용을 정리하는 글이지만 혹여나 다른 분들이 제 글을 읽고 도움이 될 수 있도록 상세하게 설명하듯이 내용을 기술할 생각입니다. 글 쓰는 재주는 좋지 않아 설명을 잘 할 수 있을지는 의문이군요…
C언어는 켄 톰슨과 데니스 리치에 의해 개발되었습니다. C언어의 시초는 케임브리지 대학읜 마틴 리처드에 의해 설계된 BCPL(Basic Combined Programming Language)로 다른 언어들의 컴파일러를 작성하기 위해 사용되었습니다.
켄 톰슨은 유닉스 체제에서 프로그램을 개발중이었는데요, 당시 유닉스는 프로그램 개발에 어셈블리 언어만을 사용할 수 있었습니다. 이에 그는 데니스 리치와 함께 BCPL을 기반으로 한 새로운 언어를 개발하였는데요, 그것이 바로 B언어 입니다.
이후 컴퓨터가 발달하면서 발전된 언어의 필요성이 대두되었고, B언어를 개량하여 C언어가 탄생하게 되었습니다. BCPL은 문법적으로 C언어에 그 흔적이 남아있는데요, Curly Brace {}
를 이용한 코드 블럭이나 한줄 주석 //
이 그 예입니다.
본 책에서는 Visual Studio 2022를 사용하고 있습니다. 설치 방법은 다음과 같습니다.
설치 파일 다운로드 및 설치 - Community 2022를 다운로드
Visual Studio Installer에서 관련 개발 툴 설치
C언어를 배우는 데는 C++를 사용한 데스크톱 개발이면 충분하다. 만일 linux 환경에서도 사용 가능한 프로그램을 개발하고 싶다면 C+}+를 사용한 Linux 및 임베디드 개발을 설치하면 된다.