> Look like ECMAScript2015 (JavaScript, or TypeScript) very much ...

The more Java like expressions is probably because the original author Nicolas 
Cannasse wrote the MTASC ( Flash ) compiler. What used ActionScript and this in 
turn turned into ECMAScript. Describing it like JavaScript is almost like a 
insult _lol_. Got a profound dislike for JavaScript and can not say the same 
for Haxe.

To me its more like a extended PHP 7.1 design. Then again, PHP has slowly been 
merging towards a full C/Java style.

> Why that effort? See google or Manning page:

Contact them a few days ago and they updated the shipping address. So Krux02 is 
going to ge the book directly.

> Apart from the fact that it forces this object oriented programming paradigm 
> that I alread learned to dislike from Java, it seems to be designed pretty ok.

Personally i do not understand why people still insist on functional 
programming. In general object oriented programming results in a more clean 
code base ( example ).

* * *
    
    
    class FloatTools {
      static public function round(f:Float) {
        return Math.round(f * 100) / 100; // The value 100 rounds to two 
decimals
      }
    }
    
    
    
    using FloatTools; // Adding 'FloatTools' as a static extension
    
    class Main {
      static function main() {
        var f = 0.119999;
        var rf = f.round(); // 0.12
        var rf = 0.119999.round(); // 0.12
      }
    }

* * *
    
    
    static function round(f) {
        return Math.round(f * 100) / 100; // The value 100 rounds to two 
decimals
    }
    
    
    include "round.xxx";
    
    var f = 0.119999;
    var rf = round(f); // 0.12
    var rf = round(0.119999); // 0.12
    
    

* * *

Both do the same in this simple example. But as one starts to extend 
functionality, its where you are much more likely to run into conflicts ( 
forcing the need for instance to namespace ). Of the two examples, what is more 
easy to extend ( inherit, override, abstract, etc ) and clean. Its simply the 
object oriented version. :)

The fact that it also forces the first initial call ( the Main construct ) to 
be a class, is less of a issue ( unless losing 4 lines of code, of the 1000's 
is a issue ;) ). If we simply look at GoLang with its forced function paradigm, 
it still relies on C like function attachment to objects.

I said it before but coming from a PHP background and with the PHP7 / 7.1 
designs, its more easy to get into Haxe then Nim.

Nim really focuses more to Python developers. Where Crystal really focused on 
Ruby developers.

Nim & Haxe are languages that more incorporate from other languages. Crystal is 
almost a copy of Ruby ( but they recently start to incorporate other 
functionality from other languages ).

For me Haxe solves a few problems. Going to push it at work simply because: One 
can code base it for PHP but at the same time deal with the annoying JS and 
deal with Angular. Now at work its all separated and frankly messy ( but that 
is a different topic ;) ).

Almost forgot, another useful corner for Nim to look at: 
[http://code.haxe.org](http://forum.nim-lang.org///code.haxe.org)/

Reply via email to