digitalmars.D - Noop language
- bearophile (28/28) Sep 17 2009 Google labs are thinking about another language that runs on the JavaVM,...
Google labs are thinking about another language that runs on the JavaVM, named
Noop, "A testable programming language":
http://code.google.com/p/noop/
It has no subclassing, no primitives, and by default variables (references) are
final & not null. It uses properties by default.
More details:
Noop says Yes to:
* Dependency injection in the language, see:
http://code.google.com/p/noop/wiki/ProposalForNewableVsInjectable
Noop says No to:
* Any statics whatsoever
* Implementation inheritance (subclassing)
* Primitives
Fundamentals
* No primitives
* Has properties
* No facility for statics
* There is always a seam between any pair of classes, for testing
Immutability
* final is the default, mutable is a new keyword
Strong inferred typing
* Avoid null, Types shouldn't allow null value by default
Class parameters and properties
* class Foo(Bar bar) {} defines the default constructor, has a read-only
property bar, like Scala.
First Class Properties:
http://code.google.com/p/noop/wiki/ProposalForFirstClassProperties
Proposal For Composition. Perhaps inheritance can be completely replaced by
composition plus polymorphism:
http://code.google.com/p/noop/wiki/ProposalForComposition
Bye,
bearophile
Sep 17 2009








bearophile <bearophileHUGS lycos.com>