Noop language

bearophile bearophileHUGS at lycos.com
Thu Sep 17 04:44:08 PDT 2009


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



More information about the Digitalmars-d mailing list