Python/이것저것 파이썬

파이썬을 추천합니다.

컴닥 2022. 8. 22. 17:32
반응형

 

 

추천의 이유

1. 재미있습니다.

파이썬으로 알고리듬 문제를 풀면서..
처음 프로그래밍 언어를
배웠을 때의 즐거움을
다시 느낄 수 있었습니다.

 

2. 넓은 응용 범위

파이썬으로 할 수 있는 것들

웹서버, 웹 크롤링, GUI, DB 응용, 해킹, 사무자동화...
심지어 인공지능도 파이썬으로 많이 하죠.

금융권에서도 파이썬을 많이 씁니다.
퀀트 투자법에도 파이썬을 많이 사용하죠.

상용 게임에도 사용되는데
연산이 필요한 부분에 사용되는 건 아니고,

파이썬은 느립니다.
연산이 필요한 부분은 C++을 많이 사용합니다.

연산 성능이 필요 없거나,
가볍게 자주 변경해야 하는 부분
등에 많이 사용됩니다.

물론 고전 2D 자작 게임 정도는
내장 라이브러리로 끝낼 수 있습니다.

온라인 게임 서버에도
사용할 수 있습니다.

'듀랑고'와 '이브 온라인', 흔한 경우는 아님.

 

3. 입문부터 프로까지

파이썬 이전에는
입문에서 현업까지
하나의 언어로 커버하는 건
불가능하다 생각했는데..

파이썬을 보면,
프로그래밍 계의
lingua franca(만국 공통어)
같다는 생각도 듭니다.

파이썬을 사용하는 회사

글로벌로는
인스타그램, 드롭박스,
구글, 유튜브,
레딧, 핀터레스트
같은 유명회사도 사용합니다.

국내에선
요기요, 카카오 中 카카오콘,
로켓펀치, 번개장터, 헤이딜러 등
스타트업 위주로 많이 쓰는 편입니다.

어느 정도 성장하면
서비스를 쪼개면서(MSA)
다른 언어로 갈아타는
경우도 꽤 있습니다만...

'파이썬에도
저런 성장을 만들기
충분한 힘이 있다'는 것이
포인트겠죠?

 

4. 파이썬 순위

https://www.zdnet.co.kr/view/?no=20170913005946&re=R_20190424105018
https://www.tiobe.com/tiobe-index/
http://www.ciokorea.com/news/34960
https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019

조사 방법에 따라 1~3위 왔다 갔다 합니다.

넓은 사용자 층이 있어
웬만한 문제는 구글 검색으로 해결 가능합니다.

 

5. 파이썬의 높은 생산성

 

https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1

 

Battery Include
웬만한 건 기본 라이브러리에 포함되어 있습니다.

짧고 정형화된 문법으로 뛰어난 가독성.
요즘 개발자들은 코딩보다 리딩에 더 많은 시간을 쓴다고 합니다.

인스타그램
3명의 엔지니어가 파이썬과 장고로 제작했습니다.
https://charsyam.wordpress.com/2012/04/20/

유튜브
구글이 유튜브를 인수하기 전,
구글 비디오 팀과 유튜브가
경쟁을 했습니다.

구글 비디오가 후발 주자라
유튜브가 새로운 기능을 런칭하면 카피했는데,
구글 비디오가 카피를 끝내기도 전에
유튜브가 새로운 기능을 계속 런칭하는 바람에
GG를 쳤다는 이야기가 있습니다.

구글 비디오팀은 백여 명이나 되었고,
당시 유튜브는 고작 20명 정도의 작은 벤처였는 데 말이죠.

구글 비디오팀은 C++을 이용했고,
유튜브는 파이썬을 이용했다고 합니다.

https://book.naver.com/bookdb/book_detail.nhn?bid=14342080
https://www.reddit.com/r/Python/comments/87jk3l/google_video_vs_youtube_c_vs_python/

 

6. 파이썬의 단점

이렇게 장점만 있다면,
이미 파이썬이 세계 정복을...

파이썬은 멀티 스레드에 약합니다.

초심자가 멀티 스레드 쓸 일이 많지는 않을 겁니다.

스레드를 쓸 일이 많아질 때가 된다면,
다른 언어를 배우는 것도 어렵지 않으실 겁니다.

 

파이썬은 속도가 느립니다.

그러나 웬만한 작업에서
속도 때문에 불편함을 느낄 정도는 아닙니다.

컴퓨터를 더 쓰는 걸로
극복 가능한 경우도 많습니다.

실행 속도의 느림을
빠른 개발 속도가
커버해주기도 합니다.

초기 스타트 업에서
파이썬을 많이 쓰는 이유죠...
이용자가 많지 않아 부하는 적고,
개발해야 될 것은 많고...

 

모바일 개발이 아주 불편합니다.

이건 좀 안타깝습니다.
실드 불가...

주로 웹 서버를 만들어
간접적으로 모바일 (웹)을 지원합니다.

kivy로 만들 수는 있습니다만,
아직 불편한 점이 많습니다.
https://kivy.org

 

7. 추천 서적/웹

예전에 작성한 글입니다.
요즘엔 좋은 책이 너무 많아서...

 

(초급)
점프 투 파이썬 (책/웹)

쉽고 자세한 설명이 필요하다면...

오프라인 책으로도 나와 있고,
아마 파이썬 책 중 판매량으로 1위일 겁니다.
4-500페이지.

인터넷에 공개되어 있습니다.
https://wikidocs.net/book/1

 

(완전 초보)
모두의 파이썬 (책)

