• 1

Class-based inheritance

Personally I haven't seen any big and successful project written purely with prototype-based inheritance. Every JS project I seen instead starts with "emulation" of class-based inheritance. May be thats the matter of habit though - I believe both approaches are essentially the same.

About Joose - its not only returning to class-based inheritance. Its also attempt to reduce the state management. Of course, in imperative language, thats the question of discipline.

Joose achieves that in 2 way - 1st is unified approach to class initialization (I noticed, very often I don't need "initialize" method at all)

and 2nd - the meta layer, which allows reduce common code patterns to *declarations*.

My first reaction to the Joose syntax is huh, looks like Moose. Which explains the name!

It's kind of weird when other languages start taking innovations from the Perl world...

Perl 6 have been much more influential as a *design* than it has (to date) as an *implementation*...

  • 1

Log in