| dbpprop:abstract
|
- Nice is an advanced object-oriented programming language. It features a powerful type system which can help eliminate many common bugs, such as null pointer dereferences and invalid casts, by detecting potential runtime errors at compile-time; the goal of the designers was to provide safety features comparable to those found in languages such as ML and Haskell, but using a more conventional syntax. Nice aims to be feature-rich, and as such, in addition to the common features of modern object-oriented programming languages, it implements contracts in the style of Eiffel, class extensibility through multimethods, and many concepts drawn from functional programming such as anonymous functions, tuples, pattern matching (“value dispatch”), and parametric polymorphism. Source programs are compiled to Java bytecode, and can therefore interact with libraries written in Java and other programming languages targeting the Java Virtual Machine. Work on the Nice language appears to have slowed since early 2006.
- Nice ist eine Programmiersprache. Ihre Syntax ähnelt stark der von Java, und zudem erzeugt der Compiler Bytecode für eine Java-VM. Im Unterschied zu Java unterstützt Nice eine ganze Reihe von Sprachelementen, die aus der Welt der funktionalen Programmiersprachen bekannt sind. Neben echten Funktionen zählen dazu auch die von LISP bekannten Multimethoden (multiple dispatch), Closures und Funktionen höherer Ordnung. Nice setzt das Paradigma der statischen Typisierung um. Dank eines Typ-Inferenz-Mechanismus ist es nicht notwendig, jedem Parameter zum Zeitpunkt des Programmentwurfs einen Typ zuzuordnen, insofern sichergestellt ist, dass dieser zur Laufzeit dynamisch ermittelt werden kann. Zudem beherrscht Nice generische Typen, wie sie mit Version 1.5 auch in Java eingeführt wurden. Dabei wird das Ziel verfolgt, Class-Cast-Exceptions soweit wie möglich zu verhindern. Eine Besonderheit dabei ist, dass der Nullwert (optional, um die Interoperabilität mit Java nicht zu behindern) als eigenständiger Datentyp betrachtet wird und es so mithin möglich ist, das Auftreten eines Nullzeigers bereits beim Compilieren als Typfehler zu erkennen.
- Nice est un langage de programmation orientée objet basé sur la plateforme d'exécution Java (JRE) dont la syntaxe s'inspire fortement de celle de Java et qui offre un support de divers autres concepts de programmation, comme la programmation fonctionnelle. Ce langage permet d'ajouter des méthodes à des classes dans d'autres sources que celui de la classe (multiméthodes). Il évite d'avoir à écrire plusieurs versions de méthodes avec des paramètres différents, en offrant des valeurs par défaut et en sélectionnant l'implémentation à utiliser selon la liste de ces arguments. Le compilateur de Nice est assez sophistiqué et permet de détecter pendant la compilation des erreurs qui apparaissent classiquement lors de l'exécution (valeur de pointeur nulle, transtypage, ...). Les programmes sources sont compilés en bytecode Java et peuvent donc interagir avec des bibliothèques écrites en Java. Nice offre un certain support des assertions (Design by Contract) tel que définies par Eiffel, et incorpore d'autres fonctions de programmation comme les fonctions anonymes, etc. Nice prétend inclure certaines fonctionnalité propres à la Programmation orientée aspect au travers du support des multiméthodes, mais cette approche n'offre en réalité pas le même gain en termes de réduction des dépendances du système que celui offert par la POA, puisque les multiméthodes sont liées statiquement par un appel explicite.
|
| rdfs:comment
|
- Nice is an advanced object-oriented programming language. It features a powerful type system which can help eliminate many common bugs, such as null pointer dereferences and invalid casts, by detecting potential runtime errors at compile-time; the goal of the designers was to provide safety features comparable to those found in languages such as ML and Haskell, but using a more conventional syntax.
- Nice ist eine Programmiersprache. Ihre Syntax ähnelt stark der von Java, und zudem erzeugt der Compiler Bytecode für eine Java-VM. Im Unterschied zu Java unterstützt Nice eine ganze Reihe von Sprachelementen, die aus der Welt der funktionalen Programmiersprachen bekannt sind. Neben echten Funktionen zählen dazu auch die von LISP bekannten Multimethoden (multiple dispatch), Closures und Funktionen höherer Ordnung. Nice setzt das Paradigma der statischen Typisierung um.
- Nice est un langage de programmation orientée objet basé sur la plateforme d'exécution Java (JRE) dont la syntaxe s'inspire fortement de celle de Java et qui offre un support de divers autres concepts de programmation, comme la programmation fonctionnelle. Ce langage permet d'ajouter des méthodes à des classes dans d'autres sources que celui de la classe (multiméthodes).
|