Basit: Lua'nın Python'dan daha fazla "niş" amacı var .
Python'un genel bir programlama dili olarak faydalı olduğu düşünülmektedir. Yani, birçok durumda yararlıdır. Bilinen birçok uygulama türünü kapsar, ancak belirli kısıtlamaları hedef alabilecek diğer dillerle doğrudan rekabete girmez, ancak sözdiziminin basitliği.
Lua tamamen gömülü bir betik dili olmayı hedefliyor. Yapı sistemleri gibi şu anda başka bağlamlarda da kullanılsa bile, başlangıç amacı budur; yazılıma gömülmek ve alana özgü komut dosyası işlevlerinin ve yapılarının kolay uygulanmasını sağlamaktır. O kadar minimalist ki, gerçekten kısıtlanmış donanımlarda bile kullanılabiliyor (NintendoDS'de Lua kullandım), hafif, kullanımı kolay, HIZLI ve böyle bir minimalist dildir, ancak çok sayıda lehçenin (paradigmaları ithal etmek gibi) genişletileceği düşünülmektedir. nesne yönelimi) mevcuttur. O kadar taşınabilir ki (ANSI C) modern gömülü yazılım için yeterli miktarda belleğe sahip herhangi bir gömülü donanımda kullanabilirsiniz (eğer hatırlarsam varsayılan lua vm 400ko civarındadır ve nesne oluşturmazsanız neredeyse hiç büyümez) ...).
Bu nedenle, Lua başlangıçta uygulamanız için bir betik dili yerleştirmeniz gereken bağlamda kullanılır .
Python ... daha niş bir dil gerektirmeyen hemen hemen her şey için kullanılır (Python kullanarak oldukça iyi performans gösteren oyunlar yapabilirsiniz, ancak bir tür performans ağırlıklı oyunlar gerçekten bu tür bir sistemden kaçınmayı gerektirir).
Basitçe Python Lua'dan daha fazla bağlamda kullanılıyor. Bildiğim kadarıyla, Android dışında (Java ve anadili desteği sağlayan), Google yerleşik bir yazılım şirketi değil, dolayısıyla her yerde gerçekten Lua'ya ihtiyaç duymazlar, Python ise yaptıkları her şey için faydalıdır (web, sistem oluşturma) , iletişim, web ve web).
Python, gömülü komut dosyaları için de birçok oyunda kullanılır, ancak Lua'dan daha ağır ve yavaştır. Python'un sözdizimi, oyun yapılarında kodlanmış bilgilere çok güvenen büyük oyunlar için daha uygun kılar (orada açık olduğumdan emin değilim ama sadece komut dosyası yazmak için "tam bir dile" ihtiyacınız varsa, Python'u gömmek olabilir. iyi bir fikir, eğer performans sizin için uygunsa). Python gömülmek için yapılmamıştı, bu yüzden sorun değil. C ++ 'a gömülmeyi hedefleyen Python eşdeğeri Falcon'dur.
Aşırı karşılaştırma için, katıştırmayı hedefleyen ve minimalist Lua'dan daha tam sözdizimine sahip olan ve performansta rekabet eden bazı diller: ChaiScript, AngelScript, Io ...
Bu arada, PreMake veya Bam gibi yeni derleme sistemlerinin derleme dosyası dili olarak Lua kullandığını gördüm. Buradaki fikir, hafif olması ve oyun geliştiriciler tarafından iyi bilinmesidir (oyun geliştirmede sistemleri kurmak büyük bir sorundur). Belki de, Lua'nın daha fazla takdir edilebileceği başka bir alan. Kesinlikle CMake sözdiziminden daha kullanıcı dostu.