Neko to dynamicznie wpisywany język programowania wysokiego poziomu , oparty na prototypach i opracowany przez Nicolasa Cannasse w ramach prac badawczo-rozwojowych w firmie Motion-Twin .
Neko ma kompilator i maszynę wirtualną ( NekoVM ) z garbage collector ( w tym przypadku Boehm GC ). Kompilator konwertuje źródłowy plik .neko do pliku kodu bajtowego .n , który można uruchomić na maszynie wirtualnej. Neko jest wpisywane dynamicznie, bez ustalonej klasy (programowanie przez prototypy), aby poprawnie wykonać kod, wystarczy użyć odpowiedniego mapowania czasu wykonywania , a nie odpowiedniego mapowania typów. Mówiąc prościej, język, który nie jest oparty na klasach (na przykład C) lub którego klasy są modyfikowalne (dodawanie pól lub funkcji do konkretnej instancji klasy, na przykład w Pythonie lub JavaScript), jest trudno kompilowalny dla JVM, który wymaga stała klasa dla wszystkich obiektów (mapowanie typów), podczas gdy Neko wymaga tylko struktur danych i kodu bez wszechobecnego wpisywania. Dlatego Neko opowiada się za implementacją języków na swojej wirtualnej maszynie; aby skorzystać z FAQ języka: „[...] łatwiej jest zaimplementować nowy lub istniejący język w NekoVM niż w CLR lub JVM , ponieważ nie jest konieczne zarządzanie systemem pisania na wysokim poziomie. Oznacza to również, że różne języki mogą łatwiej współdziałać, ponieważ mają tylko te same struktury danych, a nie te same typy. ”.
W przeciwieństwie do większości obecnych języków skryptowych , Neko musi zostać skompilowane przed wykonaniem. W rezultacie, ponieważ nie jest interpretowany, często jest stosunkowo szybki dla tego typu języka.
Neko zawiera moduł mod_neko ( [1] ) dla serwera WWW Apache . W szczególności umożliwia korzystanie z żądań użytkowników GET i POST:
get_params = $loader.loadprim("mod_neko@get_params",0); $print("PARAMS = "+get_params());