Neko (langage)

Neko (langage)

Neko est un langage de programmation de haut niveau typé dynamiquement, basé sur les prototypes, et développé par Nicolas Cannasse dans le cadre de la R&D au sein de la société Motion-Twin.

Sommaire

Concept

Neko possède un compilateur et une machine virtuelle (NekoVM) avec ramasse-miettes (Boehm GC en l'occurrence). Le compilateur convertit un fichier source .neko en fichier bytecode .n qui peut être exécuté sur la machine virtuelle. Neko étant typé dynamiquement, sans classe fixée (programmation par prototypes), afin d'exécuter correctement un code, il suffit d'utiliser le bon runtime mapping, plutôt que le bon type mapping. Neko favorise l'implémentation de langages sur sa machine virtuelle ; pour reprendre la FAQ du langage : "[...] il est plus facile d'implémenter un langage, nouveau ou pré-existant, sur la NekoVM que sur la CLR ou la JVM, étant donné qu'il n'est pas nécessaire de gérer un système de typage de haut niveau. Cela signifie également que différents langages peuvent inter-opérer plus facilement, puisqu'ils partagent uniquement les mêmes structures de données et non pas les mêmes types."[1].

Contrairement a la plupart des langages de script actuel, Neko nécessite d'être compilé avant exécution. En conséquence, comme il n'est pas interprété, il est souvent relativement rapide pour ce type de langage.

Exemples

Hello World

$print("Hello World!");

Conversions de type

$int("67.87"); // Convertit la chaine "67.87" en l'entier 67
$float(12345); // Convertit l'entier 12345 en le flottant 12345.0000
$string($array(1,2,3)); // Convertit le tableau [1,2,3] en la chaine "[1,2,3]"

Objets

o = $new(null); // nouvel objet vide
o2 = $new(o); // crée une copie de o
o2 = $new(33); // si le parametre n'est pas un objet, on lève une exception
o.field = value; // affecte à l'attribut "field" la valeur "value"
o.field; // renvoie la valeur de l'attribut "field" de l'objet o

Méthodes

foo = function() {
        $print(this.x);
}
o = $new(null);
o.x = 3;
o.bar = function() { 
        foo(); 
};
o.bar(); // affiche 3

Portée des fonctions

var x = 3;
f = function() {
        $print(x);
}
x = 4;
f(); // affiche 3

Prototypes

var proto = $new(null);
proto.foo = function() { 
$print(this.msg) }
 
var o = $new(null);
o.msg = "hello";
$objsetproto(o,proto);
o.foo(); // affiche "hello"
 
$objsetproto(o,null); // supprime proto
o.foo(); // exception

Fonctionnalités web

Neko inclut un module mod_neko ([1]) pour le serveur web Apache. Il permet notamment d'utiliser les requêtes utilisateurs GET et POST :

get_params = $loader.loadprim("mod_neko@get_params",0);
$print("PARAMS = "+get_params());

Voir aussi

Références

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Neko (langage) de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Neko — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.  Pour l’article homophone, voir Néko. Neko est la transcription en lettres romaines (romaji) du mot signifiant chat en japonais. Technologie …   Wikipédia en Français

  • haXe — est un langage de programmation développé par Nicolas Cannasse et la société Motion Twin qui, dans le cadre d’une utilisation pour le Web, permet d’écrire la partie serveur et la partie client dans un même langage. À cette fin, haXe permet… …   Wikipédia en Français

  • Motion-Twin — Création 2001 Dates clés 2001 : création 2004 : devient SCOP Per …   Wikipédia en Français

  • Liste de systèmes de gestion de contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article principal : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

  • Japonais — 日本語 (nihongo) Parlée au  Japon Région Asie de l Est Nombre de locuteurs 130 millions Typologie …   Wikipédia en Français

  • Action script — ActionScript ActionScript est le langage de programmation utilisé au sein d applications clientes (Adobe Flash, Adobe Flex) et serveur (Flash media server, JRun, Macromedia Generator). ActionScript est un langage de script, orienté objet et… …   Wikipédia en Français

  • Actionscript — est le langage de programmation utilisé au sein d applications clientes (Adobe Flash, Adobe Flex) et serveur (Flash media server, JRun, Macromedia Generator). ActionScript est un langage de script, orienté objet et prototype, basé sur ECMAScript… …   Wikipédia en Français

  • Diathese — Diathèse Catégories verbales Temps : Temps simples : Présent Imparfait (indicatif/subjonctif) …   Wikipédia en Français

  • Diathèse — Le terme de diathèse s utilise en linguistique pour désigner ce que l on entend plus communément par « voix » verbale. C est un trait grammatical décrivant comment s organisent les rôles sémantiques dévolus aux actants par rapport au… …   Wikipédia en Français

  • Voix active — Diathèse Catégories verbales Temps : Temps simples : Présent Imparfait (indicatif/subjonctif) …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”