ISSAC.Min

[Python Basic] 전 세계는 프로그래밍 열풍, 파이썬을 중심으로 본문

Programming Language/Python Basic

[Python Basic] 전 세계는 프로그래밍 열풍, 파이썬을 중심으로

ISSAC.M 2019. 4. 12. 13:42
반응형

 1. 프로그래밍 열풍, 초등학생도 코딩을?


4차 산업으로 불리는 인공지능, Iot, 빅데이터 등은 프로그래밍을 기반을 두고 있다. 또한 예전에는 이러한 프로그래밍을 개발자들의 산물로 여겼지만 요즘은 초중고등학교에서도 교육을 하고 있다. 물론 예전부터 컴퓨터에 관한 교육을 진행하였지만 대부분이 실무처리 능력이나 검색능력에 집중되어 있었기에 이러한 교육의 방향성은 독특하다고 볼 수 있다. 또한 이것은 우리나라뿐만 아니라 전세계 공통으로 번지고 있다. 


또한 우리나라는 이러한 코딩교육을 의무화하였고 프로그래밍에 특성화된 학교도 생겨나기 시작했다. 이것은 국가적 차원에서도 중요한 내용으로 자리잡았는데 그 이유는 당연히 국가의 고급인력 배출을 위함이라고 할 수있다. 이러한 국가내 고급인력은 국가의 성장과 직결되기 때문이다. 


현재 소프트웨어는 우리 실생활 거의 모든부분에 적용되고 있는데 가까이만 봐도 우리가 사용하는 스마트폰부터 컴퓨터는 물론이거니와 실내의 전등 또는 냉장고 등과 같이 여러방면에서 소프트웨어가 적용되어있다. 영화 스타워즈에서 그려졌던 미래의 모습이 이제 하나하나 실현화되고 있다는 것이다. 감독 조지 루카스는 Apple의 초청강연에서 아이패드는 애플이 개발한게 아니라 자신이 개발한 것이라고 우스갯 소리를 했다고도 한다. 


이처럼 우리는 이러한 발전을 이룩하는데 단지 수십년만을 소비했다. 예전 불을 발견만 해도 몇백년이 걸렸는데 아마도 영화에서 보는 사람과 똑같은 AI와 같은 로봇들은 진짜 머지않은 미래에 볼 수 있을지도 모른다. 


그러므로 이러한 산업의 발전과 변경에 꼭 필요로 하는게 프로그래밍이였고 전 세계에서는 어린 나이때부터 코딩교육에 힘을 쏟고 있는 것이다.


 2. 왜 파이썬인가?


<한국 프로그래밍 언어 순위>


그렇다면 우리는 왜 파이썬에 열광하는가? 기본적으로 초중고 코딩교육에서 사용하는 프로그래밍 언어는 파이썬이 주가 이룬다. 누구나 추측해보자면 간단하게 사용하기 편해서 배우기 쉬워서라고 생각 할 수 있다. 그렇다HTML, CSS, JavaScript같이 다른 언어들에 비해 간단한 문법으로 배우기 편한 언어가 존재하는데 말이다. 


첫번째문법이 간단하여 배우기 편하다.

필자는 첫 프로그래밍 언어를 C++시작하였고 HTML, CSS, Java, C#, Python 등을 공부하고 있다. 지금 생각해보니 첫 코딩을 C++로 시작했다는 점이 조금 도전적이였다고 생각하는데 대학교 1학년 과정에서 무조건 배워야 했기에 어쩔수 없는 선택이였다. 현재는 1학년 코딩과목이 파이썬으로 바뀌었다고 하는데 매우 적절한 선택이였다고 본다. 이유는 간단하다. C++같은 경우 컴퓨터가 원하는게 많다. 점만 잘못찍어도 띄어쓰기를 잘못해도 컴퓨터가 컴파일하지 못하고 컴퓨터가 컴파일하지 못하니 머리는 터질거같고 예전에 삼성에서 일하는 선배에게 이야기를 들은적이 있는데 자신이 처음 회사에 입사하고 작은 업무를 맡게 되었는데 일주일이면 끝날 것을 세미콜론(;) 하나를 잘못써서 몇일동안 고민했다고 했다. 이렇듯이 틀에 박혀있는 언어가 C++과 같은 Middle Language 들의 특징이다. 하지만 Python 같은 경우 물론 문법은 존재하지만 이런면에서 간단하고 짧은 문법을 지원한다.


제일 간단하게 비교해 볼 수 있는게 바로 자료형이다. [C++ Basic]에서 자료형을 포스팅한 적이 있는데 파이썬오면 생각을 크게 할 필요가 없어진다. 왜냐? 안적어도 되기 때문이다. 파이썬 컴파일러는 입력된 리터럴을 인지하고 자료형을 읽어낸다. 아래의 예시를 보면 쉽게 알 수 있다.


1
2
= 100
print(a)
cs

