-
-
C# 스타터 - 모바일, 게임, 메타버스 개발에 최적화된 프로그래밍 언어의 입문서 ㅣ #바쁘다 바빠 현대사회 #이것만 알면 할 수 있다
문기준 지음 / 성안북스 / 2021년 11월
평점 :

프로그래머(Programmer)는 컴퓨터 분야에서 프로그램을 만드는 사람을 말한다. 건설에도 두 가지로 나뉘는데, 다리나 댐 같은 거대한 구조물을 만드는 것을 토목이라 하고, 집과 같은 규모의 건설을 건축이라고 한다. 프로그램을 개발하는 사람들도 메인프레임 상의 소프트웨어를 개발하는 소프트웨어 공학자와 일상에서 기업과 우리가 사용하는 프로그램을 만드는 소프트웨어 개발자로 나뉠 수 있다. 또한, 윈도나 유닉스나 오라클 같은 복잡하게 만들어진 프로그램을 운용하며 유지하는 소프트웨어 엔지니어도 프로그래머에 포함된다.
프로그램(Program)은 어떤 문제를 해결하기 위하여 그 처리 방법과 순서를 기술하여 컴퓨터에 주어지는 일련의 명령문의 집합체를 만드는 것을 의미한다. 자주 보는 예능 프로그램인 「런닝맨」을 한번 살펴보자. 전체 프로그램의 설계를 맡은 메인 피디가 소프트웨어 공학자라면, 보조 피디, 작가들은 소프트웨어 개발자나 엔지니어로 볼 수 있다. 그렇다면 물리적인 환경을 제공하는 카메라맨, 조명, 무대 시설 등 이런 사람들도 프로그래머일까? 컴퓨터공학을 전공하면 90% 이상 대부분은 프로그래머가 아닌 전산 설비나 네트워크 등 여러 가지 분야에서 일하는 사람이 더욱 많다.
그러면 여기서 궁금해지는 게? 프로그래머가 컴퓨터 공학에서 최고의 꽃이고, 최고의 존엄이 되는 직업일까? 다시 「런닝맨」을 살펴보자. 유재석, 김종국, 송지효, 전소민 등 출연자들이 인기와 소득이 스텝들보다 압도적으로 우위에 있을 것이다. 수십 년 경력의 실력 있는 카메라맨의 연봉도 무시할 수 없을 만큼 높은 경우가 많다. 아마존을 살펴보자 아마존의 웹 플랫폼을 만들기 위해서 수천이나 수만의 프로그래머가 있겠지만, 실질적으로 부의 전부를 가져가는 사람은 운영진이다.
『C# 스타터』 피디보다 연예인이 수입이 월등하고, 열심히 프로그램을 개발해도 이익 대다수는 기업의 운영진이 가져가는데 프로그래머의 직업이 유망한 게 맞을까? 마이크로소프트의 빌게이츠, 오라클의 래리 엘리슨, 구글의 래피 페이지, 세르게이 브린, NC소프트의 김택진 또한 프로그래머 출신이었다. 물리적 제학이 적은 온라인 세계에서 프로그래머라는 직업은 자신의 노력과 운에 따라 무한한 창조가 가능한 것 또한 사실이다. 그래서, 컴퓨터공학을 전공하는 학생들은 대부분 프로그래머를 꿈꾸지만, 코딩하지 못해서가 아니라, 무한한 세계를 창조해내는 창조력의 한계에 부딪혀 다른 직업을 구하는 경우가 많다.
프로그램을 이렇게 직업을 구하기 위한 수단으로만 배워야 하는 걸까? 1995년 PCS 휴대전화기가 보급되기 시작하면서 휴대전화는 급속도로 보급되었다. 그렇지만, 10년이 흐른 후 아이폰이 세상에 나오고 ‘스마트폰’이 세상의 문화를 바꿔버렸다. 단순히 카메라, 음악, 글쓰기 정도가 아니라 수만 가지의 앱을 통해 엄청나게 다양한 일을 할 수 있게 되었다. 문자와 카카오톡을 하는 방법을 배운 노인세대는 소통의 기술이 늘었고, SNS의 특화된 기술을 습득한 젊은 세대는 시공간의 제약 없이 새로운 문화를 만들어냈다. 요즘 10대들은 마인크래프트와 같은 세계에서 자신들만의 세계를 구축까지 한다고 한다. 이것 또한 프로그램의 일종이다. 왜냐하면, 프로그램으로 만들어진 소프트웨어를 운용하고, 때로는 프로그램의 모자란 부분을 우리가 채워 넣고 있기 때문이다. 일정한 규칙과 순서와 논리에 의해서 말이다.
C라는 프로그래밍 언어는 50년이 넘는 역사가 있다. 유닉스 운영 체제에서 사용하기 위해 개발한 C는 객체 지향언어로서, 오늘날 모든 운영 체제의 커널이나, 시스템 프로그램 개발에 매우 유리하여 엄청나게 많이 사용되고 있다. C#은 JAVA의 대항으로 마이크로소프트에서 개발한 웹 플랫폼에 특화된 프로그램이다. 윈도와 호환과 시장 점유율이 높고, 언어의 완성도 또한 높아 훌륭한 언어로 평가받고 있다.
본인이 어릴 적, Basic과 Cobol과 Fortran 같은 프로그래밍 언어를 배웠었다. 단순히 이론을 암기하고, 순서도에 맞춰 코딩하고 결과를 만들어내는 과정의 반복이었지만, 논리적인 오류나 목적에 맞지 않는 설계로는 결과를 창출할 수 없었다. 프로그래밍은 현대를 살아가는 우리에게 수학적인 논리력과 세상을 가장 쉽게 이해할 수 있는 시력을 키워주는 방법이라고 생각한다. 책을 통해 프로그래머가 되라는 것이 아니라, 프로그래밍이 어떤 것인지 맛을 보기에 정말 좋은 책이다.
