안녕하세요 콩딱입니다.

오늘은 가장 기본이 되는 프로그래밍 언어라는 주제로 이야기를 나눠볼려고 합니다.

사실 정답은 없습니다.

 

여러분이 생각하는 가장 기본적인 프로그래밍 언어는 무엇이 있나요?

 

C언어, 자바, 파이썬, 자바스크립트, PHP, 펄, 루비, 스위프트, 코트린, 베이직, C++, C#등 우리는 무수히 많은 프로그래밍 언어와 만나고 있습니다.

과연 이중에 무엇을 가장 기본적으로 배우고 읽히는것이 좋을까요? 한번쯤 고민해 볼만한 주제인것 같습니다.

 

물론 언어에 따라서 직업의 선택에도 틀이 정해지는 경향이 있습니다. JavaScript는 요즘 서버사이드 프론트엔드-백엔드에서 사용하게 됩니다, Java는 전통적으로 서버 백엔드쪽에서 많이 사용하는 언어고, C, C++등은 Low Level프로그래밍에서 기본이 되는 언어입니다. 간단한 프로그램을 작성할때는 파이썬도 많이 사용하며, 스위프트는 iOS를 위한 언어죠.

이렇게 다양한 틀이있음에도 현업 프로그래머들이 추천하는 언어는 매우 심플합니다.

저는 사람을 2분류로 나누어서 언어를 추천해 볼려고 합니다. 첫번째 분류는 프로그래밍은 취미로 할려는 사람, 두번쨰는 프로그래밍을 업으로 삶을려는 사람입니다.

 

 

프로그래밍을 취미로 시작하는 사람


위에 그림에서도 확인하셨듯이 바로 파이썬이라는 언어를 취미로 하려는 분들께 추천드립니다. 물론 업으로 삼으시려는 분께도 처음 시작으로 나쁜언어는 아닙니다. 모든 언어에 나쁜언어란 없고, 단지 그들만의 철학이 있을뿐입니다.

 

왜? 파이썬을 추천하는가

첫째로 파이썬은 상대적으로 다른언어에 비해서 익히기 쉬운 언어입니다.

익히기 쉽다는 말은 간단한 언어라는 의미인 동시에 이것으로 무언가를 만들어 보기도 매우 편리하다는 의미입니다. 스크립트 언어인가 컴파일 언어인가 하는 특성을 제외하고 순수하게 접하기 쉽기때문입니다.

취미로 즐기시는 분들께 복잡한 구조등에 대해서 이해하고 프로그래밍은 하라고 하는것은 취미로 헬스하는데 보디빌더 되라는것과 동일한 것 이라고 생각됩니다.

 

그리고 많은 커뮤니티가 존재하며 손쉽게 자료들을 찾아볼수 있다는것도 그만의 큰 장점입니다.

저를 포함한 대다수의 프로그래머들도 간단하게 테스트를 하거나 무언가를 만드는 상황에서 파이썬을 주로 이용합니다.

(하지만 저는 파이썬을 잘 몰라서 매번 인터넷은 찾아서 코드를 작성합니다... 요즘은 조금 익숙해 지고 있지만)

 

파이썬은 또한 유튜브 강의도 많이 있습니다. 거의 대다수의 언어가 많이있겠지만, 6시간 하루면 익힐수 있다는 이야기도 많이있죠. 취미로 시작하기에 가볍고 무리없이 시작하기 너무나도 좋은 언어같습니다.

 

 

 

프로그래밍을 직업으로 할 사람


이번에도 그림에서 찾낼수 있습니다. 바로 C언어 입니다.

사실 언어에는 크게 2가지 틀이... 요즘은 3가지 틀이라고 해야 할까요. 객체지향 프로그래밍 언어, 절차지향 프로그래밍 언어, 함수지향 프로그래밍 언어(?) 이렇게 있습니다. 함수형 언어는 제외하고 이야기 하겠습니다. 제가 잘 모르는 부분입니다.

 

보통은 2가지로 많이 나뉘게 되는데 절차지향 프로그래밍 언어의 대표주자가 바로 C언어 입니다. 사실 직업으로 삼으려는 분들은 절차지향언어 1개, 객체지향 언어 1개, 스크립트 언어 1개정도 익혀두는게 좋습니다.

 

저를 예로 들면 저는 C언어가 주 언어인 프로그래머 입니다. 그래서 한떄 왜? 굳이 스크립트 언어를 알아야 하지라는 생각을 품었으나, 아주 헛된 생각이였습니다. 파이썬을 실제로 사용해보니 간단한 테스트나 정보를 취합하거나 할떄 이만큼 편리한 경우가 없었습니다. 그리고 객체지향 언어는 Java조금, C++조금 할줄 아는 상태입니다.

 

제가 C언어가 주 언어이기 떄문에 C언어를 추천드린게 아닙니다.

C언어는 아주 자유도가 높은 프로그래밍 언어입니다. 그렇기 떄문에 다루기 까다롭습니다. C언어는 일종에 자유방임주의와 같다고 생각하시면 됩니다. "너가 하고싶은 모든것을 해! 단 책임도 너가 지면된다" Java와 같은 언어는 "내가 정해준 틀안에서 움직여, 대신에 책임은 내가 질께"와 같다고 생각하면 가장 편리할것 같네요.

 

그럼 이렇게 까다롭고 프로그래머들이 싫어하는 언어인 C언어를 왜? 추천드리는 걸까요?

 

왜? C언어를 추천하는가

C언어 강의 정말 많이 있습니다. 개나소나 컴퓨터 전공한 대다수의 학생이 가르킬 수 있는 언어가 C언어라는 말이 들릴정도니까요. 하지만 정말로 C로 작업을 하는 사람은 소수에 불과하긴 합니다.

 

실제 작업에서 많이 사용하지도 않는 C언어를 추천드리는 이유는 여러분이 프로그래밍을 직업으로 삶으려는 사람들이기 떄문입니다.

 

C언어는 기본적인 컴퓨터 구조에 대한 이해를 요구하는 언어이기 떄문입니다.

예를들어 다른 프로그래밍 언어들은 메모리를 신경쓰지 않고 알아서 관리해주는 편리한 기능이 있습니다. 하지만 컴퓨터에서 메모리는 아주 중요한 자원이며, 이것을 다루는 것이 매우 중요한 개념중 하나입니다. 이것을 알수 있게 해주는 언어가 바로 C언어라고 저는 개인적으로 생각합니다.

 

그외에도 파일시스템 포맷등 다양한 구조들이 내포되어 있습니다.

그렇기에 직업으로 도전하는 분들에게는 저는 당당히 C언어를 추천드리고 싶습니다. 우선 밑바닦을 한번 경험해 보기를 추천드리기 때문입니다.

 

 

 

 

 

마무리


오늘의 글은 매우 두서없이 적힌것 같습니다. 프로그래밍 언어에서 사실 정답은 없습니다. 자신이 사용하는 분야에 맞는 언어를 사용하는 것이 매우 중요합니다.

 

하지만 위의 2가지 언어는 저희 직장동료들에게 물어보아서 채택된 언어였습니다.

 

여러분이 원하는 개발자의 포지션이 있다면 그 언어를 선택하는게 오히려 현명한 선택일수 있습니다. 실제로 서버개발자 분들중에서 C언어를 다루지 못하는 분들도 많이 있습니다.

안드로이드 개발자 중에서도 C언어를 다루지 못하는 분들이 많이 있듯이요.

 

오늘도 저의 글을 읽어주셔서 감사합니다.

Posted by 콩딱파파
,