Rust로 만든 오픈소스 Wolfram Language 재구현체 Woxi, Show HN 등장
- Woxi는 Rust로 구현된 Wolfram Language(Mathematica) 인터프리터로, 브라우저에서 WebAssembly로 완전히 로컬 실행되며 데이터를 서버로 전송하지 않음
- 플레이그라운드, CLI 도구(
woxi eval), Jupyter 커널(JupyterLite 지원), 네이티브 노트북 에디터 Woxi Studio 등 여러 프론트엔드를 제공함 - 6개월 전 첫 Show HN 공개 이후 7,000건 이상 커밋이 추가되며 기능이 대폭 확장됨
- 적분 라이브러리 Rubi가 대부분 동작하지만 성능 최적화는 아직 진행 중이라고 개발자가 밝힘
- Woxi Studio는
.nb파일을 편집하고.ipynb, Markdown, LaTeX, Typst, PDF로 내보내는 기능을 지원함
Hacker News opinions
이거 6개월 전에도 올라온 적 있는데, 그 뒤로 커밋 7000개 넘게 추가하고 기능도 엄청 늘렸다고 개발자가 답함
Rubi 라이브러리 돌아가냐고 물었는데, 대부분 동작한다고 하고 성능은 아직 개선 중이라고 함
오픈소스가 진짜 새로운 걸 만들기보다 기존 상용 제품 베끼기만 하는 거 아니냐, Wolfram이 문법을 그렇게 잘 만든 거냐는 의문 제기함
그 말에 개발자가 답함: WL이 80~90%는 제대로 했다고 생각해서 재구현하는 거고, Python/Julia 같은 대안 쓰는 게 싫어서 만드는 거임. 나중에 더 나은 UX의 대체 문법도 고민 중이라고 함
재구현 비판에 대한 반박: 유료 상품이 존재한다는 거 자체가 수요를 증명하는 거고, 재구현이든 완전히 새로운 거든 다 좋은 거 아니냐
다른 반박: Wolfram 언어는 고객 묶어두는 락인 장치고, 이건 거기서 빠져나오는 다리 역할일 뿐임
원 비판에 대한 답: 무에서 유를 만드는 것보다 성공한 걸 베껴서 공짜로 주는 게 훨씬 쉽고 리스크 적어서 그런 거임
30년간 한 사람이 일관된 네이밍 체계를 유지해온 게 진짜 가치라는 의견, 여러 오픈소스 패키지 조합보다 기억하기 편함
SymPy, Sage, Maxima, Xcas랑 비교해봤는데 Sage, Maxima, Woxi만 기대한 답을 줬음. wljs 연동하다가 $VersionNumber랑 $InputFileName 관련 버그 발견함
심볼릭 수학 성능이 어떤지 궁금함, SymPy보다 Mathematica가 훨씬 빨랐던 경험이 있어서 그런지
답변: 대부분 성능 괜찮은데 최적화 안 된 함수도 있고, 이슈 리포트는 환영한다고 함
고등학교 때부터 WL 써왔고 노트북 1275개, 3GB 아카이브 있는데 얼마나 호환되는지 궁금함
out-of-order 실행이랑 % 변수 지원 안 하는 이유는 이해하지만, 과제할 땐 그런 단축키 자주 씀. control systems 모듈 추가해달라는 요청도 있음
Python API가 구조화된 트리를 반환하면 더 좋을 거 같다는 제안, maturin 쓰는 것 같은데 참고할 프로젝트도 공유함