20학번의 캠퍼스 라이프는 시작부터 무척 험난합니다. 사상 초유의 개강 연기에 원격 수업까지... 새내기 기분은 못 냈지만 그래도 방학만큼은 철저히 사수해야겠죠. 멀리 놀러 나가거나, 여럿이 한데 모이긴 쉽지 않겠지만요.
이번 <주간 인프런> 에서는 대학생이 시작하면 좋은 인기 프로그래밍 언어를 3주에 걸쳐 소개합니다. 다가올 여름방학엔 코딩을 배워보려는 분들이 정말 많을 텐데요. (이미 첫 학기부터 코딩의 쓴맛을 본 공학도도 있겠죠…😢) 코딩 열풍은 식을 줄을 모르는데, 무엇부터 해야 할지 모르겠다면! 공대 - 상경대 - 예대까지 어떤 프로그래밍 언어를 배우면 좋을지 살펴볼까요? 물론 전공이 달라도, 대학생이 아니어도 환영해요!
방학맞이 코딩 길라잡이 (1)
공대 편(6월 셋째 주) → 상경대 편 → 예대 편
C
Java
Python
•••
“연구에, 공학수학에, 프로젝트, 포트폴리오, 코딩테스트 준비까지…
영원히 고통받는 나는 공대생(Computer Science & Engineering, etc.) ”
*이 글에서는 편의상 학부 과정에서 프로그래밍을 학습하는 대학을 “공대”라고 지칭했지만, 실제로 컴퓨터공학, 컴퓨터과학, 소프트웨어공학, 전자공학, 정보통신학, 콘텐츠학 등 여러 전공에서 프로그래밍을 학습하고 있습니다. 소속 단과대 역시 공과대학(공대), 자연과학대학, 정보대학 등 다양합니다. 유념해서 읽어주셔요! 👩💻
씨, 씨쁠쁠, 씨샵! 우리는 C언어 패밀리
프로그래밍을 모르는 사람도 C언어라는 이름은 한번쯤 들어봤을 텐데요. 그만큼 C의 역사는 무척 길답니다. 1972년에 처음 등장해, 가장 오랫동안 살아남은 프로그래밍 언어 중 하나예요. 복잡한 연산이 빠르게 이루어져야 하는 시스템이나 운영 체제(OS), 가전 제품 등에 내장돼 하드웨어를 제어하는 프로그램 등 다방면에 활용되고, 대부분의 컴퓨터공학/컴퓨터과학 학부 과정에서 기본으로 다루고 있는 언어예요. 어셈블리어*의 특징을 따온 만큼 컴퓨터의 구조와 무척 닮아 있다는 점이 특징이죠.
하지만 컴퓨터 구조에 밀접한 언어라는 건 이해하기 어렵다는 뜻이기도 해요. (일반적인 사고가 아니라 컴퓨터 구조를 기준으로 생각해야 하니까요!) 실제로 컴퓨터공학, 컴퓨터과학을 전공하는 학생들이 1, 2학년 때 C를 배우면서 적잖이 애를 먹죠. 특히 포인터 개념을 익힐 때가 처음으로 전과나 자퇴, 혹은 ‘전공 포기’를 고민하는 순간으로 악명이 높아요. 대신 C++, C#, Java, GO(고), PHP에 이르기까지 다양한 언어에 영향을 끼친 언어이니만큼 C를 잘 알고 있다면 다른 언어를 훨씬 수월하게 배울 수 있답니다. (화이팅!)
그럼 C++, C#은 뭘까요? 절차 지향 언어인 C에 객체 지향*의 개념을 담은 게 C++과 C#이랍니다. C++는 최근에는 영상 처리, VFX, 게임 등 고성능 그래픽 처리가 필요한 비주얼 산업에서 주로 쓰여요. C#은 C++에 Java의 특징을 덧붙인 언어로, 마이크로소프트가 개발한 만큼 윈도 운영체제 폼 기반의 애플리케이션을 만드는 데 특화되어 있습니다. 특히 게임 엔진 유니티(Unity)가 C#을 기본 개발 언어로 채택하고 있죠.
*어셈블리어: Assembly Language 또는 Assembler Language. 0과 1로 이루어진 기계어에 일대일로 대응할 수 있도록 만든 컴퓨터 프로그래밍의 저급 언어로, 기계어와 프로그래밍 언어의 ‘중간 언어’ 역할을 합니다.
*객체 지향: OOP(Object-Oriented Programming), 컴퓨터 프로그램을 하나의 명령어가 아니라 메소드와 변수의 묶음으로 이루어진 여러 개의 객체 단위로 보는 프로그래밍 패러다임을 일컬어요.
인기 많은 자바를 잡아볼까요?
ⓒ TIOBE(www.tiobe.com/tiobe-index/) 선정 2020년 6월 인기 개발언어 순위
자바(Java)는 세계에서 제일 인기있는 프로그래밍 언어 중 하나입니다. 특히 한국에서는 명실상부 ‘원톱’이라고 해도 과언이 아니에요. 실제로 코딩 국비교육 대다수가 자바 백엔드 과정으로 이루어지죠. 한국 웹 진영에서 주로 쓰이는 스프링 프레임워크, 전자정부 프레임워크가 모두 자바 기반인 만큼 취업에 유리하기 때문이에요. 안드로이드 앱 개발에도 자바를 주로 사용하고 있구요. “자바를 배우면 취업할 수 있다”는 말이 아주 근거없는 소리는 아니랍니다.
그럼 자바는 왜 이렇게 인기가 많은 걸까요? 자바는 객체지향 언어이기 때문에 처음 프로그래밍을 배운다면 쉽지 않을 수도 있어요. 그래도 문법 자체는 일관적인 만큼 개념을 이해한다면 금방 배울 수 있답니다. 쓰는 사람도 워낙 많아서, 조금만 검색해 보면 엄청나게 많은 자료를 찾을 수 있죠. 또한 다른 언어에 비해 안정적이고, 다양한 환경에서도 높은 호환성을 자랑하며, (C나 C++에 비해) 생산성이 높은 언어이기 때문에 당분간은 인기가 쉽게 식지 않을 듯해요.
💡 자바 & 자바스크립트, 무엇이 다른가요?
• 자바와 자바스크립트의 차이는 햄과 햄스터의 차이랑 비슷하다는 농담이 있죠. 자바스크립트는 프로그래밍 언어 중에서도 파이썬, PHP, Ruby 등과 함께 묶이는 동적 언어*예요. 반면 자바는 C, C#, C++ 등의 C 계열 언어처럼 정적 언어*에 속합니다. 둘 다 객체 지향 언어라는 점은 같지만, 하나하나 뜯어보면 전혀 다른 언어랍니다.
*정적 언어: 컴파일을 진행할 때 변수 타입이 결정되는 언어로, 변수에 따라 자료형(Type)을 지정해주어야 하는 언어입니다.
*동적 언어: 함수 또는 메소드 등 언어가 실행되는 환경에 따라 자료형(Type)이 그때그때 바뀌는 언어로, 자료형을 정해줄 필요가 없는 언어입니다.
인생은 짧아요, 파이썬을 쓰세요.
컴퓨터공학, 컴퓨터과학 등 학부에서 프로그래밍을 배운다고 하면 C, C++, Java를 떠올리는 것도 머잖아 옛날 얘기가 될지 모르겠네요. 최근 학부 기초 프로그래밍 언어 커리큘럼이 C, C++, Java에서 파이썬(Python)으로 옮겨가는 추세입니다. 코딩을 처음 배우는 사람이라도 비교적 쉽게 배울 수 있기 때문이죠. 특히 데이터 분석 및 업무 자동화에도 활용할 수 있기 때문에 문과생이나 비개발 직군에서도 인기를 끌고 있어요. (앗, 이 얘기는 다음 시간에!)
물론 파이썬의 인기는 단순히 배우기 쉬워서만이 아닙니다. 웹 개발부터 시작해 데이터 분석, 게임, 머신러닝/딥러닝 분야에 이르기까지 다양한 분야에 활용할 수 있다는 게 파이썬의 강점이죠. 여기에 취업 시장에서 떠오르고 있다는 점도 한몫합니다. 채용 과정에서 삼성, 카카오, 네이버 등 유명한 기업을 중심으로 파이썬 코딩테스트를 실시하는 사례가 늘고 있어요. 이해하기 쉬운 문법, 높은 활용도, 급부상하는 언어라는 데 매력을 느낀다면 파이썬을 배워보는 건 어떨까요?
코딩에 골머리를 앓고 있을 여러분께 💌
물론 이밖에도 수많은 프로그래밍 언어가 있죠. 웹 개발, 보안, 데이터베이스, 게임 개발, 데이터 사이언스 등 선택의 폭도 그만큼 넓습니다. 다만 중요한 건 어떤 언어가 뜨고 지는지, 우월하고 뒤떨어지는지를 구분하는 게 아니예요.
일단 언어를 딱 하나 정해서 파고들어 보세요. 언어 하나를 차근차근 배우고 나면, 그 언어는 여러분의 개발 커리어에 확실한 무기가 되어줄 거예요. 나중에는 필요에 따라 어떤 언어라도 도전할 수 있게 된답니다. 결국 프로그래밍이라는 본질은 같으니까요! 일단 자신감을 갖고 부딪혀 보세요. 여러분의 배움을 늘 응원할게요.
댓글 0
댓글을 작성해보세요.