이 문서 내용은 좀 낡았습니다.
60일이나 편집 안된 오래된 망한 문서니 개발 문서인 경우 참고할 때 조심하세요. 최신 정보를 알고 싶으면 게시판에 글 써주세요


목차

1. 서론
2. 개인적인 생각
3. 결론, 요약

1. 서론

Mojo라는 이름을 가진 파이썬과 호환되고(Subset) 파이썬보다 3만 5천배 빠른 언어가 나온다고 한다.

2. 개인적인 생각

하지만 내 아래와 같은 이유로 개인적인 생각에는 회의적이다.
  • 오픈소스로 공개되지 않았다.
  • 정확한 구현 과정을 알 수 없다. 즉 구조에 대한 검증이 이뤄지지 않았으며 제한적인 베타테스트만 진행되고 있다.(추후)
  • 아직 구현 중인 과정이다
  • 아직 심지어 파이썬과 호환 기능도 없는 데 벌써부터 3만 5천배 빠르다고 주장하는 건 아니라고 생각한다.(2) 이미 그리고 파이썬보다 훨씬 빠르고 파이썬이랑 순수 파이썬 코드라면 완전히 호환되는 PyPy도 존재한다.
외부:https://www.simplilearn.com/ice9/free_resources_article_thumb/golang_vs._Python_1.png
(고 언어와 파이썬의 일부 로직 비교, 로직마다 속도 차이가 들쭉날쭉하다)
  • 3만 5천배라는 게 어떤 과정에서 나온 건 지 알 수 없다.
  • 이전에 스위프트도 파이썬보다 220배 빠르다고 블러핑 쳤는데 이건 멀티스레드 기준이다. 파이썬은 멀티스레드를 잘 지원하지 못하므로 당연히 멀티스레드를 이용할 수 있으면 몇 배 빠르다. 그리고 파이썬은 인터프린트 언어이므로 컴파일 언어와 비교하면 당연히 몇 십배 느리다. 그렇게 해서 나온 몇 십배 * 몇 배가 220배 이므로 이는 정확히 같은 환경에서 그 언어보다 빠르다고 말하긴 어렵다.(3)
  • 게다 이것도 어떤 알고리즘과 로직을 쓰느냐에 따라서 천차만별이다. 언어마다 약한 부분이 다 각자 존재한다. 예를 들어 이런 로직에서는 파이썬이 스위프트보다 빠르다 왜냐하면 이런 계산은 파이썬 내부적으로 C를 사용해서 구현되어 있기 때문이다.
  • 파이썬도 이런 많은 리소스가 필요한 작업에는 아예 라이브러리나 내부 함수가 C로 구현되어 있어서 그다지 느리지 않다.
  • 애초에 파이썬은 시스템 프로그래밍이나 대규모 서비스에 최적화된 언어가 아니다. 빠르면 좋긴 하지만 속도가 치명적인 단점이 아니다. 그런 목적이면 C++이나 RustGo를 쓰는 게 나은 선택이다.
  • 이런 비슷한 언어가 이미 있다. CrystalRuby 언어와 거의 비슷한 문법을 쓰지만 컴파일 언어라서 몇 배 빠르다. 하지만 그렇게 유명하지 못하다. 인터프린트 언어와 컴파일 언어는 각각의 장단점이 있다.
  • 그리고 파이썬도 자체적으로 속도 개선 작업 중에 있다. 파이썬 3.11은 3.10보다 많은 로직에서 최소 1.25 ~ 최대 1.6배 빠르다 이후 파이썬에서는 GIL 없이 병렬 스레드도 지원할 계획과 계속 속도 개선할 계획도 잡혀 있다.

3. 결론, 요약

결론적으로는 언제 완성될 지도 모르고 속도가 정말 빠른 지도 알 수 없으며 컴파일 언어와 인터프린터 언어는 각자의 장단이 명확하므로 이는 굉장히 회의적이다.

컴파일 언어면 GoC++이나 Rust 같은 언어와 비교하는 것이 맞는데 괜히 Python이 만만하니까 까내리면서 언어 홍보하고자 하는 것 같아서 사실 파이썬 유저 입장에서 불쾌하다.

출시된 9월 11일 기준에서 봐도 Cython 쓰는 거랑 뭐가 다른 지 모르겠다 여전히 클래스는 지원하지도 않고
(추후) 9월 11일부터 설치 파일이 공개되었다
(2) 5월 21일 기준으로는 아직 클래스도 호환이 안된다. PyPy도 파이썬과 제대로 호환하는 데 거의 몇 년이 걸렸는데 (심지어 기본 문법은 한참 전에 구현했음에도 불구하고) 이걸 하루 아침에 하는 건 절대 불가능하다고 본다
(3) 특히 개발자가 스위프트 개발자여서 더 아리송한 면이 있다