왜 파이썬이 구글의 지원을 받아 인기가 높아졌고 루아는 그렇지 않습니까?
루아가 왜 배경에 머물 렀는지 아십니까?
yield
) 에서 일류 시민으로 왔으며 Lua는 더 번거로운 설정이 필요합니다. 파이썬의리스트 인덱싱 [::]
은 큰 장점입니다. 파이썬에는 합법적 인 클래스와 상속이 있습니다. 루아는 더 빠르지 만 실제로 속도가 중요한 경우 파이썬에서 사용할 Go 코드를 작성하는 것이 좋습니다.
왜 파이썬이 구글의 지원을 받아 인기가 높아졌고 루아는 그렇지 않습니까?
루아가 왜 배경에 머물 렀는지 아십니까?
yield
) 에서 일류 시민으로 왔으며 Lua는 더 번거로운 설정이 필요합니다. 파이썬의리스트 인덱싱 [::]
은 큰 장점입니다. 파이썬에는 합법적 인 클래스와 상속이 있습니다. 루아는 더 빠르지 만 실제로 속도가 중요한 경우 파이썬에서 사용할 Go 코드를 작성하는 것이 좋습니다.
답변:
나는 Lua를 정말 좋아하지만 실제로는 약간의 제한이 있으며, 다른 사람들이 언급했듯이 Lua의 기원에서 구성 파일 언어로, 나중에는 내장 스크립팅 언어로 파생됩니다.
Lua를 작게 유지하려는 목표로 인해 베어 본 기능 만있는 매우 작은 표준 라이브러리 만 있습니다.
이로 인해 루아 개발자들은 루아 개발자들이 보편적으로 수용되는 핵심 라이브러리 세트에서 공동 작업하는 대신 다른 많은 언어의 표준 라이브러리 자체에서 제공하는 기능을 다시 구현하기를 원합니다.
멀티 스레딩, 정규 표현식, 플랫폼 독립적 인 파일 액세스 방법, 심지어 비트 연산 (5.2까지)은 Lua를 훨씬 더 크고 느리게 만들기 때문에 "포함되지 않은"것입니다. 물론 라이브러리가 이러한 작업을 수행 할 수는 있지만 독립적 인 관리자와 품질 수준이 있습니다.
내가 틀리지 마 나는 방금 열거 한 것과 같은 이유로 루아를 좋아합니다.
단순성 : Lua는 Python보다 "틈새"목표가 더 많습니다 .
파이썬은 일반적인 프로그래밍 언어로 유용하다고 생각됩니다. 따라서 많은 경우에 유용합니다. 잘 알려진 많은 유형의 응용 프로그램을 다루지 만 특정 제약 조건을 대상으로하는 다른 언어와 직접 경쟁하지는 않지만 구문의 단순성입니다.
Lua는 완전히 내장 된 스크립팅 언어를 목표로합니다. 현재 빌드 시스템과 같은 다른 컨텍스트에서 사용 되더라도 초기 목적입니다. 소프트웨어에 내장되고 도메인 별 스크립트 기능 및 구조를 쉽게 구현할 수 있어야합니다. 그것은 매우 미니멀리스트이므로 실제로 제한된 하드웨어에서도 사용할 수 있습니다 (NintendoDS에서 Lua를 사용했습니다). 객체 지향)을 사용할 수 있습니다. 휴대 성이 뛰어나 (ANSI C) 최신 임베디드 소프트웨어를 위해 적절한 양의 메모리가있는 임베디드 하드웨어에서 사용할 수 있습니다 (기억을 기억한다면 기본 lua vm은 약 400ko이며 객체 생성을 반복하지 않으면 거의 커지지 않습니다. ...).
따라서 Lua는 처음에 응용 프로그램의 스크립팅 언어를 포함해야하는 상황에서 사용됩니다 .
파이썬은 거의 틈새 언어를 필요로하지 않는 거의 모든 용도로 사용됩니다 (파이썬을 사용하여 성능이 좋은 게임을 만들 수는 있지만 성능이 많은 게임은 실제로 그러한 시스템을 피해야합니다).
단순히 파이썬이 루아보다 더 많은 맥락에서 사용된다는 것입니다. 내가 아는 한, Java (모국어 및 모국어 지원을 제공하는 Android) 이외의 Google은 임베디드 소프트웨어 회사가 아니기 때문에 실제로 모든 곳에서 Lua가 필요하지 않지만 Python은 자신이하는 모든 작업 (웹, 빌드 시스템)에 유용합니다. , 커뮤니케이션, 웹 및 웹).
파이썬은 임베디드 스크립팅을 위해 많은 게임에서 사용되지만 루아보다 무겁고 느립니다. 파이썬의 문법은 게임 구조에서 스크립트 정보에 의존하는 큰 게임에 더 적합합니다 (확실하지는 않지만 스크립트에 "실제로 완전한 언어"가 필요하다면 파이썬을 포함시키는 것이 좋습니다. 성능이 좋으면 좋은 아이디어입니다). 파이썬은 내장되지 않았으므로 괜찮습니다. C ++에 포함되는 것을 목표로하는 Python과 동등한 기능은 Falcon입니다.
극단적 인 비교를 위해, 임베디드를 대상으로 미니멀리스트 루아보다 더 완전한 구문을 가지고 성능에 경쟁하는 일부 언어 : ChaiScript, AngelScript, Io ...
그건 그렇고, PreMake 또는 Bam과 같은 새로운 빌드 시스템이 Lua를 빌드 파일 언어로 사용하는 것을 보았습니다. 아이디어는 그것이 게임 개발자들로부터 가볍고 잘 알려져 있다는 것입니다 (게임 개발의 빌드 시스템은 큰 문제입니다). 아마도 Lua가 더 높이 평가 될 수있는 또 다른 영역 일 것입니다. CMake 구문보다 확실히 사용자 친화적입니다 ....
Lua로 모든 것을 할 수 있습니다. 프로그램을 확장하기위한 스크립트 언어로 만들어 졌습니까? 그렇습니다. 그러나 그것에 국한되지는 않지만 Lua에 대한 많은 라이브러리가 있으며 올바른 도구 (LuaJIT의 FFI 또는 tolua)를 사용하면 C / C ++ 라이브러리를 사용할 수도 있습니다. 내 관점에서 파이썬을 더 많이 사용하는 이유는 나이 뿐이며, 많은 대학과 학교에서 파이썬을 첫 번째 언어로 사용하고, 루아보다 파이썬을 아는 사람들이 더 많으며, 파이썬을위한 좋은 라이브러리를 훨씬 쉽게 찾을 수 있습니다 언어가 더 성숙하기 때문에 루아보다. 또한, 나는 파이썬에 대해 많이 알지 못하지만, 아는 한, 최종 사용자로부터 코드를 쉽게 숨길 수 있습니다. 루아에서는 무엇이 쉽지 않습니까?