Просто: у Lua більше "нішевих" цілей, ніж у Python .
Вважається, що Python є корисним як загальна мова програмування. Отже, це корисно у багатьох випадках. Він охоплює багато відомих типів додатків, але не вступає безпосередньо в конкуренцію з іншими мовами, які можуть бути націлені на конкретні обмеження, але простота його синтаксису.
Lua цілком орієнтований на вбудовану мову сценарію. Початкова мета, навіть якщо вона використовується в інших контекстах, як, наприклад, системи побудови; має бути вбудованим у програмне забезпечення та дозволити легку реалізацію функцій та структур скрипта для домену. Він настільки мінімалістичний, що його можна використовувати навіть на дуже обмеженому обладнанні (я використовував Lua на NintendoDS), він легкий, простий у використанні, швидкий, і така мінімалістична мова, але вважається розширеним, що багато діалекту (імпорт парадигм, як об’єкт-орієнтація) доступні. Це настільки портативний (ANSI C), що ви можете використовувати його на будь-якому вбудованому апаратному забезпеченні з пристойним об'ємом пам'яті для сучасного вбудованого програмного забезпечення (якщо я добре пам’ятаю, за замовчуванням lua vm становить близько 400 К і майже ніколи не зростатиме, якщо ви не циклічно створюєте об'єкти ...).
Отже, Lua спочатку використовується в контексті, де потрібно вбудувати мову сценарію для своєї програми .
Python використовується для ... майже всього, що не потребує більш нішевої мови (ви можете робити досить ефективні ігри, використовуючи Python, але деякі важкі для продуктивних ігор дійсно вимагають уникати такої системи).
Просто Python використовується в більшій кількості, ніж Lua. Наскільки я знаю, окрім Android (який надає підтримку Java та рідної мови), Google не є вбудованою програмною компанією, тому Lua їм не потрібен всюди, а Python корисний для всього, що вони роблять (веб, система побудови , спілкування, веб та веб).
Python використовується в багатьох іграх і для вбудованих сценаріїв, але він важчий і повільніше, ніж Lua. Синтаксис Python робить його більш підходящим для великих ігор, які багато покладаються на скриптовану інформацію в їхній ігровій структурі (не впевнений, що я там зрозумілий, але просто думаю, що якщо вам потрібна "справжня повноцінна мова" для сценаріїв, вбудовування Python може бути гарна ідея, якщо вистава для вас прекрасна). Python не був зроблений для вбудовування, тому це добре. Еквівалент Python, який спрямований на вбудовування в C ++, - Falcon.
Для кращого порівняння, деякі мови, націлені на вбудовування та намагаються мати більш повний синтаксис, ніж мінімалістичний Lua, і змагаються за продуктивність: ChaiScript, AngelScript, Io ...
До речі, я бачив нові системи збирання, такі як PreMake або Bam, використовують Lua як мову файлів збірки. Ідея полягає в тому, що він легкий і добре відомий розробникам ігор (головна проблема - побудова систем у розробці ігор). То, можливо, це ще один домен, де Lua може бути більш вдячний. Це, звичайно, більш зручно для користувачів, ніж синтаксис CMake ....