본문 바로가기

학부생때 배우면 좋은 프로그래밍 언어 4가지

Java

가장 대표적인 객체지향 언어다. 

객체지향 언어가 많이 있지만 자바가 가장 대표적인 언어라고 할 수 있다.

객체지향에 대한 고급 서적(디자인패턴, 리팩터링, 보안 등)들이 자바 언어를 기반으로 설명을 하고 있기 때문에

객체지향 개념을 깊게 공부하기 위해서는 자바 언어를 배워야 수월하게 공부할 수 있다.

 

한국에서 독보적으로 많이 사용되고 있는 언어다.

프로그래밍 관련 커뮤니티 사이트들을 보면 한국은 자바 공화국이라는 말이 있는데 괜히 나온 말이 아니다.

한국에서 가장 많은 일자리를 차지하는 SI 프로젝트를 보면 대부분 Java로 개발을 한다고 보면 된다.

Java는 한국에서 일하기 위해서라면 무조건 배워야하는 언어라고 할 수 있다.

최근 뉴스 기사를 보면 순위가 떨어졌다고 하지만 여전히 높은 순위권을 유지하고 있다.

https://n.news.naver.com/mnews/article/092/0002276367?sid=105 

 

자바, 프로그래밍 인기지수 처음 3위권 밖으로 밀렸다

인기 프로그래밍 언어인 자바가 인기 지수에서 처음으로 3위권 밖으로 밀려났다. 미국 지디넷 등 외신에 따르면 12월 티오베 인덱스 프로그래밍 언어 인기 지수(티오베 인덱스) 에서 자바가 4위

n.news.naver.com

 

 

 

C#

나는 대학교 학부생 시절에 C# 언어를 배우지 않았지만 지금 돌이켜보면 C#을 배웠다면 많은 도움이 되지 않았을까 생각한다.

C#도 Java와 마찬가지로 객체지향 언어다. 한국에서 Java에 비하면 그렇게 많이 사용되고 있지는 않다.

그럼에도 C#을 추천하는 이유가 있다. GUI(그래픽 사용자 인터페이스) 프로그래밍에 접근하기가 수월하기 때문이다.

Java의 경우 대부분의 조작이 콘솔로 이루어진다고 생각하면 된다. 컴퓨터에 막 입문하게 되면 버튼도 눌러보고 해야 재미가 있는데

개발을 한 것들이 전부다 콘솔이기 때문에 너무 재미가 없어서 의욕을 잃을 수 있다. 자바도 GUI 기반으로 코딩을 할 수 있기는 하다

JavaFx, awt, swing 등 하지만 Java로 GUI 개발을 하는 경우가 별로 없기 때문에 구글링을 하기도 불편하다.

반면에 C#의 경우는 GUI 개발을 하기가 아주 수월하다. 우선 마이크로소프트에서 제공하는 Visual Studio에서 기본적으로 GUI 개발 기능을 제공하고 자기가 만든 프로그램을 바로 윈도우에서 실행해볼 수 있다. Java의 경우에는 따로 jar파일을 이클립스와 연동해야하고 실행파일을 만들어주는 프로그램을 깔아야하며 실행파일과 jre를 같은 경로에 놔둬야하는 등 여러가지 불편함이 있다.

학부생때 배워둔다면 GUI 개발을 하며 버튼을 클릭도 하고 화면도 그려가며 개발에 재미를 느낄 수 있다고 생각된다.

그리고 졸업작품에도 용이하다고 할 수 있다. 졸업작품을 콘솔만 보여주는 작품으로 할 수 는 없을 것이고 화면이 있어야하는데 혼자 웹으로 한다는 것이 쉽지가 않다. DB, 백엔드, 프론트, 퍼블리싱, 디자인, 리눅스등 손이 가는 부분이 많기 때문이다.

버튼을 눌렀을때 반응이 있는 개발을 빨리 접해보고 싶다면 C#언어를 추천한다.

 

 

 

C++

개발자라면 컴퓨터 언어가 메모리를 어떻게 사용하는지 정도는 알아야한다.

C++은 객체지향 언어이면서 메모리 관리까지 해야하는 언매니지드(메모리 관리를 안해주는) 언어다.

처음 개발언어에 입문하자마자 C++을 하게되면 객체지향과 메모리에 대한 공부까지 2마리의 토끼를 잡을 수 있다고 생각할 수 있지만

배우기에는 난이도가 높은 언어이기 때문에 처음 C++을 접하게 되면 개발에 대한 흥미를 잃을 수 있다.

Java, C#과 같은 언어로 선행학습 한 뒤에 배우는 것을 추천한다.

 

 

 

JavaScript

객체지향 언어이면서 프로토타입 기반 언어다.

나는 Java 언어를 주로 사용해서 그런지 아직도 JavaScript는 적응이 잘 되지 않는다.

Java, C#과 같은 언어는 클래스 기반 언어라고 부르고 JavaScript는 프로토타입 기반 언어라고 부른다.

JavaScript는 가장 대표적으로 사용되는 프로토타입 기반 언어라고 할 수 있다.

그리고 Java, C#, C++등의 언어를 사용하던 개발자가 JavaScript를 사용하면 가장 당황하게 되는 부분이 있는데

객체가 동적이다라고 할 수 있다. Java, C#은 클래스를 정의 한뒤 그 뼈대를 가지고 객체를 생성한다.

이 생성된 객체의 속성은 런타임 시점(프로그램이 동작하는 시점)에 바뀔 일이 없다.

반면 JavaScript는 런타임 시점에 객체의 속성이 바뀐기 때문에 이러한 부분이 적응하기 힘들다.

지금 JavaScript를 실무에서 사용하고 있지만 아직도 적응이 잘 되지 않는다.

객체가 동적인 특징을 가지는 언어를 배워야한다고 생각하기 때문에 JavaScript를 추천한다.