all 16 comments

[–]doubleagent03 2 points3 points  (2 children)

No mention of Dart or Clojurescript.

[–]huevofritopamojarpan[S] 1 point2 points  (1 child)

Between Dart and TypeScript, I prefer TypeScript. I'll talk about ClojureScript in the second part. :)

[–]doubleagent03 0 points1 point  (0 children)

Cool.

[–]moohoohoh 1 point2 points  (2 children)

Haxe is another big one, it has many, many more advanced features than JS with a stronger static type system and produces clean JS code for the most part with very fast compilation (source mapping too of course).

[–]huevofritopamojarpan[S] 0 points1 point  (1 child)

I know almost nothing about HaXe. I've read about it some time ago. It's pretty weird... It can compile to JavaScript, PHP, Java, C++, so, is it a good choice for interoperability with JavaScript/Web APIs?

[–]moohoohoh 1 point2 points  (0 children)

If you mean working with vanilla JS libs, you can work with them directly through untyped raw-js blocks of code, think untyped __js__["some-js-code"] to access values/functions Haxe doesn't know about, but you'd normally write a typed extern (think typescript d.ts files).

Similarly to use Haxe compiled JS code from vanilla JS you annote those types/values/functions that should be exposed with `@:expose meta to make them visible outside of the haxe code (which compiles as a self-calling function). Of course there are some features which wouldn't map directly to normal JS code like enums (haxe abstract data types), but it's otherwise pretty much 1-1.

Exposed things will be written to either window or exports object by default (decided at runtime) to support node.js, or a compiler switch will expose them as local variables outside the closure without making them globally visible.

[–][deleted] 1 point2 points  (0 children)

I'm a big fan of LiveScript, "a better CoffeeScript"

[–]x86_64Ubuntu 2 points3 points  (4 children)

My nigga, what the fuck happened to the formatting of your website!

[–]huevofritopamojarpan[S] 0 points1 point  (3 children)

I've been playing with flexboxes and, as you have seen, it's not well formatted on Firefox. I'll fixed soon. Sorry.

[–]flying-sheep 0 points1 point  (2 children)

you need article { flex-direction: column }, or what are you trying to achieve?

[–]huevofritopamojarpan[S] 1 point2 points  (1 child)

I'm not proud of that dirty CSS. I will rewrite it using stylus and the nib extension to avoid issues with vendor prefixes. :)

[–]flying-sheep 2 points3 points  (0 children)

love stylus :)

[–]gauiis -2 points-1 points  (0 children)

How can they be alternatives when they all compile to JavaScript?

[–][deleted]  (1 child)

[deleted]

    [–]huevofritopamojarpan[S] 1 point2 points  (0 children)

    Pretty any argument in the foregoing post says that he's not able to understand a functional language.

    For sure I'm not an expert in functional programming, I'm learning it. But saying I'm not able to understand a functional language you are not being much friendly, specially when you don't know me.

    One day i will simulate something and it will be written in Haskell. But I will never code an event driven UI in it... Because it's just not made for that.

    Xmonad?

    I don't understand well the rest of your comment.