To bardzo zależy jakiego rodzaju problem chcesz rozwiązać. Jeśli chcesz rozwiązywać problemy z użyciem sieci neuronowych, potrzebna jest Ci maksymalna szybkość wykonania, wtedy najczęściej C++ lub... "wygrzana" Java. Jeśli masz problem proof of concept, potrzebujesz szybkiego napisania prototypu, wtedy raczej Python. Jeśli to przetwarzanie tekstu to bywa że lisp. Jak problemy dowodzenia i logika to Prolog. Jak algorytmy genetyczne, znów pierwsze wymienione z języków.
Lua raczej służy do "zlepiania" istniejących części aplikacji, automatyzacji w grach i np. pisania logiki NCP'ów.
Określ jaki temat Cię interesuje...