디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C++ 초보를 위한 강좌. 1. API 와 STL 을 배워야 하는 이유

codesafer갤로그로 이동합니다. 2016.10.11 17:15:51
조회 4227 추천 31 댓글 18

제가 모든 언어를 포괄해서 설명하는건 경제적이지 않으니까

일단 제가 한창 작업중인 C++ 위주로 먼저 설명하는게 옳을 것 같습니다.


C++ 언어는 다른 언어에 비해 설명이 많이 필요한 언어기도 하니까요.

C 언어의 발생 시점에서도 그랬지만,

좋은 책이 나오지 않았으면 AT&T 의 역사속에서 묻힐 수 밖에 없는 언어였습니다.


익히 아는분들도 많을 이야기지만, C 언어는 크리스마스 장난처럼 만들어진 언어입니다.

게임을 만들려니 어셈블리가 불편했고, 그래서 PASCAL, B, BCPL 을 베껴 뚝딱 만든게 C 언어,

그 게임이 돌아가도록 운영체제가 필요했고, 그래서 AT&T 에서 말아먹고 있던 프로젝트인 MULTICS 에서

복잡한 부분을 빼서 정리한게 Unix 란 운영체제 입니다.

개발 동기에 대해 여러가지로 희화한 버전이 있지만 이정도로 알아두셔도 됩니다.


컴퓨터의 역사에서 초창기에 만들어진 모든 것들은 사실 그다지 복잡하지 않습니다.

오히려 간결하기 때문에 처음엔 어렵게 여겨질 수 있는 정도지요.


앞서 include 없이 printf 구현하기란 글에서 언급했지만,

C 언어의 문법 그 자체는 램 말고는 하드웨어를 건드릴 수 있는 여지가 없습니다.

따라서, 표준 라이브러리를 통해 운영체제가 제공해주는 API ( Application Programming Interface ) 를 사용해야만

화면에 무언가를 찍을 수 있고, 키보드나 마우스로 부터 무언가를 입력받을 수 있습니다.


더 더 lowlevel 로 내려가서 본인이 직접 구현할 수 있습니다.

BIOS 를 직접 제어하든, 심지어 CPU를 직접 설계할 수도 있죠. ( FPGA 같은걸 통해서 손쉽고 저렴하게 )

하지만 그게 실용적인 목적을 가지고 있지 않다면 지속하기는 힘든 작업이겠죠?


API 는 운영체제를 개발하는 개발사에서 만들고 손보게 됩니다.

표준 라이브러리는 컴파일러를 개발하는 개발툴 제작사에서 만들고 손보게 됩니다.

그 말은, 새로운 하드웨어가 등장하고 스펙이 변화되면, 그 변화를 다른사람들이 책임지고 손봐서 적용해 준다는 이야기죠.

그래서 바퀴를 재발명 하지말라는 이야기가 있습니다.

가끔은 바퀴를 리뉴얼 할 필요가 있긴 하지만요 :)


즉, 본인이 하드웨어의 변경점 마다 모든걸 다시 개발할 의지가 없다면, 있는걸 잘 써주는게 필요합니다.

있는게 자기의 요구사항을 충족시켜 줄 경우 말이죠.


그래서 API와 표준 라이브러리는 잘 알고 써먹을 수 있으면 좋은 것입니다.


그러면 STL 은 왜 배워야 할까요?


이것도 표준 라이브러리기 때문입니다.

초창기 STL은 아주 열악한 성능과 버그에 의해서 응용개발자들의 큰 호응을 끌어낼 수 없었습니다.

지금은 다른 개발 도구들의 성능이 좋아지면서, 좀 더 품질 좋은 컴파일러를 만들어낼 수 있게 되었고,

상호 상승작용을 거쳐 꽤 쓸만한 라이브러리로 바뀌었죠.


STL 이 없는 C/C++ 언어는 알고리즘에 관해 거의 문외한 수준이어서

qsort 나 binary_search 를 들들 볶아

자기 용도에 맞게 바꾸는 작업이 꽤 불편하고,

