파이썬의 장점은 거의 자유도에서 온다고 생각하면 될거 같음.
가령 json을 자바나 c++에서 다루려면 꽤 짜증나게 해야하는데 python은 그런걸 생각할 필요가 없음
그렇다고 해서 js처럼 이기능저기능 막넣은것도 아니고 깔끔하게 디자인 되어있고
인터프리터 언어들이 그런 경향이 있지만 타입체크안하고 덕타이핑 가능.
따라서 데이터 타입이 아주 유동적인 웹 크롤링이나 데이터사이언스를 할 때 꽤 유리함.
그리고 언어의 속도에는 어느정도 함정이 있는게 파이썬의 코어 기술들은 C언어로 구현되어있는게 많아서
스크립팅이 길지 않다면 속도면에서 되게 손해를 보지는 않음.
만약 내부까지 다 파이썬이였다면 텐서플로우나 파이터치같은거는 성립할수 없겠지. 아주아주아주 느릴 테니까.
C 로 컴파일한 shared object 와 쉽게 붙일 수 있고, 무엇보다 가독성이 아주 좋습니다. 많은 사람들이 프로그래머는 "프로그램을 짜는 사람"이라는 측면에서만 생각하는데, 물론 본업은 그거지만 프로그래머는 외부인이 작성한 코드건 다른 팀원이 작성한 코드건 자기가 작성한 코드건, 코드를 읽는 시간 쪽이 프로그램을 짜는 시간보다 압도적으로 길게 마련입니다. 언어의 '쉬움'은 writing의 쉬움 뿐만 아니라 reading의 쉬움을 굉장히 중요하게 고려해야 합니다. 그리고 프로그램의 길이가 길다는 건 그 자체로 가독성을 심각하게 떨어뜨리기 때문에, 간결하게 코드를 작성할 수 있다는 점도 생각보다 결정적인 요소에 들어갑니다.
여러 측면이 있는데, 데이터 분석 같은 경우에는 콘솔 하나 딱 띄워서 인터프리터에서 필요한 패키지 임포트하고, 데이터 즉석에서 만지고, 뽑은 데이터 확인하고... 같은 일을 seamless하게 할 수 있는 환경을 제공해준다는 점이 있겠네요.
물론 별도의 데이터 분석용 패키지 소프트웨어가 없는 것은 아니었지만, 그런 패키지는 기본적으로 개발 도구가 아니기 때문에 기존의 다른 언어로 만들어진 모듈과 인터페이싱을 한다거나 하는 일이 쉽지 않았죠.
파이썬의 경우에는 다른 언어로 개발된 소프트웨어 모듈에 파이썬으로 인터페이싱 가능한 모듈을 만들어 붙이는 법이 쉬운 편에 속했습니다. 이 때문에 외부의 라이브러리를 파이썬으로 빠르게 이식해서 편리하게 사용할 수 있게 되었죠.
이런 특성 때문에, 어플리케이션의 성능보다 당장의 아이디어를 빠르게 구현하고 확인해보는 것이 더 중요한 분야에서 사람들이 널리 사용하게 되었고, 현재는 이렇게 되었습니다.
그리고 속도라는 것은, 사실 런타임 속도가 시스템의 전체 성능을 결정하는 것은 아니니까요.
언어의 설계에서 오는 근본적인 문제를 무시할 수는 없기 때문에 (예: GIL), 주어진 조건에 따라 맞는 툴을 사용하면 되죠 :)
문법의 간단함은 정량적으로 재긴 어렵지만, 여러 가지를 고려하면 파이썬이 문법의 간결함에서 항상 최고라고 말하기도 어렵습니다. Go나 scala 등이 필드에서 쓰이고 있는 걸 보면 알 수 있죠. 물론 파이썬만큼의 지분을 갖고 있진 않지만요.
장점이 너무 커서 단점이 다 가려지는 희한한 언어.
장점: 작동 환경구축이 쉬운편, 라이브러리 도입이 쉬움 (conda, pip 등). 라이브러리 종류가 충실해서 from scratch 부터 뭔가 만들기는 편함,
단점: 언어자체가 구조프로그래밍 하기 적절하지 않음. 아무리 깔끔히 리팩터링 하려해도 코드는 여전히 쓰레기. 스코프 개념이 불분명. 또한, 개나 소나 손대는 통에 코드 퀄리티가 전반적으로 개판임