Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Even if you use language X that compiles to javascript ,you still need to learn javascript, Or it's a bit like learning rails without understanding ruby.


I don't need to learn assembly to use C. I don't need to learn the JVM bytecode to use Java.

Sure for special cases knowing those things can help get the very best out of your code, but for the other 99% of the time, it is not necessary.

(Edit: Not that I recommend Dart over JS necessarily, but I don't agree with your argument.)


>I don't need to learn assembly to use C. I don't need to learn the JVM bytecode to use Java.

But you DO need to learn Javascript to use Dart on web apps, so the comparison is irrelevant.


Why do you need to learn JavaScript to use Dart? You need to understand the DOM and the browser APIs (presented through Dart libraries), and HTML, CSS, but you very much don't need to know a jot of JavaScript to build and deploy Dart or dart2js applications. Even the Dart2js output has sourcemaps letting you view source in the original Dart.


You can do Rails to a fair extent without really knowing Ruby, and just fumbling through it with a bunch of gems and messy code. In some ways it can be the gateway to learning Ruby itself, if you were so inclined to do so.

For things like CoffeeScript, which are fairly thin layers over another language, I'd always advise to just learn JS first. Dart and Clojurescript though are so far removed from their compilation target that you don't really need to know the JS, as long as there's good library support for what you want to do. In the case of clojurescript the interop is so seamless that it puts the focus on learning the APIs, which is where the true complexity lies. Of course, and even more so with typing, you also have the compiler to back you up.


No, Dart is not CoffeScript.

It really compiles, so you don't have to worry about it. The languages are so similar that stuff that is fast in Dartium will work pretty fine in JS.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: