
7-yr-old Google Closure Compiler now in JS - paulddraper
https://developers.googleblog.com/2016/08/closure-compiler-in-javascript.html
======
tracker1
This is awesome... There have been several projects I've moved off of Closure
in favor of node/npm based tooling to avoid the Java requirement... hoping to
see this improve things as Closure always resulted in smaller output, but the
tooling was less than ideal. I'm also not sure what features Babel supports
that closure doesn't at this point, but it is nice to see this availability
happen.

\-- edit --

More awesome, there's a vinyl stream adapter (gulp) and webpack plugin in the
box.

~~~
paulddraper
For some reason, I've seen this sentiment a lot on HN and elsewhere. Being in
Java makes it less popular.

I don't really get it. Whether in C, JS, or Java, I don't care too much. I
don't need `mv` to be written in JS.

Whatever. It's basically the only JS tooling to survive 7 years. I'm happy it
may be getting the use it deserves.

~~~
tracker1
It isn't specifically Java... I'd have the same reservations for tooling in
most languages outside of the tooling that a given project is written in. I'm
pretty sure Maven wouldn't be as widely used if it required you to install a
Mono/.Net runtime in order to work on your Java projects.

It's that the JS ecosystem now centers around Node+npm, and that any
additional tooling required to work with projects in that space (in this case
specifically Java's massive JVM and dependencies) is a hindrance to adoption.
I really don't like the requirement for Python@~2.7 for binary node modules
either to be honest.

~~~
paulddraper
I've downloaded Node+npm modules that require a C compiler.

~~~
tracker1
Yeah, binary modules require a C build system and Python@~2.7, there's not
much way around that... there could be tooling built with node that replaced
the python bits, but V8 is a C interfaced implementation for binary modules,
and without an in the box solution, options are limited... there's been some
effort to get ffi in the box though.

Some binary modules will self-mount an already built version for common
platforms/node versions. But that doesn't cover everyone, and may never do so.
That said, build tools and python requirements are pretty well disclosed, and
still generally smaller than Java. It's also a bit different to have a native
module in C that interfaces with C libraries compared to needing Java to
transpile a JavaScript project to JavaScript in a platform that has no other
ties to that secondary language.

Again, The Java guys would never have accepted Maven if it required Mono/.Net
runtimes.

