문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Lua (문단 편집) == [[파편화]] == 중요한 Lua 커뮤니티 파편화가 시작되었다. Lua 5.3버전이 64비트 부동소수점 타입[* 요즘 [[C언어|C]]/[[C++]]의 double은 대개 IEEE754표준 64비트 부동소수점 타입.]을 명확히 지원하기 위해서 정수형 타입을 도입한 것이 기존의 Lua코드와 호환성 문제를 일으키게 된 것이다.[* 기본 숫자 타입은 여전히 number 뿐이다. math.type()을 통해서 서브 타입을 확인해야만 64비트 부동소수점 타입인 경우에는 ~~double이라고 할 것이지 헷갈리게~~ float, 정수형인 경우에는 integer라고 구분되어 표시된다.] 게다가 LuaJIT을 개발하고 사실상 혼자 유지보수하던 Mike Pall이 앞의 정수형 문제와 기타 몇 가지 이유를 더 들어 5.3 버전을 공개적으로 크게 비판하고 LuaJIT은 Lua 5.1까지만 지원하고 자신은 더이상 개발에 관여하지 않겠다고 선언해서 문제가 매우 복잡해졌다.[* 이후에 사람들이 대체 maintainer를 [[https://news.ycombinator.com/item?id=9981802|공개모집]]했으나 적당한 사람을 찾는데 실패했다.] 때문에 LuaJIT에 의존해 성능 향상을 꾀하던 대다수의 Lua 라이브러리가 Lua 5.1까지만 지원하고 후속 개발이 진행되지 않는 사태에 이르렀다. 현재 Lua 커뮤니티는 순정 인터프리터로도 충분한 상황의 개발자와, LuaJIT과 기타 라이브러리가 꼭 필요한 개발자들로 양분되어버렸다. [[Python|파이썬]]이 파이썬2와 파이썬3로 나뉘어 파편화가 진행되었던 것과 비견된다.[* 2008년 파이썬3가 발표된 이후에, 파이썬 커뮤니티의 파편화가 성공적으로 봉합되기까지 10년 남짓한 긴 시간이 소요되었다.] Lua가 임베딩용 언어라는 특징과 맞물려 (파이썬의 경우보다도) 파편화가 더 고착화될 가능성도 있는데, 어차피 임베딩이 주 목적인 언어이므로 JIT가 지원되는 5.1만으로도 충분하다는 입장도 있다. 어차피 임베딩 환경에 의존하는 상황에서는 필요한 기능이 환경 자체에서 주어지므로 Lua 수준의 기능 추가는 불필요하며, 오히려 문법이 고정되어 버리는 편이 하위호환성에 더 낫다는 이유.[[https://github.com/neovim/neovim/wiki/FAQ#why-embed-lua-instead-of-x|#]]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기