한 가지 타입에 종속적이어서 매 프로젝트마다 새롭게 구현해 줘야 하는 경우가 많았거든요.

template 라는걸 통해서 한 가지 타입에 특정되지 않고, 여러 타입에 일반적인 문법을 사용할 수 있게 된데다,

STL 을 통해서 타입 / 컨테이너 / 알고리즘을 분리시켜 하나씩만 구현해도 여러 조합의 경우를 포괄할 수 있는

언어가 된거죠.


지금의 C++ 언어는 언어 자체를 변경하는 부분의 부담을 덜기위해

STL 을 통해 확장하는 형식으로 발전하고 있습니다.


그래서 STL을 배워야 하는 것이죠.

추천 비추천

31

고정닉 1

26

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 며느리, 사위되면 시댁, 처가에 잘할 것 같은 스타 운영자 25/10/13 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47930 65
2896439 진중권이 말하는 극좌 ♥덩냥이♥갤로그로 이동합니다. 23:16 8 0
2896438 아니 존나 신기한게 124.48 쟤 댓글 달리고 비추가 갑자기 폭증함ㅋㅋ ㅆㅇㅆ(124.216) 23:13 16 0
2896435 이거 강의 언제 어디서 듣나요 발명도둑잡기(118.216) 23:10 6 0
2896434 냥덩이는 털바퀴가 된당⭐+ 7화 ♥덩냥이♥갤로그로 이동합니다. 23:09 6 0
2896432 안목 유튜브 보고 스포이더로 똑같이. 넥도리아(220.74) 23:06 8 0
2896431 [공지] 나님.. 이 모든 사태에 대해 책임지고 탈갤합니당.. ♥덩냥이♥갤로그로 이동합니다. 23:04 17 0
2896428 냥덩 도배 발명도둑잡기(118.216) 22:53 11 0
2896427 냥덩아 적당히해 [3] 개멍청한유라갤로그로 이동합니다. 22:45 30 0
2896424 샤미 “K-팝은 더 성장할 것…韓 아티스트 영입 검토” [1] 발명도둑잡기(118.216) 22:29 14 0
2896420 현시대는 토발즈도 1찍 짱깨편인 무서운 시대이다ㅋㅋ번식 더 해줘라 이기 타이밍뒷.통수한방(1.213) 22:23 8 0
2896418 [공지]냥덩강점기 종료~ 나님 야구 보면서 잘 놀다갑니당~ ♥덩냥이♥갤로그로 이동합니다. 22:20 16 0
2896417 비선실세 국정농단 의혹 김현지 제보 받습니당⭐ ♥덩냥이♥갤로그로 이동합니다. 22:18 20 1
2896416 와 벌써 시간 이렇게 됐네 잘 준비해야지 [2] chironpractor갤로그로 이동합니다. 22:16 20 0
2896415 김광현 ㅋㅅㅋ ♥덩냥이♥갤로그로 이동합니다. 22:15 12 0
2896414 18년인가 양현종 마무리 우승이 ㄹㅇ 소름끼쳤는데 ♥덩냥이♥갤로그로 이동합니다. 22:13 8 0
2896413 애널 야구 좀 싱겁게 끝나서 아쉽 ♥덩냥이♥갤로그로 이동합니다. 22:12 8 0
2896412 김서현도 공이 빠른건 맞긴한데 제구 구리다던데 ♥덩냥이♥갤로그로 이동합니다. 22:11 9 0
2896411 폰세 막판에 퍼진거 같던데 ♥덩냥이♥갤로그로 이동합니다. 22:07 9 0
2896410 폰세 1차 나오면 삼성 1차전은 버리려나보네 [6] ♥덩냥이♥갤로그로 이동합니다. 22:07 22 0
2896409 타자들이 투수에 익숙해지면 불리 하니까 ♥덩냥이♥갤로그로 이동합니다. 22:05 9 0
2896408 김경문 감독이 우승하려고 폰세 약팀만 보냇다네 ♥덩냥이♥갤로그로 이동합니다. 22:04 8 0
2896407 폰세가 빠따 강한팀은 일부러 빼왓다는데? ♥덩냥이♥갤로그로 이동합니다. 22:03 8 0
2896406 삼성유튜브 보니까 개웃기넹 ㅋㅅㅋ ♥덩냥이♥갤로그로 이동합니다. 22:02 10 0
2896405 큰경기에 강하고 작은경기에 약한;; ♥덩냥이♥갤로그로 이동합니다. 22:01 11 0
2896404 근데 국내트로피는 없응 ♥덩냥이♥갤로그로 이동합니다. 21:59 9 0
2896403 2008년 올림픽 우승이 김경문이었네 ㄷㅅㄷ ♥덩냥이♥갤로그로 이동합니다. 21:58 9 0
2896401 기아를 김성근 감독 맡으면 어떨까? ♥덩냥이♥갤로그로 이동합니다. 21:57 9 0
2896400 시발 크로스 컴파일 성공해서 자랑하러 왔더니 갤 난장판이네 프갤러(110.8) 21:57 16 0
2896399 빠와까가 미치는 슈퍼스타 ♥덩냥이♥갤로그로 이동합니다. 21:56 10 0
2896397 김성근 감독이 돌아와야 잼난데 ♥덩냥이♥갤로그로 이동합니다. 21:55 9 0
2896396 넥센때부터 다 강팀 만들어 놓음 ㄷㅅㄷ ♥덩냥이♥갤로그로 이동합니다. 21:54 9 0
2896395 게시글 단 3개 [2] ㅇㅇ(122.199) 21:54 26 0
2896394 엄석대=박근혜. 신임 교사=윤석열 [1] 프갤러(110.8) 21:54 19 0
2896393 엄갈량이 지금 한국 최고 감독이 맞긴한듯 ♥덩냥이♥갤로그로 이동합니다. 21:54 9 0
2896392 버핏인덱스 보니까 218%더라 이거면 완전 나스닥 거품이라는건데 ㅆㅇㅆ(124.216) 21:54 17 0
2896390 류현진이 김광현 양현종보다 나이 많은데 평자 ㄷㅅㄷ 메이저리거 ♥덩냥이♥갤로그로 이동합니다. 21:52 12 0
2896389 류현진이 레전드는 레전드네 ♥덩냥이♥갤로그로 이동합니다. 21:51 10 0
2896388 대승엽 ♥덩냥이♥갤로그로 이동합니다. 21:49 10 0
2896386 이승엽은 전라도라 서울팀 간건가? ♥덩냥이♥갤로그로 이동합니다. 21:49 10 0
2896385 이범호던 이승엽이던 감독짬은 아니지 ♥덩냥이♥갤로그로 이동합니다. 21:47 10 0
2896384 손아섭 우승 한번도 못햇네 ㄷㅅㄷ ♥덩냥이♥갤로그로 이동합니다. 21:46 9 0
2896383 솔직히 작년응 심판이 기아 우승 시켜준거라 ♥덩냥이♥갤로그로 이동합니다. 21:46 9 0
2896381 ㅅㅂ 모기잇나? ♥덩냥이♥갤로그로 이동합니다. 21:44 9 0
2896380 준플 연기될듯? ♥덩냥이♥갤로그로 이동합니다. 21:44 9 0
2896379 롯데도 올해 레전드긴 레전드넹 ♥덩냥이♥갤로그로 이동합니다. 21:42 10 0
2896378 애초 와일드가 몇년된거지? ♥덩냥이♥갤로그로 이동합니다. 21:41 11 0
2896377 와일드로 와서 우승한 팀이 없지않나? ♥덩냥이♥갤로그로 이동합니다. 21:40 10 0
2896376 한국시리즈 찍어보느냐가 궁금하네 ♥덩냥이♥갤로그로 이동합니다. 21:40 11 0
2896375 한국 자칭 우파 일베들은 우리들의 일그러진 영웅 보면 다 이해된다. [1] 프갤러(110.8) 21:40 24 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2