🐙

001. 프로그래밍 언어와 종류

1. 2020년 프로그래밍 언어 순위 (2020. 11 기준)

notion imagenotion image

1.1. C Family (C, C++, C#)

  • 성능을 중시하는 분야에서는 C계열 언어가 거의 필수입니다.
  • 운영체제, 게임 코어 개발, 하드웨어 제어에 사용됩니다.
  • Objective-C는 Swift의 등장으로 앞으로 쓰이지 않을 예정입니다.
notion imagenotion image
 

1.2. JAVA

  • Java는 대표적인 객체지향 언어입니다.
  • 웹 어플리케이션, 서버에 모두 사용됩니다.
  • 안드로이드 공식 언어입니다.
  • 방대한 자료가 있다는 것이 가장 큰 장점입니다.
  • 대표적인 프레임워크는 Spring Framework 입니다.
 
notion imagenotion image
 
notion imagenotion image
 

1.3. Python

  • Python은 일반적으로 입문자에게 가장 추천되는 언어입니다.
  • 데이터 분석, 머신러닝, 사물 인터넷 분야 등 다양한 분야에서 사용됩니다.
  • 빠른 개발을 요구하는 분야에서 자주 사용됩니다.
  • 현재 세상에서 두 번째로 수요가 높은 언어입니다.
  • 대표적인 프레임워크는 Django 입니다.
 
notion imagenotion image
notion imagenotion image
 
 

1.4. JavaScript

  • JavaScript는 웹 사이트를 제작할 때 필수적으로 사용되는 언어입니다.
  • 웹 개발자가 되려면 반드시 알아야 하는 언어로 대체재가 없습니다.
  • 서버 구축도 가능하기 때문에 활용분야가 넓습니다.
  • 대표적인 프레임워크로는 React.js가 있습니다.
 
notion imagenotion image
notion imagenotion image

1.5. Scala

  • 객체지향 언어와 함수형 프로그래밍의 요소가 결합한 다중패러다임 프로그래밍 언어입니다.
  • JAVA의 단점을 극복하기 위해서 개발되었습니다.
  • JAVA와 상호호환이 가능합니다.
notion imagenotion image
 

1.6. LISP

  • 컴퓨터 프로그램을 활용하여 수학 표기법을 나타내기 위한 목적으로 만들어졌습니다.
  • Potran의 뒤를 이어 두 번째로 가장 오래된 프로그래밍 언어입니다.
  • 모든 자료를 연결 리스트로 처리하며, 컴파일 개념 없이 인터프리터 상에서 작동합니다.
 

1.7. Swift / Kotlin

  • 각각 iOS, Android에서 공식 채택한 새로운 언어입니다.
  • Swift는 Java와 C#의 장점을 모두 가지고 있어 모바일 환경의 새로운 강자로 떠오르고 있습니다.
  • Kotlin은 간결한 문법이 특징이며, Java와 완전 호환성을 가집니다.
  • 둘 다 신생 언어이기 때문에 아직 자료가 부족해 공부하기 어려울 수 있다는 단점이 있습니다.
notion imagenotion image
notion imagenotion image
 
 

1.8. R, Matlab과 그 외 통계언어

  • 머신러닝, 빅데이터가 주목받으면서 함께 주목받는 언어입니다.
  • 사용할 관련분야가 있어야 배우는 의미가 있습니다.
  • 통계와 수치해석 분야 연구실에서 거의 필수적입니다.
 
notion imagenotion image
notion imagenotion image
 

1.9. Ruby

  • 초창기 파이썬의 라이벌이라 불리던 언어입니다.
  • 현재는 인기가 많이 식었습니다.
  • 일본에서는 Ruby를 사용한 웹 프로그램의 수요가 있는 편입니다.
notion imagenotion image
 

1.10. PHP

  • 서버 분야의 대표적인 언어입니다.
  • 많은 웹 사이트가 PHP를 사용하고 있습니다.
  • 오랫동안 사용되었다는 정통성과 쉬운 코드가 특징입니다.
  • 꾸준히 수요가 있지만 요즘은 Node 계열에 밀립니다.
  • 보안에 취약하다는 단점이 있습니다.
notion imagenotion image
 

1.11. Pascal, Basic 등

  • 잘 사용하지 않는 언어입니다.

2. 웹 개발 추천 로드맵

notion imagenotion image
웹 개발은 프론트엔드와 백엔드로 나눌 수 있습니다. 아래에서 더 자세히 살펴보겠지만 프론트 개발자는 기본적으로 HTML, CSS에 대해 공부해야 합니다. 중급 수준이 되면 Bootstrap 등을 이용해서 사이트를 개발할 수 있습니다. JavaScript도 웹에서는 빼놓을 수 없는 언어입니다. JS에 대한 기본 능력이 갖춰졌다면 jQuery를 공부하는 것도 좋습니다. 백엔드 분야로는 대표적으로 Python 웹 프레임워크인 Django를 이용해서 웹을 개발할 수 있습니다.

3. 앱 개발 추천 로드맵

notion imagenotion image
 
앱은 Native App과 Hybrid App으로 나눌 수 있습니다. Native App은 java, kotlin, swift와 같은 언어를 배운 뒤 운영체제에 맞춰서 개발하는 앱이며, Hybrid App은 React Native와 같이 운영체제에 구애 받지 않고 개발하는 앱입니다. 이에 대해서는 React Native 챕터에서 실습과 함께 더 자세히 다루겠습니다.

4. 프론트엔드 개발자? 백엔드 개발자?

notion imagenotion image
프론트엔드 개발자는 사용자에게 보이는 앞단을 설계하는 개발자입니다. HTML, CSS, JS뿐만 아니라 그림에 나와있지 않은 Ajax나 jQuery도 알아두시면 좋습니다. Node나 express 중 하나를 골라서 공부하는 것도 좋을 것 같습니다.
백엔드 개발자는 로그인이나 사람들이 업로드한 이미지를 저장한다든지 뒷 부분에 해당하는 부분을 설계하는 개발자입니다. 파이썬 개발자라고 한다면 Django나 Flask를 사용할 수 있겠고, 자바 개발자라면 Spring Framework를 사용할 수 있습니다. 또한 백엔드 개발자는 Cloud 사용법이나 Ubuntu, CentOS 같은 Linux 환경에도 익숙해야 하고 DB까지 다루는 경우가 많습니다.
이러한 기술 스택은 딱 정해져 있기 보다는 여러분이 희망하는 회사의 채용 공고를 확인해 보시는 게 좋습니다.