데이터 과학을 위해 갖춰야할 기본적인 스킬 중 하나는 데이터 분석을 위한 프로그래밍 언어 학습입니다.

지금 데이터 과학을 시작하기 위해서 어떤 프로그래밍 언어를 배워야 하는지 선택에 혼란을 겪고 있다면
제가 추천해드리는 5가지의 프로그래밍 언어에서 하나를 선택해서 배워보시길 바랍니다.

다만 저는 데이터 과학하면 누구나 알고있고 추천하는 파이썬과 R 언어는 추천드리지 않겠습니다

파이썬과 R은 데이터 과학에 있어 물론 추천드리는 언어입니다.
다만 만약 당신이 이 두 언어가 맞지 않는 경우 제가 추천드리는 언어를 대안으로 고려해보세요.

1. Javascript

Javascript는 현재 웹프로그래밍 언어에서 가장 많이 사용되는 언어입니다.

Javascript는 Hadoop 처럼 Java 에서도 작동하는 강력한 프레임워크를 많이 가지고 있습니다.
( Java는 데이터 과학 응용 프로그램을 만드는데 있어 유용한 언어중 하나입니다. )

Javascript는 아직 큰 규모의 응용 프로그램을 제작하는데 있어 부족한점은 있습니다.
그러나 파이썬 또는 R과 함께 파이썬 또는 R이 만들어낼 수 있는 것보다 더 우수하고 선명한 시각화를 생성할 수 있습니다.

만약 데이터 과학을 위해 Javascript를 배우고 싶다면 이 강의를 확인해보세요.

2. Scala

데이터 과학을 위한 또 하나의 선택지는 Scala 입니다. Scala는 2003년에 처음 소개된 현대적이고 심플한 프로그래밍 언어입니다. Scala는 Java의 몇몇 문제를 해결하기 위해 고안되었습니다.

Scala는 응용 프로그램을 만드는데 광범위하게 사용될 수 있습니다.
( 웹 응용 프로그램부터 데이터 과학, 머신러닝 등 )

그리고 더 나아가 Scala는 OOP(Object-oriented programming)를 지원하고 큰 규모의 데이터 과학 프로젝트에도 사용될 수 있습니다. 그 이유는 큰 규모의 데이터를 다루는데 있어 효율적이기 때문입니다.

아마 Scala의 유일한 단점은, 기능성과 객체 지향성의 이중적 특성 때문에 Scala의 타이핑이 약간 복잡해진다는 것입니다.

그러나 여전히 많은 머신러닝 응용 프로그램에서 좋은 옵션을 제공합니다.

데이터 과학을 위해 Scala를 학습하고 싶다면 이 강의를 배워보세요.

3. Julia

Julia는 2009년에 4명으로 구성된 팀에의해 개발이 시작되어 2012 완성된 언어입니다. Julia는 파이썬처럼 단순하게 디자인되었지만 단점이 없었습니다.

주로 Julia는 빠른 수치 분석과 뛰어난 성능을 가진 언어로써 파이썬의 느림을 극복하도록 설계되었습니다. Julia를 사용하여 회귀 분석 및 벡터/행렬 조작과 같은 수학적 개념을 신속하게 구현할 수 있습니다.

게다가, 강력한 정적 타이핑과 유연한 동적 타이핑을 함께 사용할 수 있습니다. Julia는 또한 PyCall 라이브러리를 사용해 파이선의 라이브러리를 호출하거나 상호작용 할 수 있습니다. 그러나 제 생각에는 가장 좋은 점은 Julia는 단순하고 쉽고 빠르게 코드의 문제점을 디버깅 할 수 있는 디버거가 있다는 점입니다.

데이터 과학을 위한 다양한 자료들은 Julia for Data Science 책과 Julia for Beginners in Data Science 강의를 참고해보세요.

4. MATLAB

MATLAB ( Matrix Lab ) 은 컴퓨팅 과학 기술을 위한 모든게 갖춰진 언어입니다. MATLAB은 온라인과 오프라인에서 사용할 수 단일 환경에서의 단순한 코드 작성과 효과적인 시각화를 통합하고, 다른 사람과 코드를 쉽게 작성하고 공유할 수 있습니다.

MATLAB은 행렬을 기반으로 하기 때문에 모든 종류의 계산 수학을 쉽게 구현할 수 있습니다. 즉 데이터 분석과 모델링, 시뮬레이션, 과학 그래픽, 사용자 인터페이스를 구현을 쉽게 할 수 있다는 것입니다.

MATLAB은 실제 시스템을 시뮬레이션하고 센서, 이미지, 비디오 같은 물리적인 객체와 상호 작용할 수 있기 때문에 데이터 과학에 매우 적학합니다. 게다가 MATLAB은 머신러닝과 정적분석에 실용적인 다양한 패키지들을 제공합니다. 추가로 이미지/비디오 처리 및 다양한 유형의 시스템 최적화도 제공합니다.

MATLAB 개발자인 MathWorks는 Coursera에서 데이터 과학에 MATLAB을 사용하는 방법에 대한 실제 강의를 제공하니 참고해보시길 바랍니다.

5. Go

마지막으로 유명한 Golang 입니다. Go는 구글에서 만든 정적 타입,컴파일 언어입니다. Go 언어의 코드를 보면 C 언어와 매우 유사함을 보게 됩니다. 그러나 더 나은 메모리 관리 및 구조적 타입, 가비지 컬렉션을 제공합니다.

Go 언어는 데이터 수집, 정리, 분석과 같은 기본 및 고급 데이터 과학 애플리케이션에 필요한 지원과 고유의 라이브러리를 가지고 있고, 일반적으로 많이 사용되는 Mongo, Postgres와 같은 패키지에 대한 API도 제공합니다. 또한 다양한 수학, EDA, 시각화, 머신러닝을 위한 라이브러리도 가지고 있습니다.

다른 큰 장점으로는 Go 언어는 손쉽게 지원을 받을 수 있는 활성화된 커뮤니티를 보유하고 있다는 점입니다.

데이터 과학을 위한 Go 언어 책은 Machine Learning With Go를 추천합니다.

마치며

200개가 넘는 프로그래밍 언어가 있습니다. 그러나 데이터 과학에서는 파이썬과 R 언어가 대세로 자리잡고 있습니다. 파이썬의 경우에는 60,000개의 라이브러리과 8백만의 사용자를 보유하고 있습니다.

누군가에게는 이러한 점이 데이터 과학을 시작하기에 있어 파이썬과 같은 언어를 선택하는 쉬운 이유일 수 있지만 파이썬이 데이터 과학에서 사용할 수 있는 유일한 방법이 아님에도 다른 대안이 될 수 있는 언어들이 사용되지 않고 있습니다.

프로그래밍 언어를 마스터하는 것은 데이터 과학의 모든 분야를 배우기 위한 필수적인 첫 번째 단계입니다.
누구나 선택권을 가질 수 있어야합니다. 모든 사람이 항상 파이썬을 좋아하는 것도 아니죠.

다른 프로그래밍 언어도 파이썬, R만큼 데이터 과학에 있어 강력하고 효율적으로 활용 될 수 있습니다. 이 글에서 소개한 5가지 언어처럼 말이죠. 만약 당신이 데이터 과학을 처음 시작하신다면 파이썬과 R이 아닌 다른 프로그래밍 언어들도 살펴보고 나에게 가장 잘 맞는 언어를 선택하고 활용하시길 바랍니다.

감사합니다.