<Python>


1
2
3
4
5
6
7
8
9
#include <iostream>
 
usign namespace std;
 
int main(){
    int a = 100;
    cout << a << endl;
    return 0;
}
cs

<C++>


위의 코드는 Python코드이고 아래의 코드는 C++코드이다. 결과는 아이러니하게 100을 출력하는 것이다. 파이썬으로 2줄로 코딩가능한 것을 C++에서는 적어도 5줄 이상을 써야한다. 이처럼 파이썬은 간단하여 사용하기 쉽다.



두번째학습하는 환경의 조성이 잘 되어있다.

배우는 환경의 조성이 무슨말인가하면 예를 들어 코틀린을 예를 들어보자. 코틀린은 JAVA처럼 객체지향프로그래밍 언어로 오라클이 JAVA를 조만간 유료화할 것이라는 전망과 같이 새로운 객체지향언어로 떠오르게 된 언어이다. 하지만 현재 JAVA는 약간의 하향세를 타고 있지만 큰 변동은 없다. 이 소식을 필자는 2년 전에 들은 것 같은데 현재 JAVA을 사용하고 있는 기업들은 무수히 많고 아직 프로그래밍 언어 1등에 기록되고 있다. 물론 여러가지 이유가 있겠지만 상대적으로 대부분의 환경이 JAVA에 맞춰져 있어 당장 코틀린으로 바꾸는데 시간이 걸릴 수도 있고 코틀린을 학습하고 적용하는데 어느정도의 시간이 소요되기 때문이다. 전문 개발자 같은 경우 이러한 학습에 기본지식이 많이 있기에 금방 적응하겠지만 필자와 같은 학생 개발자와 같다면 적응하는게 꽤나 많은 시간이 걸린다. 즉, 태어나지 얼마되지 않은 언어를 배우기에는 정보가 부족하다 이것이다. 지금이야 코틀린 번역본도 많이 늘었고 관심이 많이 떠올랐으니 크게 어렵지는 않지만 불과 몇달 전만해도 코틀린을 사용한 오픈 소스부터 기본적인 문법서의 번역본은 존재하지 않았다.(영어를 극히 못하는 필자의 경우 정말 중요한 문제).


하지만 Python은 다르다. 1991년도부터 대중화가 되어 많은 사람들이 찾기 시작한 2011년까지 다른 언어와 비교할 수 없는 속도로 많은 사람들이 접하게 되었고 앞에서 말한 파이썬의 쉬운 접근력 때문에 많은 오픈 소스들이 개발되었다. 또한 국내에서도 많은 커뮤니티를 통해서 기본적인 문법부터 많은 소프트웨어가 풀려있는 상황이기에 누구나 Google을 통해서 정보를 알 수 있다.


세번째무료이다.

사실상 다른 부분보다 많은 영향력을 가지는 언어의 라이센스이다. 우리가 접하는 대부분의 프로그래밍언어가 무료지원을 하고 있기는 하지만 이것은 정말 중요한 부분이다. 실질적으로 프로그래밍 언어를 많이 사용하는 부류는 우리처럼 교육을 받는 입장이 아닌 소프트웨어를 개발하는 전문 개발자들이다. 아무리 좋다고 한들 언어의 라이센스가 존재해서 매년 수십억의 돈을 제공하여 언어를 사용한다면 기업에서도 타격을 받게 된다. 또한 교육을 받는 입장에서도 동일하다. 굳이 기업에서 사용하지 않는데 내가 무슨이유로 돈을 주고 개인 라이센스를 받아서 공부를 하겠는가? 


네번째는 적응력과 친화력이 뛰어나서 확장성이 좋다.

적응력, 친화력, 확장성이 무슨 뜻이냐 하면 적응력은 우리가 생각하는 어느 환경에 쉽게 적응할 수 있다는 의미, 친화력은 다른 부류와 같이 친해질 수 있는 능력을 뜻한다.즉, 파이썬은 다른 언어와 같이 결합되어 다양한 환경에서 손 쉽게 돌아간다.


당연히 이러한 점들은 파이썬이라는 언어가 대부분의 섹션에서 돌아가는 것이 용이하다. 라는 말이다.


예를 들자면 예전에는 게임을 만들때면 C#을 공부하여 Unity라는 도구를 사용했고 모바일 어플리케이션을 만들기 위하여 Java를 공부하여 Android Studio라는 도구를 사용하였지만 요즘은 Python과 어떠한 다른 언어를 이용해서 게임과 어플리케이션의 개발이 가능하게 되었다.


이 정도의 프로그래밍 언어라면 지금이라도 당장 공부를 시작해보는 것이 어떨까? 

이제는 전공자, 비전공자, 전문 개발자, 초보 개발자 등은 이 언어를 배우는 것에 큰 영향을 미치지 않는다. 기본적인 개념과 여러가지 실습으로 [Python Basic]을 시작하겠다.




반응형