- Mojo Docs : https://docs.modular.com/

 

Modular Docs

We’re excited to share an early preview of the Modular compute and AI infrastructure stack.

docs.modular.com

- Mojo git : https://github.com/modularml/mojo

 

GitHub - modularml/mojo: The Mojo Programming Language

The Mojo Programming Language. Contribute to modularml/mojo development by creating an account on GitHub.

github.com

 

1. Python의 상위 호환(superset)이다.
2. AI 프로그래밍의 불편함을 해소하고자 시작된 프로젝트이다.
3. C++, Rust 등 low 언어 문법과 (high) Python 문법이 혼합되어 있으며(let, var, struct, 메모리 관리 기법 등),
   아직 Python 문법을 100% 지원하지는 않는다.
4. Python에서 함수 정의를 위해 사용하는 def 대신 좀더 strict한 fn을 제공한다.
    서로 기능은 동일하나, fn 이 def보다 좀 더 limited, controlled 하다고 한다. input, output의 타입은 필수로 명시하는 등.

struct Complex:
    var re: Float32
    var im: Float32

    fn __init__(inout self, x: Float32):
        """Construct a complex number given a real number."""
        self.re = x
        self.im = 0.0

    fn __init__(inout self, r: Float32, i: Float32):
        """Construct a complex number given its real and imaginary components."""
        self.re = r
        self.im = i


5. Python 대표 모듈은 당연히 사용가능하게끔 지원한다. NumPy, Pandas 등

 

문서에 나온 예제를 보면 언뜻 다음 느낌을 받을 수 있는데, 물론 자세한 것은 아니고 느낌이 그렇다는
ㅇ 파이썬이 가지고 있는 강점은 살리면서,
- 쉬운 문법, 사용자를 바라보는 철학, 다른 라이브러리와의 비교적 쉬운 혼합(binding)
ㅇ 파이썬에 존재하는 본질적인 단점을 해결하는 느낌이다.
- 시스템 프로그래밍, 타언어에 비해 불안정적인 배포

 

Docs에 매우 자세하게 많은 것들이 설명돼있으니 시간을 가지고 천천히 전부 읽어보면 도움이 많이 될 것 같다.

물론 아직 신규 언어라 다른 언어 문서에 비하면 내용이 적다고 생각할 수 있지만 기본적으로 파이썬과 C 언어를 읽을 수 있으면, 전부 이해할 수 있을정도로 쉽게 설명해놓았다.

뭔가 다른 언어에 파이썬이 겹쳐있는 느낌이라 매우 흥미롭게 느껴진다. 시간이 지날수록 Mojo가 어떻게 될지, Python은 어떻게 반응할지 엄청 궁금해지는 바이다.

'# 기타 공부한 것들 > Mojo' 카테고리의 다른 글

Mojo 다운로드 신청  (0) 2023.08.26