<figure class="image image_resized" style="width:100%;"><a href="https://www.wishket.com/crsr/?next=/w/EaN4AhXVQN/&referer_type=7110000705"><img src="https://yozm.wishket.com/media/news/1608/%EC%9C%84%EC%8B%9C%EC%BC%93_%EC%A0%84%ED%99%98_%EB%B0%B0%EB%84%88.png"></a></figure><p style="text-align:justify;"> </p><p style="text-align:justify;">본문은 요즘IT와 번역가 Mr.P가 함께 만든 해외 번역 콘텐츠입니다. 이 글을 작성한 Frank Andrade는 데이터 과학 및 프로그래밍 기술에 관한 다양한 글을 업데이트하고 있으며, 총 400만이 넘는 누적 조회수를 기록할 정도로 인기 에디터입니다. 이번 글은 파이썬이 느리다는 편견이 왜 불필요한 논쟁인지 설명하는 내용입니다.</p><div class="page-break" style="page-break-after:always;"><span style="display:none;"> </span></div><figure class="image image_resized" style="width:100%;"><img src="https://yozm.wishket.com/media/news/1608/image001.jpg" alt="파이썬 거북이"><figcaption><출처: Shutterstock></figcaption></figure><p style="text-align:justify;"> </p><p style="text-align:justify;">예, 파이썬은 아마 느릴 겁니다. 그래도 우리는 여전히 잘 사용하고 있습니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">저는 살면서 다음 문장을 얼마나 많이 들어봤는지 셀 수조차 없습니다.</p><p style="text-align:justify;"> </p><h4 style="text-align:center;"><i><strong>“파이썬은 느린 속도의 프로그래밍 언어입니다”</strong></i></h4><p style="text-align:justify;"> </p><p style="text-align:justify;">이는 사실일지도 모릅니다. 실제로 파이썬은 자바(Java)나 C++에 비교하면 느린 축에 속합니다. 그러나 사실 실제 응용 프로그램 개발(적어도 모든 단계에서는 아닙니다)이나 소규모 프로젝트에서 속도가 가장 우선순위가 되는 부분은 아닙니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">몇몇 사람들은 파이썬이 얼마나 느린지 영원히 깨닫지 못할지도 모릅니다. 몇몇 실제 응용프로그램에서는 0.01초와 0.1초 그리고 1초의 실행 시간이 아무런 차이가 없기 때문입니다. 파이썬이 느리거나 말거나 신경을 쓸 필요가 없는 이유를 지금부터 알아봅시다.</p><p style="text-align:justify;"> </p><h3 style="text-align:justify;"><strong>0.01초, 0.1초, 1초가 그 어떠한 차이도 만들어내지 못합니다</strong></h3><p style="text-align:justify;">저는 지금까지 속도를 가장 우선순위로 하는 프로젝트에 참여해왔습니다. 애플리케이션이 느리다면 아마 고객을 잃을 수도 있었습니다. 그러나 모든 단일 애플리케이션이 ms 단위의 실행 시간을 보장해야 하는 것은 아닙니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">몇몇 경우에서, 개발 속도는 프로그램의 실행 속도보다 더 중요합니다. <a href="https://engineering.atspotify.com/2013/03/how-we-use-python-at-spotify/">왜 스포티파이가 파이썬을 사용하는지</a>에 대해 링크를 통해 확인해보세요.</p><p style="text-align:justify;"> </p><blockquote><p style="text-align:justify;"><i><strong>속도는 스포티파이에 있어서 중요합니다. 파이썬은 개발 속도에 있어서 큰 이점이 있기 때문에 이러한 우리의 신념에 잘 맞습니다.</strong></i></p></blockquote><p style="text-align:justify;"> </p><p style="text-align:justify;">다른 경우에서도 응용프로그램의 퍼포먼스는 개발을 완료하는 것 자체보다 중요하지 않습니다. 예를 들면, 파이썬은 자동화에 있어서 가장 인기 있는 언어입니다. 자동화하고 싶은 업무가 생기면, 스크립트가 0.1초가 걸리든 1초가 걸리던 문제가 되지 않습니다. 가장 중요한 것은 자동화 스크립트를 작성하는 데 걸리는 시간입니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">여전히 언제나 빠른 실행 속도가 제일 중요하다고 생각하신다면 다음 예시를 같이 보겠습니다.</p><p style="text-align:justify;"> </p><figure class="image image_resized" style="width:100%;"><img src="https://yozm.wishket.com/media/news/1608/image003.jpg" alt="SSC 투아타라"><figcaption><출처: Unsplash></figcaption></figure><p style="text-align:justify;"> </p><p style="text-align:justify;">구글에 따르면, SSC 투아타라(SSC Tuatara)는 316.11 mph의 속도를 가진 세계에서 가장 빠른 자동차입니다. 그래서 모든 사람이 SSC 투아타라를 운전할까요? 그럴 리가요.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">대부분 사람이 SSC 투아타라를 구매하지 않는 이유는 비단 가격뿐만이 아닙니다. 세계적으로 가장 많이 팔린 자동차는 도요타의 코롤라입니다. 왜냐하면 그것은 실용적이며 사용하기 쉽고, 큰 불편함 없이 운행을 마칠 수 있기 때문입니다. 저는 여러분이 SSC 투아타라에 대해 위와 같은 말을 할 수 없다고 확신할 수 있습니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">반면 파이썬은 도요타 코롤라와 비슷하다고 말할 수 있습니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;"> </p><h3 style="text-align:justify;"><strong>파이썬은 빠른 확장을 도와줍니다</strong></h3><p style="text-align:justify;">파이썬은 가독성이 좋고, 작성 또한 쉽기 때문에 배우기도 쉽습니다. 플랫폼 간 지원을 생각하면 파이썬은 빠른 확장을 위한 좋은 선택지가 될 것입니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">어느 드롭박스(Dropbox) 엔지니어는 그들의 플랫폼을 위해 <a href="https://www.pythonpeople.nl/how-python-powers-dropbox/">왜 굳이 파이썬을 채택했는지</a> 링크 속 글을 통해 설명했습니다.</p><p style="text-align:justify;"> </p><blockquote><p style="text-align:justify;"><i><strong>플랫폼 간 지원성, 좋은 가독성, 배우기 쉬운 점, 파이썬의 이러한 강점들이 드롭박스의 빠른 확장을 위해서 꼭 필요했습니다. 파이썬을 통한 기민한 개발 사이클은 구현과 테스트 그리고 새 기능 배포에 있어서 중대한 요소입니다.</strong></i></p></blockquote><p style="text-align:justify;"> </p><p style="text-align:justify;">오늘날 드롭박스는 Go와 Rust 같은 다른 프로그래밍 언어에도 의존합니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">이것은 굳이 한 프로그래밍 언어만을 고집할 필요가 없는 것을 보여줍니다. 실제로 대부분의 대형 응용프로그램은 한 가지 이상의 언어로 작성되었습니다. 즉, 여러분이 선호하는 언어가 대부분의 대형 응용프로그램에서 독점적으로 사용되지 않습니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;"><a href="https://engineering.atspotify.com/2013/03/how-we-use-python-at-spotify/">스포티파이</a>와 <a href="https://brainsik.net/2009/why-reddit-uses-python/">레딧</a>도 파이썬을 그들의 백엔드에서 사용합니다. 그러나 그들은 다른 언어 또한 함께 사용합니다. 스포티파이의 백엔드는 ZeroMQ를 통한 자체 메시지 프로토콜로 연결된 상호 의존적인 서비스들로 이루어져 있습니다. 그중 대략 80%의 서비스가 파이썬으로 작성되어 있습니다.</p><p style="text-align:justify;"> </p><blockquote><p style="text-align:justify;"><i><strong>일반적으로 파이썬으로 작성되지 않은 서비스들은 자바로 작성되나 우리는 C와 C++를 사용하기도 합니다.</strong></i></p></blockquote><p style="text-align:justify;"> </p><p style="text-align:justify;">파이썬은 아마도 빠른 퍼포먼스를 보여줘야 하는 프로그램의 중요한 부분에 사용되지 않을 것입니다. 그러나 그것이 파이썬의 가치를 폄하할 수는 없습니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;"> </p><h3 style="text-align:justify;"><strong>일부 분야에서 프로그래밍은 목적을 위한 수단에 불과합니다</strong></h3><p style="text-align:justify;">파이썬은 컴퓨터 과학과 관련이 없는 많은 분야에서도 사용됩니다. 아마도 파이썬은 통계학자, 데이터 과학자, 데이터 분석가, 관리자, 그 밖에 다른 분야의 사람들을 위한 첫 번째 언어일 것입니다. 왜 그럴까요? 간단합니다. 파이썬은 비전공자 프로그래머들이 가장 접근하기 쉬운 언어이기 때문입니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">컴퓨터 과학이 아닌 다른 분야의 전문가들에게 있어서 프로그래밍을 배우는 것은 CPU 런타임이나 코드의 실행 속도에 관한 것이 아니라 오직 작업을 완료하기 위해서 코딩하는 방법을 배웁니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">데이터 분석가나 과학자는 수백 줄의 코드를 유지 보수할 필요가 없습니다. 메모리 관리나 효율성을 걱정할 필요도 없고, Git[1]을 통해 일할 필요도 없습니다. 실제로 그들에게 있어서 모델의 성능과 분석이 더 중요합니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">파이썬과 함께라면 당신은 굳이 이미 있는 걸 새로 만들 필요는 없습니다. 파이썬 생태계에는 비전공자 프로그래머들이 쉽게 작업을 완료할 수 있도록 도와주는 수백 개의 프레임워크가 존재합니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">데이터 분석을 원하십니까? Pandas나 Numpy를 사용해보세요.</p><p style="text-align:justify;">웹 개발을 하고 싶으신가요? Flask가 존재합니다.</p><p style="text-align:justify;">머신 러닝의 구현이 필요하시나요? Sklearn, 혹은 Tensor Flow를 사용할 수 있습니다.</p><p style="text-align:justify;"> </p><p style="text-align:justify;">파이썬 라이브러리 숫자는 점점 늘어가고 있고, 이에 따라 굳이 원하는 기능을 처음부터 개발할 필요가 없습니다. 때때로 사업에 있어서 이것은 좋은 일입니다. 이런 기능을 개발할 수 있는 전문가들의 급여는 작업을 수행하는데 필요한 도구 및 구성 요소보다 더 비싸기 때문입니다.</p><hr><p style="text-align:justify;">[1] 코드를 협업, 관리하기 위해 존재하는 소스 코드 버전 관리 툴</p><p style="text-align:justify;"> </p><p style="text-align:justify;"><원문></p><p style="text-align:justify;"><a href="https://medium.com/geekculture/in-defense-of-python-is-slow-85cf38cb1a9e">In Defense of “Python is Slow”</a></p><p style="text-align:justify;"> </p><p style="text-align:center;"><span style="color:#999999;">위 번역글의 원 저작권은 Frank Andrade에게 있으며, 요즘IT는 해당 글로 수익을 창출하지 않습니다.</span></p>