'점프 투 파이썬'이 어렵다면,
'모두의 파이썬'을 추천합니다.

아쉽게도 이 책은 온라인으로는 볼 수가 없습니다.
네이버 책 링크를...
https://search.shopping.naver.com/book/catalog/32463987904

 

(다른 언어 경험이 있으신 분)
예제로 배우는 파이썬 프로그래밍 (웹)

파이썬으로 어떤 작업을 할 수 있는지
간단한 예제와 함께 정리되어 있습니다.
내용이 많지 않아 빨리 읽을 수 있습니다.

http://pythonstudy.xyz/Python/Basics

 

(초중급)
파이썬 코딩 도장 (책/웹)

위의 웹/책 보다 좀 더 깊숙한 부분까지 다루고 있습니다만...

깊숙한 부분은 수박 겉핥기......

오프라인 책도 잘 팔리는 것 같더군요.
7-800페이지

인터넷에 공개되어 있습니다.
https://dojang.io/course/view.php?id=7

 

(참고/초급)
씽크 파이썬 (책/웹)

느슨한 느낌이지만
좋은 내용입니다.

인터넷에 공개되어 있습니다.
https://thebook.io/006878/

 

(참고/초중급)
Hello Coding 
그림으로 개념을 이해하는 알고리즘(책)

후반은 어려울 수도 있습니다만. 
그림이 이쁩니다. ㅎㅎ

파이썬2로 작성된 것이 조금 단점. 

print "" 와 print("") 정도의 차이라
크게 다르진 않습니다. 

https://play.google.com/books/reader?id=VPzHDgAAQBAJ&pg=GBS.PP1&hl=ko

 

(참고/초급)
그림으로 배우는 알고리즘 Basic(책)

가벼운 알고리듬 학습은
프로그래밍 언어의 이해에
큰 도움이 됩니다.  

적당한 난이도의 
알고리듬 책입니다. 

알고리듬 책은
무조건 그림있는 걸로 고르세요..

코드가 없는 게 단점. 

https://books.google.co.kr/books?id=ekG9DAEACAAJ

 

(참고/중급)
파이썬 코딩의 기술 (책)

원서명은 이펙티브 파이썬입니다.
이펙티브 자바, 이펙티브 C# 등의 시리즈 물입니다.
제목만 보고 사도 후회 없는 책들이죠.

초급에서 중급으로 넘어갈 때의
필독서입니다.

내용이 많지 않아 읽기도 편합니다.
샘플을 볼 수 있습니다.
https://thebook.io/080235/

 

8. 저의 프로그래밍 언어 학습법

1.
저는 새로운 언어를 공부할 때
얇은 책을 고릅니다.

책을 '대충', '빨리', '끝까지' 읽습니다.

처음부터 완벽할 수 없습니다.
필요할 때 찾을 수 있을 정도로만
머리에 정리합니다.

파이썬은 책을 구입하지 않고
웹을 이용해 공부했습니다.

2.
책만 읽어서는
응용도 안되고
가물가물해지죠.

빨리 실전에 가까운
연습을 해야 하는데,

쉬운(!) 알고리듬 문제들을 푸는 게
저에겐 효과적이더군요.

문자열 다루는 법 + 기본 자료 구조
만 알아도 풀 수 있는 문제

요즘은 알고리듬 문제를 풀 수 있는
좋은 사이트가 많습니다만,

프로그래머스 추천.

입문자는
남의 코드를 볼 일이 많지 않은데..

프로그래머스에선
문제를 풀고 나면
남의 코드를 볼 수 있습니다.

좋은 코드와 나쁜 코드
모두에서 배울 점이 있고,

남에게 나의 코드가 공개되니,
좀 더 Clean한 Code를
쓰려고 노력하게 되더군요.
(파이참으로 옮겨서 문제를 풉니다.)

미션처럼 문제를 풀다 보니,
다른 언어를 공부할 때보다
더 빠르게 학습할 수 있었습니다.

3.
이런 과정을 거지고 나니,
제가 활용하는 수준에서
언어적인 어려움은
거의 없었습니다.  

단. 객체지향의 이해에는
별도의 노력이 필요할 것 같습니다.
(알고리듬 문제 풀이는
비교적 짧은 코드를 많이 다루는데 반해,
객체 지향은
규모가 있는 코드의 작성에 유용한 개념이라... )

이후론,
라이브러리나,
프레임워크들 만지면서,
작은 프로젝트도 하고...

아래 링크를 보면,
재미있는 프로젝트가 많습니다.

https://wikidocs.net/book/2965
https://opentutorials.org/module/3811

4.

모르는 건 구글 검색...

갓 구글~!

코딩 영역에서는
네이버와 구글의
검색 품질의 차이가 큽니다.

 

커뮤니티

파이콘 코리아

매년 파이콘 주최.
유튜브로 볼 수 있음.
https://www.youtube.com/c/PyConKRtube

페이스북 파이썬 코리아

https://www.facebook.com/groups/pythonkorea

생활코딩 사이트

다양한 무료 강좌.
페이스북 생활코딩 그룹 운영.
https://opentutorials.org/course/1

페이스북 생활코딩

페이스북 내 가장 활발한 코딩 커뮤니티.
초보부터 현업 종사자까지 다양한 스펙트럼.
https://www.facebook.com/groups/codingeverybody

 

참고

[번역] 파이썬이 세계를 먹어치우고 있다: 한 개발자의 사이드 프로젝트가 지구에서 가장 핫한 언어가 되기까지

https://www.palindrom615.dev/python-eating-the-world

 

 

반응형