필자는 생명공학 전공자다. 그럼에도 불구하고, 우연한 기회에 C 프로그래밍을 알게 되어 방학때마다 프로그래밍 책을 들여다보면서 틈틈히 프로그래밍의 기초를 독학해왔다. (오해하지 말자. 필자는 기초가 탄탄히 갖춰진 실력을 가지고 있지 않다. 방학 때마다 앞부분만 배우고 잊어버리고 배우고 잊어버리고를 반복하면서 기본적인 것만 익히게 된 것이다...)
그러다가 작년 10월에, 전직을 결심하면서 작정하고 컴퓨터에 대해 공부를 하기 시작했다. 맘먹고 C 언어 책 하나 사서 하루에 한 챕터씩 익혀나가다 보니, 한 달만에 책을 떼어버렸다.(솔직히 쉽지는 않았다. 하지만 남는게 시간이었던 때라 한 달이라는 짧은 기간동안에도 가능하지 않았나 싶다. 아.. 물론 기본의 반복 학습도 하나의 원인이 되겠다)
그런데, C언어는 메모리 주소를 직접적으로 건드리는 프로그램, 즉 하드웨어적인 구현을 목적으로 하는 언어이다 보니, 이걸 배워도 어디에 써먹을 수 있는지 전혀 감이 오지 않았다. C를 제대로 쓰려면, 헤더 파일이 뭐가 있는지, 그게 어디에 적용되는지 알아야하는데, 컴퓨터에 대해서 알고 있는 것이라고는 아무것도 없으니...
이런 이유로, 컴퓨터 자료구조와 운영체제, 네트워크 기초와 도서관에서 씨름하는 사이, C 언어 코드에서 자주 다루는 포인터, Malloc, calloc, 구조체 등등등 사용법이... 한 순간에 기억에서 사라져버렸다. 이해를 토대로 한 번 익혔던 내용이라 다시 보면 빨리 학습할 수야 있겠다만, 이걸 익혀도 어디에 써먹어야 할지 감이 안잡히니 답답할 노릇이었다.
그 때, 필자의 눈에 파이썬 책이 들어왔다.
<너 날고 있잖아!! 어떻게 된거야??>
<어젯 밤에 파이썬 배웠어. 엄청 단순해. Hello World는 그냥 print("Hello World!")야!!!"
<이해가 안돼... 동적 타이핑...???>
<그냥 시작해 봐! 프로그래밍이 재밌어져. 여긴 완전 신세계야!!>
<그런데 넌 어떻게 날고 있는 거야??>
<antigravity 모듈 썼어!>
<그게 다야?>
<혹시 몰라서 가지고 있는 약을 먹긴 했는데, 이건 파이썬 때문이야!>
솔직히 이 만화를 보고 충격이었다. C 언어에서는 문자 출력을 위해서 stdio 헤더를 넣고, 메인 함수까지 만들어서 작동시켜야 하는 녀석이, 단순히 print()함수만으로 동작한다는 것이 말이다. 호기심이 일어 Python을 배우기 시작했고... 파이썬 기초에 대해 설명한 책 한 권을 무려 2주만에 떼어냈다. 하지만, C언어와 달리, 일정기간동안 Python을 사용하지 않았음에도, 필자에게 필요한 간단한 프로그램정도는 몇 시간만에 만들어 낼 수 있을 정도다. 만약 필자가 현재 만들어낸 프로그램을 C 언어로 구현하라고 한다면...? 솔직히 자신이 없다.
파이썬은 문법이 간단 명료하고, 여러 분야에 적용할 수 있는 강력한 모듈도 적절히 제공하며, 이를 통해 업무의 자동화를 이끌어 낼 수도 있다. 사무직에 종사하는 분들은, 파이썬을 제대로 배워둔다면 자신의 업무를 조금 더 수월하게 처리할 수도 있을 것이다. (실제로 파이썬을 배우고 난 뒤에 이전 직장생활하던 때를 돌아보면서, 원시적인 방법으로 자료를 찾느라 시간 허비를 참 많이 했다는 생각밖에 안 들었다...)
중간 결론을 내리자면, 파이썬은 처음 프로그래밍을 접하는 분들, 특히 사무 자동화를 위해 프로그래밍을 시작하는 분들이라면, 좋은 선택이다. 단순하고, 적용할 수 있는 범위가 넓기 때문에 (하지만 시스템 프로그래밍이나 보안 관련 직업을 가지려는 분들은 너무나 당연하게도 C 언어를 먼저 배워야 한다. 비전공자인 필자보다도 그 이유는 더 잘 아시리라).
필자 역시, 필요에 따라 파이썬을 배우고 있는 상황이다. 기본적인 부분이야 이미 마무리 되었지만, 파이썬이 가지고 있는 여러 기능에 대해서 조금 더 심도있는 탐구가 필요한 상황이다. 따라서 필자가 독학으로 접한 파이썬 정보에 대해 작성을 하면서, 필요한 분들과 함께 내용을 공유하려고 한다.
부족하겠지만, 최선을 다 해보려한다.
'Python > Python Basic' 카테고리의 다른 글
6. Python - 변수 자료형 1, LIST(목록) (0) | 2019.07.26 |
---|---|
5. Python - print() 함수 사용법 3 (0) | 2019.07.17 |
4. Python - print() 함수 사용법 2 (0) | 2019.07.09 |
3. Python - print() 함수 사용법1 (0) | 2019.07.03 |
2. Python의 설치와 프로그래밍의 원리 (0) | 2019.07.02 |
댓글