나의 질문 ..그리고 답변…

이런 질문에….

기존에 C로 되어 있는 Web Crawler를 Python으로 만들려고 합니다.

이유는 기존의 프로그램의 유지보수 어려움및 플랫폼 독립적이지 못한 부분때문에 그렇습니다. (어짜피 리눅스 버젼도 만들어야 된다구 해서요..)

아직 파이썬으로 다시 만들어 본다고 건의는 하지 않은 상황인데 내일 정도 할려고 합니다.
윗분들에게 파이썬의 장점을 어떻게 이야기 하면 수긍을 하실까요?

물론 Google의 웹 로봇도 파이썬으로 만들어 졌다는 이야기도 듣긴 했는데 도대체 굳이 파이썬으로 만든 이유도 잘 모르겠더군요

이런 답변이 붙었다.

저도 파이썬으로 web crawler 를 만들어봤는데 뻔한 장점을 몇가지 꼽아보자면 아래와 같습니다.

1. 만들기 쉽다.
– web crawler 는 웹문서를 받아서 적당히 파싱을 해줘야 하는데 C 에 비해서 이것이 쉽습니다. C 도 뭐 라이브러리(파싱 라이브러리 많죠) 사용하면 되지만 라이브러리 설치 및 사용하는 걸 생각해보면 너무나 귀찮지요. 유연하지도 않고. 거기다가 라이브러리 설치를 고려한 플랫폼 독립성까지 생각해보면.. =_=;; 윗분들에게 일정을 맞추고 싶으면 파이썬을 쓸 수밖에 없다고 협박해 보세요.

2. 유지보수가 쉽다.
– 특정 웹사이트를 긁어오는 web crawler 의 경우 해당 사이트가 리뉴얼이라도 해버리면 다시 고쳐서 사용해야 합니다. C 로 하게 되면 고치기도 어렵고, 컴파일도 새로 해야 하고 무진장 귀찮지요.

3. C 로 짠 것과 성능 차이가 별로 나지 않는다.
– 파이썬의 단점이라면 느린 속도겠지요. 윗분들도 ‘성능’ 이라고 하면 무척 중요하게 생각할 겁니다. web crawler 의 경우 network io 가 bottle neck 이 되지 처리하는 procedure 가 bottle neck 이 되지는 않습니다. C 로 짜나 파이썬으로 짜나 처리속도는 거의 비슷할 겁니다. 닭 잡는 일에 소 잡는 칼을 쓸 필요는 없겠지요.

CC BY-NC 4.0 나의 질문 ..그리고 답변… by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.