<2> 프로그래밍 초보는 어떤 프로그램밍 언어부터 공부해야할까? (프로그래밍 언어 목적별 종류 및 특징)

반응형
    반응형
    아래의 파이썬 강의는 프로그래밍에 대해 하나도 모르는 사람이 공부를 하면서, 다른 사람에게 파이썬을 알려준다고 가정하고 작성하는 것입니다.
    정말 프로그래밍에 대해 모르는 사람이 독학 으로  처음 공부를 하면서 작성한 것이기 때문에, 초보자 분들이 보기에 좋을 수 있습니다.
    다만, 최대한 다양한 자료를 찾아보고 작성하는 것이지만, 일부 틀린 내용이 포함되어 있을 수 있다는 점에 유의 부탁드립니다. 

    1. 가장 처음 맞닥뜨린 벽

    프로그래밍을 처음 배우겠다고 결정했을 때 가장 처음 맞닥뜨린 벽이 어떠한 프로그래밍 언어를 공부해야할지 모르겠다는 것이었다. 특히 나는 딱히 어떠한 프로그램을 만들어보고 싶다는 생각이 있어서 프로그래밍을 배우겠다는 것이 아니었고, 솔직히 이름이라도 알고있는 프로그래밍 언어는 C언어, BASIC 정도 밖게 없었다. (HTML이나 JAVA도 프로그래밍 언어라는 것도 이번에 처음 알았을 정도이다. 

    벽(출처: pixabay)

    각 프로그래밍 언어는 장점이 있고 단점이 있다. 내가 지금 공부하고 있는 파이썬 같은 경우에는 문법도 쉽고 직관적이라는 장점이 있지만, 속도가 느리다는 단점이 있다. 무엇보다 파이썬으로는 스마트폰, 모바일, 휴대폰 등에 사용되는 앱(Application)을 개발하는 것이 매우 어렵다. (파이썬에 KIVY라는 앱 개발 모듈이 있긴하지만 지금까지 개발된 사례가 그렇게 많지 않다.) 따라서 앱 개발을 목적으로하는 입문자가 파이썬을 처음 공부할 언어로 선택하는 것은 바람직하지 않다. 

     

    물론 혼자 괜찮은 프로그램을 하나 만드려면 여러가지 프로그래밍 언어를 아는 것이 좋을 것이다. 그래도 처음은 중요하니까 어떠한 것을 고민해서 프로그래밍 언어를 선택하면 좋을지 고민해봤다. 

     

    2. 목적에 따른 프로그래밍 언어 및 특징

    가장 먼저 고민해야 할 것은 "목적"이다. 내가 프로그래밍을 배우는 것이 그 프로그램을 사용하는 사용자를 위한 프론트 엔드 개발인데, 파이썬(python)을 가장 먼저 배우는 것은 좋은 선택이 아니다.

     

    아래는 목적에 따른 프로그래밍 언어 및 특징을 표로 나타낸 것이다. 이외에도 다양한 언어가 있겠지만, 대표적인 것들만 기재하였다. 목적에 따른 프로그래밍 언어 및 특징을 보고 어떠한 프로그래밍 언어를 공부하면 되는지 확인해보자. 

     

    목적 프로그래밍 언어 특징
    백엔드 개발(서버 개발) php 빠른 개발 속도 / 중소규모 웹 개발 프로젝트에 추천
    Java 대규모 프로젝트에 적합
    Node.js 시간당 처리량이 많은 프로그램(게임) 개발에 적합
    python 쉬운 접근성 / 개발 편의
         
    프론트 엔드 개발(사용자가 마주보는 인터페이스 개발) HTML 페이지들 사이의 링크를 정의하는하이퍼텍스트와 웹페이지의 구조를 정의하는 마크업 언어로 구성
    CSS(종속 스타일 시트) 개발자가 웹페이지에 다양한 스타일을 적용할 수 있게 해줌 / HTML 보다 독립적으로 작동해서 각 웹페이지들을 보완함.
    Javascript 사용자들을 위해 상호 작용하는 애플리케이션을 제작하는 역할을 함 / 웹사이트의 기능성 향상 / 웹기반 소프트웨어 또는 게임들을 실행할 수 있도록 만들어 줌
         
    모바일 개발 안드로이드 Java, Kotlin, Dart(Flutter), Javascript(React Native) 주로 JavaKotlin 중에 고민하게 되는데, Kotlin이 안드로이드 앱 개발의 공식 언어라는 점에서 유리함 / 다만, 다양한 플랫폼에 적용할 예정이라면 Java를 추천  
    iOS Object C, Swift, Dart(Flutter), Javascript(React Native) 안드로이드에 Kotlin이 있다면, iOS에서는 Swift가 현재 iOS 애플리케이션 개발의 주축 프로그래밍 언어로 자리잡음. / 다만, 다양한 플랫폼에 적용할 예정이라면 Java를 추천
           
    게임 C++ 뛰어난 확장성이 장점
    C#(Unity) 유니티와 같은 게임엔진에서 코드 작성시 활용 가능
    Java 게임 개발자가 모든 플랫폼에서 실행할 수 있는 게임을 설계하기 위해 활용하는 언어
    python 사용자 친화성과 융통성 모두 뛰어나는 점에서 게임 개발자가 사용하는 언어
         
    AI / 머신러닝 python 다루기가 편하고, 다양한 오픈소스 라이브러리(TensorFlow, Scikit)가 있다는 것이 장점
    C++ 빠르고 효율적이라는 것이 장점/TensorFlow, Torch, mlpack 등의 머신 러닝 대표라이브러리가 C++ 을 지원
    Java  
    R 통계 관련 분석과 시각화 툴로 유명 / 회귀분석을 위한 툴인 xgboost, mlr, party, caret 등을 가짐.

    [참고] HTML, CSS는 마크업 언어라고 하여 프로그래밍 언어와 구분하기도 함. 

    3. 내가 파이썬을 공부하기로 선택한 이유

    내가 요즘 가장 관심이 가는 부분은 인공지능이다. 나의 본업은 사람이 직접 많은 시간을 들여서 데이터를 확인하고, 분류하고, 또 검토하는 일을 하는 것인데, 이것을 인공지능을 이용해보고 싶다는 생각이 문득 들었다. 해보고 싶은 사업 중 하나도 인공지능을 이용하는 것이다.

     

    인공지능 프로그램을 구축할 수 있는 프로그래밍 언어는 다양한 것이 있지만 그 중 가장 널리 쓰이는 것은 파이썬이다. 거기다가 가장 쉽기도 했고, 그냥 프로그래밍을 공부하겠다고 마음먹었을 때 추천받은 언어이기도 했다. 이러한 기준으로 난 지금 파이썬을 공부하고 있다. 얼마나 걸릴지는 모르겠지만, 일단 한걸음씩 걸어가보자.

    [끝]

     

    ▽▼▽▼ 이전글 보기 CLICK ▽▼▽▼

     

     

    <1> 파이썬 이란? (초보자 독학 기초 추천책 입문서 무료강의)

    여러분에게 지속적으로 양질의 정보를 제공해드리기 위해 본 포스팅에는 쿠팡파트너스 링크가 포함되어 있습니다. 포함된 상품의 링크를 통해 구매를 하실 경우 작성자에게 쿠팡파트너스 활동

    vicwave.tistory.com

     

    반응형

    댓글

    Designed by JB FACTORY