` 1

몇일 간격으로 Modular 를 모니터링하긴 하는데,

1.0v 처럼 오피셜은 아니지만 0.1.0v으로 곧 local 환경에서 만날 날은 진짜 얼마 안남은 것 같다

https://www.modular.com/

 

Modular: AI development starts here

The worlds fastest unified AI execution engine, a new programming language for all of AI and the most cost effective and performant compute platform.

www.modular.com

 

관심있으면 이메일을 등록해두고, Docs를 읽어보자. 그것과 더불어 아래 Keynote는 천천히 보다보면 재밌다. 만든 사람이 직접 브리핑하기도 하고..

https://www.modular.com/keynotes/2023

 

2023

The worlds fastest unified AI execution engine, a new programming language for all of AI and the most cost effective and performant compute platform.

www.modular.com

 

문서같은 경우는 확실히 초반에 개발이 바빠서인지는 몰라도 전반적으로 언어에 대한 설명이 부족했는데,
그때의 Docs랑 지금 Docs는 완전히 다른 차원이라는 것은 몸소 느껴진다.

지금까지 봐온 새롭게 만들어진 언어들이 그랬듯이 이제 머지않아 공식 Docs가 생기고, 핵심 언어의 번역 프로젝트도 시작되지 않을까 생각한다.

위에 말이랑 비슷하지만 Docs가 모습을 갖춘다는 것은 이제 곧 공식적으로 된다는 것을 의미하는 것 같고, 마치 예전 TensorFlow를 보는 것 같아서 굉장히 느낌이 새롭다

- 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