세상에 다양한 언어가 있는 것처럼 다양한 프로그래밍 언어가 있습니다. 2010년 중반에 들어서며 여러 프로그래밍 언어 중 파이썬(Python)이 전 세계적으로 주목을 받기 시작했습니다. 프로그래머가 아닌 사람도 파이썬을 통해 쉽게 프로그래밍할 수 있게 되었기 때문입니다. 파이썬은 아래아한글을 사용할 정도라면 누구든 일주일 만에 실무에 바로 활용할 수 있을 정도로 배우기 쉽습니다. 이렇게 의료, 화학, 인공지능 등 다양한 분야에 종사하는 사람들이 프로그래밍을 하는 일이 가능해지면서 여러 기술 분야와 ICT 기술 간의 융합이 일어나고 있습니다. 앞으로 프로그래밍 활용 영역은 더욱 확대될 것이며, 여러분이 사회에 나가게 될 즈음에는 파이썬과 같이 컴퓨터와 소통할 수 있는 프로그래밍 언어가 요즘의 세계적 공용어인 영어처럼 필수적인 언어로 자리 잡게 될 것입니다. 지난 한 세기 동안 3차 산업혁명과 글로벌화로 세계 사람들 간에 영어가 필수적인 언어로 자리매김하였다면, 앞으로 다가올 4차 산업혁명에서는 사람과 기계 간의 의사소통이 더욱 확대될 것이며, 사람이 기계와 의사소통하기 위한 프로그래밍 언어가 필수적인 언어로 자리매김하게 될 것입니다.
--- 「서장 프로그래밍 지식, 우리의 10대가 미래 세상의 주인공으로 살아가는 황금 열쇠」 중에서
서울대학교의 예를 보면, 예비 신입생을 대상으로 하는 기초 교양 교과과정을 ‘학문의 기초, 학문의 세계, 선택 교양’ 세 부문으로 나누어서 운영하고 있습니다. 그중 ‘학문의 기초’ 부문에 ‘컴퓨터와 정보 활용’이 포함되어 있는데, 하위에는 ‘인공지능 입문, 컴퓨팅 기초, 컴퓨터 과학적 사고와 실습’ 등 여섯 과목이 있습니다. 그중 두 과목을 제외한 나머지는 모두 컴퓨터공학 전공이 아닌 학생 대상 과목입니다.
--- 「Chaprer 1 지금의 10대가 마주할 미래 세상 이야기」 중에서
기계의 언어는 인간의 언어와 무엇이 어떻게 다를까요? 기계와 잘 소통하기 위해 기계의 언어에 대해 더 자세히 알아보겠습니다. 복잡하게만 보이는 기계의 언어는 놀랍게도 0과 1로 이루어져 있으며, 아무리 복잡한 기계라도 0과 1만으로 동작합니다. 하지만 보통 문자로 된 언어를 사용하는 인간이 기계와 소통하기 위해 숫자 0과 1로만 이루어진 기계어로 소통하기에는 큰 어려움이 따릅니다. 그래서 인간은 기계와 조금 더 쉽게 소통하기 위해 프로그래밍 언어를 개발하였습니다. 인간의 언어로 된 프로그래밍 언어는 통역가 역할을 해주는 번역기를 거치면서 0과 1로 된 기계어로 변환되어 인간과 기계 사이에 의사소통이 훨씬 더 수월하도록 해줍니다. 지금도 사람들은 기존의 프로그래밍 언어보다 조금 더 쉽게 기계와 소통하기 위해 계속해서 새로운 프로그래밍 언어를 만들고 있습니다. 그로 인해 현재도 수많은 프로그래밍 언어가 생겨나고 있습니다.
--- 「Chaprer 2 프로그래밍을 알면 세상을 보는 눈과 마인드가 달라진다」 중에서
어떠한 문제를 컴퓨터가 해결하도록 내리는 명령을 시간의 순서에 따라 코드로 작성하는 과정을 프로그래밍이라고 합니다. 다르게 이야기해보자면, 컴퓨터가 데이터를 입력받아서 기존 데이터와 연산한 후, 그 결과를 저장 혹은 출력하도록 만드는 것이 프로그래밍입니다. 컴퓨터가 프로그램을 실행하는 과정은 우리가 생각하는 것만큼 그렇게 복잡하지 않습니다. 컴퓨터는 한 번에 한 단계씩 수행이 가능한데 속도가 빠를 뿐이지요. 컴퓨터도 결국에는 인간에 의해 만들어진 여러 도구 중 한 가지일 뿐이니까요.
---- 「Chaprer 3 한 시간에 끝내는 프로그래밍 이야기」 중에서
코딩이란 프로그래밍 코드를 어딘가에 기록하는 작업을 말합니다. 예를 들면 메모장을 켜고 평범한 글을 쓸 수도 있고, 프로그램 코드를 쓸 수도 있는데 후자가 코딩입니다. 보통은 코딩할 때 컴퓨터를 이용하기 때문에 키보드로 타이핑하며 코딩하겠지만, 종이나 화이트보드 위에 손으로 직접 코드를 써가면서 코딩할 수도 있습니다. (중략) 코딩과 프로그래밍을 동의어로 인식하는 경우가 많습니다. 그러나 실제로 이 둘은 상당한 차이가 있습니다. 간단하게 말하자면 코딩은 프로그래밍에 속한 하위 과정이라고 할 수 있어요. 코딩은 프로그램을 만들기 위해 알고리즘이나 실행 절차 등을 프로그래밍 명령어를 사용하여 코드를 작성하는 과정입니다. 기본적으로 인간이 사용하는 언어를 기계어 번역이 가능한 코드 형태로 만드는 일이라고 할 수 있어요. 코딩은 프로그램을 만들기 위한 프로그래밍의 하나의 과정입니다.
--- 「Chaprer 4 프로그래밍의 시작과 끝, 코딩 이야기」 중에서
C 언어는 1972년에 벨 연구소(Bell Labs)의 ‘데니스 리치’가 B 언어를 개선하여 만든 프로그래밍 언어입니다. C 언어 이전에도 A 언어, B 언어 등 여러 고급 프로그래밍 언어가 존재했지만 대부분 특정한 목적을 위해 만들어졌거나 컴퓨터 과학 이론을 입증하기 위해 만들어진 실험적인 언어였습니다. 그에 반해 C 언어는 요즘 스마트폰에서 널리 사용되는 구글의 안드로이드와 애플 iOS의 할아버지뻘 되는 유닉스라는 범용 운영체제를 개발하기 위해 만들어졌습니다. 간단한 문법과 빠른 실행 속도를 갖는 프로그래밍 언어로써 어셈블리어와 견줄 만한 효율성을 갖도록 설계되었습니다.
--- 「Chaprer 5 꼭 알아야 할 프로그래밍 언어 이야기」 중에서
세상에는 다양한 프로그래밍 언어들이 있어요. 그중에서 파이썬이 특별한 이유는 바로 ‘인기’ 입니다. 앞 장에서 알아본 티오베 지수(TIOBE Index)는 매달 프로그래밍 언어의 인기 지수를 조사하여 발표하고 있습니다. 여기에서 파이썬은 2022년 1월에 1위를 차지한 이후 6개월이 지난 2022년 7월 현재까지도 계속해서 1위 자리를 유지하고 있습니다. 아마도 당분간은 파이썬이 이 자리를 차지할 것으로 전망됩니다. 또한 공개 소스 프로젝트 사이트인 깃허브(Github)에서 도 파이썬으로 만들어진 프로젝트가 2위에 자리하고 있습니다.
--- 「Chaprer 6 가장 많은 이들이 사용하는 언어, 파이썬 이야기」 중에서
프로그래머는 프로그램을 개발하는 사람입니다. 프로그래머는 회사에 들어가서 직원으로서 일하거나 자신의 회사를 만들어 직접 운영하기도 하고, 혹은 공무원과 같이 정부 산하 기관에 취직하여 근무하기도 합니다. 다시 말해, 큰 기업에서 높은 연봉, 좋은 복지 혜택 등의 대우를 받으며 일하고 싶다면 대기업에 취업하면 되고, 수평적인 관계 속에서 상대적으로 자유롭게 일하고 싶다면 벤처 기업에 취업하면 됩니다. 안정적으로 일하는 것을 원한다면 정부 산하 기관 혹은 연구소에 취업할 수도 있습니다. 혹은 자신이 직접 회사를 만들어서 일할 수도 있고, 프리랜서가 되어 일하고 싶을 때만 일할 수도 있습니다. 이렇듯 프로그래머는 다양한 형태를 선택하여 일할 수 있습니다. 이처럼 일하는 형태를 자유롭게 선택하여 일할 수 있는 직업은 그다지 많지 않습니다. 프로그래머가 다른 직군과 가장 큰 차이점은 인터넷에 접속만 할 수 있다면 어느 장소에서나, 심지어 해외 휴양지 같은 곳에서도 원격 근무가 가능하다는 것입니다.
--- 「Chaprer 7 미래 직업으로서 프로그래머 이야기」 중에서