Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Opa vs Dart vs Haxe vs CoffeeScript [closed]

I've been googling for latest web apps, and found the following languages:

 - Opa
 - Dart
 - Haxe
 - CoffeeScript

Since these languages are new, there are not many information available.

Can anyone explain the advantages and disadvantages of these languages.

EDIT:

Which language is efficient?

What new features are available in each languages?

How can it improve existing languages like JavaScript?

Which will be easy to learn?

like image 609
Gokul Nath KP Avatar asked Aug 12 '13 05:08

Gokul Nath KP


1 Answers

Opa

  • Functional programming
  • Pro: Run client, server, and database code in the same language
  • Con: Currently the least popular of these languages

Dart

  • Similar to Java/JavaScript
  • Pro: Can run client and server code in the same language (though in practice, this is not yet the best option)
  • Pro: In the future you will be able to run client code in the Dart VM in some browsers
  • Pro: Polymer MDV provides easy approach to encapsulation and re-use of components

Haxe

  • Similar to ActionScript
  • Pro: Mult-platform language: compile to other language/platforms besides for JavaScript (for instance, creating high-performance mobile games)

CoffeeScript

  • Similar to Ruby
  • Pro: Currently the most popular of these languages

Some features common to all the languages:

  • Compile to JavaScript
  • Interact with JavaScript code

I researched all of these for a project that never ended up happening. I never really got into CoffeeScript since it was less familiar to me given its Ruby flavor. Opa was very intriguing but I ultimately decided against it since it seemed to have a very small community, and I preferred something more class-based and object-oriented. I was familiar with Haxe already, having played around with it for a mobile game, but JavaScript didn't seem like a huge focus here: tutorials and samples were hard to come by.

With Dart, everything suddenly seemed to come together:

  • Given my Java/ActionScript/JavaScript background I knew the language before even writing a line of code
  • The WebUI (now Polymer) Model-Driven-View approach, provided a sane way to encapsulate and re-use components
  • A dedicated IDE (Dart Editor) that made debugging quick and easy
  • Pub package manager made it easy to quickly add 3rd-part libraries
  • Plenty of tutorials, articles, and documentation to help get me up to speed

Ultimately, you can build great web apps in any of these languages, but the one you choose will be influenced by your past experience. In my case, I was looking for a class-based, object-oriented solution, which made it between Haxe and Dart, and Dart was clearly the victor in terms of features, tooling, and support.

like image 95
Pixel Elephant Avatar answered Nov 01 '22 18:11

Pixel Elephant