Encrypting your link and protect the link from viruses, malware, thief, etc! Made your link safe to visit.

 QUESTION 

This question is inspired by the debate in the comments on this Stack Overflow question. The Google Closure Compiler documentation states the following (emphasis added):

The Closure Compiler is a tool for making JavaScript download and run faster. It is a true compiler for JavaScript. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript.

However, Wikipedia gives the following definition of a "compiler":

A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language... A language rewriter is usually a program that translates the form of expressions without a change of language.

Based on that, I would say that Google Closure is not a compiler. But the fact that Google explicitly state that it is in fact a "true compiler" makes me wonder if there's more to it. Is Google Closure really a JavaScript compiler?


Expert Answer

The Closure Compiler is a minifier, an optimiser and a validator all-in-one. That kind of puts it in its own category, because you're correct that a compiler should at least take something that won't run in its current form and turn it into something that will (take TypeScript for an ECMAScript-based example).

But do you blame Google for stretching the terminology? What else were they going to call it? Google Minifier? No, it's more than that, and there are hundreds of those out there. Google Optimiser? It's way more than that. Google Validator? No, it's way more than that too.

So the choice is

Call it Google Closure Foogle and introduce a whole new otherwise-meaningless word into the lexicon.
Call it Google Closure Minoptivalidator, which is clearer in intent but harder to remember.
Call it Google Closure Compiler, which is pretty close to the truth.
It does everything you would expect a compiler to do, with only a semantic difference. And, in the end, all words are defined by their usage, to some extent. So if Google can convince people to call this a compiler, the definition of compiler changes slightly. Certainly not in any way that will cause a problem.

Or, to come back to the earlier example, can you find anything significant about TypeScript that allows it to be called a "true compiler", while Google Closure Compiler should be restricted to "almost a compiler"?

ST

Search This Blog

Labels

Report Abuse

QUESTION 6 (a) The bar shown in Figure Q2(a) is subjected to tensile load of 150 Kn. If the stress in the middle portions is limited to 160 N/mm², determine the diameter of the middle portion. Find also the length of the middle portion if the total elongation of the bar is to be 0.25 mm. E E = 2.0 + 105N/mm². (12 marks) 150 KN 10 cm DIA 10 cm DIA 150 KN 45 cm Figure Q6(a) (b) A brass bar, having cross-section area of 900 mm², is subjected to axial forces as shown in Figure Q2(b), in which AB = 0.6 m, BC = 0.8 m, and CD = 1.0 m. Find the total elongation of the bar. E = 1.0 + 105N/mm2 . (8 marks) Page 4 of 5 B D 40 KN 70 KN 20 KN 10 KN Figure Q6(b) (TOTAL = 20 MARKS)

  Question: Show transcribed image text Answer:
  Introduction To find incremental revenue and cost, we subtract Current revenue and cost from Projected revenue and cost. Answer Current Situation Projected Sales and Profit Incremental Revenues and Costs Total Revenue Php1,500,000 Php1,800,000 + Php3000,000 Variable Cost 575,000 425,000 - Php 332,000 Direct Fixed Costs 625,000 700,000 + Php 75,000 Indirect Fixed Costs 100,000 100,000 No change Profit Php 200,000 Php 575,000 + Php 375,000 Profit increases by Php 375,000, thus a new camera and coffee maker must be purchased.

Contributors