The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

01.09.2016 10:37  Google опубликовал Closure Compiler, написанный на JavaScript

Компания Google подготовила вариант инструмента Closure Compiler, оформленный на языке JavaScript и пригодный для использования с Node.js или запуска в web-браузере, без необходимости установки Java. Новый вариант получен в результате трансляции изначального кода на языке Javа. Исходные тексты открыты под лицензией Apache 2.0.

Closure Compiler представляет собой оптимизатор JavaScript, позволяющий сформировать компактный и высокопроизводительный JavaScript-код на основе имеющегося неоптимизированного JavaScript-кода web-приложения. Компилятор удаляет "мёртвый код", затем переписывает и оптимизирует оставшийся для более быстрой работы с учётом особенностей различных JavaScript-движков браузеров и упаковывает в компактное представление. Closure Compiler также можно использовать для оценки корректности JavaScript-кода, анализа типов и использования переменных, проверки синтаксиса, выявления типичных ошибок.

  1. Главная ссылка к новости (https://developers.googleblog....)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: closure, javascript, optimization
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 10:44, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +1 +/
    А оно может сканпелировать само себя?
     
     
  • 2.4, Аноним (-), 11:17, 01/09/2016 [^] [ответить]    [к модератору]
  • –1 +/
    А вы можете сами себя? Хотя бы что-нибудь, но сами себя.
     
     
  • 3.10, Аноним (-), 12:03, 01/09/2016 [^] [ответить]     [к модератору]
  • +4 +/
    https ru wikipedia org wiki D0 A0 D0 B0 D1 81 D0 BA D1 80 D1 83 D1 82 D0 BA D... весь текст скрыт [показать]
     
  • 3.30, Анонимко (?), 15:57, 01/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Вообще-то он может рекурсивно заниматься любовью. Ну это любой может. Уверен, все это делали)
     
  • 2.8, бедный буратино (ok), 11:57, 01/09/2016 [^] [ответить]    [к модератору]  
  • –5 +/
    - можно ли построить коммунизм в Швейцарии?
    - можно, но жалко
     
  • 1.2, Генри Форд (?), 11:04, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Из текста новости не понятно, что это за зверь такой. Написано что не надо ставить Java, так что я сначала подумал, что он конпеляет исходники на языке Closure в js - ан нет! На гитхубе гаписано что it compiles from JavaScript to better JavaScript.
     
     
  • 2.5, Аноним (-), 11:20, 01/09/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Это инновационный движок, основанный на темной материи. Сначала он преобразует JavaScript в вакуум, а затем из вакуума порождает новый JavaScript.
     
  • 2.11, омномномнимус (?), 12:05, 01/09/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    >языке Closure

    этих кложуров просто завались, но тут ты не угадал ;-)

     
  • 1.3, анонимус (??), 11:13, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +5 +/
    ага вместо нормального рантайма jre
    мы теперь тянем ноду и сотни тысяч модулей из npm

    пусть лучше перепишут на bash
    или Go хотябы

    а зоопарк node.js на продакте не нужен

     
     
  • 2.6, demimurych (ok), 11:23, 01/09/2016 [^] [ответить]    [к модератору]  
  • –4 +/
    ты на продакте не нужен.
    хотя тебя и так никто не берет с таким подходом к делу.
     
  • 2.7, h31 (ok), 11:35, 01/09/2016 [^] [ответить]    [к модератору]  
  • –3 +/
    Ну дык, Java теперь не модно. Хипсторы вот даже JRE брезгуют поставить. Так что срочно переписываем на самый модненький и клевенький язычок.
     
  • 2.9, бедный буратино (ok), 11:59, 01/09/2016 [^] [ответить]     [к модератору]  
  • +5 +/
    e-bashь на баше, товарищ спасём весь мир от пожарищ Маяковский ... весь текст скрыт [показать]
     
  • 2.16, derlafff (ok), 13:01, 01/09/2016 [^] [ответить]    [к модератору]  
  • +/
    В go лучше только тем, что количество модулей исчисляется не тысячами, а сотнями.
     
  • 2.17, Аноним (-), 13:18, 01/09/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    зачем ты держишь зоопарк нодежсов?
     
  • 2.19, Аноним (-), 13:34, 01/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Используй java версию, они разные, никто не заставляет переходить на closure-js.
    JS версию написали для тех, кто и так использует nodejs как бакенд и им не нужна jre от слова совсем.
     
     
  • 3.31, Аноним (-), 15:58, 01/09/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    кому ЭТО принципиально - JS решения запускает под JIT рантаймом ихним а не в бин... весь текст скрыт [показать]
     
  • 2.45, сатья (?), 13:27, 03/09/2016 [^] [ответить]    [к модератору]  
  • +/
    самое весёлое - это постоянные переименования, несовместимости и неадекватная стандартная библиотека
     
  • 1.12, Анонище (?), 12:10, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    > высокопроизводительный JavaScript-код на основе имеющегося неоптимизированного JavaScript-кода web-приложения.

    Ахинея какая-то. Зачем писать медленный код изначально?

     
     
  • 2.14, IB (?), 12:15, 01/09/2016 [^] [ответить]    [к модератору]  
  • +/
    man asm.js
    и более свежие альтернативы (но размножение слоёв абстракции доставляет, да).
     
  • 2.15, КО (?), 12:16, 01/09/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Зато он читаемый. Эта штука выкинет пробелы, комментарии, переименует переменные в более короткие, развернет циклы и т.п. И в таком виде можно будет отправить браузеру.
     
     
  • 3.39, анон (?), 07:13, 02/09/2016 [^] [ответить]    [к модератору]  
  • +/
    все кроме разворачивания циклов может сделать и какая-то uglify задача под грант/галп, а вот имеет ли смысл разворачивать циклы - вопрос. мое имхо - это экономия на спичках.
     
     
  • 4.41, Аноним (-), 12:16, 02/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Uglify до сих пор не дружит с ES6. А closure не только полностью поддерживает, но и умеет конвертировать из ES6 в ES5 и обратно (babel становится не нужен).
     
  • 4.46, MPEG LA (ok), 13:56, 05/09/2016 [^] [ответить]    [к модератору]  
  • +/
    сабж еще может html, js и css вкупе соптимизировать (имена классов, id и прочее)
     
  • 1.13, IB (?), 12:14, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Ну я тоже не сторонник серверов га таких языках.
    Wordpress и постоянно лезущие уязвимости пример.

    Хочется странного - пишите под unikernel - Mirage OS например (OCaml).

     
  • 1.18, maxis11 (ok), 13:28, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Ехал JS через JS. Видит JS, в JS JS. Сунул JS в JS JS. JS JS JS JS
     
     
  • 2.21, anonymous.js (?), 14:05, 01/09/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Естественный отбор в действии Неповоротливые и неэффективные языки отмирают, а ... весь текст скрыт [показать]
     
     
  • 3.22, омномномнимус (?), 15:04, 01/09/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    >всё, что естественно -- здорово

    охлол

     
  • 3.23, Виталик (??), 15:22, 01/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Node.js is one of the worst things to happen to the software industry in recent times, a whole generation of programmers are being taught the worst of all ways of doing concurrency, in a system that doesn’t scale either in performance or project size and with one of the languages most plagued by pitfalls ever created.

    JavaScript was already painful enough in the browser, why on earth anyone ever thought it was a good idea to use it on the server boggles the mind.

    We will be paying the price of this misguided hyped fad for decades to come.

    Of all the ways of doing concurrency, callbacks are by far the worst, Twisted was plagued by them and is the main reason why it failed, and that was with a much more sane and reasonable language like Python (stackless Python was a much better alternative and used a model similar to Go’s CSP).

    And the sad thing is that there are much better alternatives around with much more sound models and environments, Erlang and Go are the two obvious examples, and that is for the highly specialized situations where you have great concurrency needs, for any other problem anything else will be much better than Node.js, even PHP.

     
     
  • 4.24, Аноним (-), 15:32, 01/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Занимательная статистика по твоему тексту:

    Количество символов: 1169
    Количество абзацев: 5
    Количество аргументов: 0

     
  • 4.37, Отражение луны (ok), 22:03, 01/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Самое забавное, что в статье все сказано верно, только наоборот.
    Нода - действительно лучшее, что случалось с высокоуровневым кодингом, и именно из-за callbackов и крайне крутой масштабируемости. В тот же самый момент Питон - худшее, что вообще есть на рынке. Попросту бессмысленный iowait генератор, который не должен использоваться ни в одном реальном проекте.
     
  • 4.40, анон (?), 07:22, 02/09/2016 [^] [ответить]    [к модератору]  
  • +/
    >[оверквотинг удален]
    > Of all the ways of doing concurrency, callbacks are by far the
    > worst, Twisted was plagued by them and is the main reason
    > why it failed, and that was with a much more sane
    > and reasonable language like Python (stackless Python was a much better
    > alternative and used a model similar to Go’s CSP).
    > And the sad thing is that there are much better alternatives around
    > with much more sound models and environments, Erlang and Go are
    > the two obvious examples, and that is for the highly specialized
    > situations where you have great concurrency needs, for any other problem
    > anything else will be much better than Node.js, even PHP.

    самое забавное, что под нод вас никто не заставляет писать на js. невероятная новость?? нет. вы можете использовать кофискрипт или тайпскрипт излеченные от болячек js.

    >  and that was with a much more sane and reasonable language like Python

    как питонист поржал. кофискрипт - аналог питона для js. только с нормальными callback-ами, switch-ами и асинхронными фукнциями. но даже если вы не хотите асинхронщины, то есть iced coffeescript.
    истерией какой-то пост попахивает.
    пишу на кофискрипте и серверную часть и клиентскую. одно удовольствие, код можно легко перекидывать, если надо, меж 2 частями. а когда была связка python+coffeescript/js то приходилось переписывать.

     
     
  • 5.43, Аноним (-), 17:59, 02/09/2016 [^] [ответить]     [к модератору]  
  • +/
    Кофескрипт не актуален с появлением arrow functions в ES2015 Ну а само понятие ... весь текст скрыт [показать]
     
     
  • 6.44, анон (?), 13:24, 03/09/2016 [^] [ответить]    [к модератору]  
  • +/
    кофискрипт актуален пока из js не выкинут все ненужные скобочки и точки с запятыми. ну а толстые стрелки - вообще не показатель.
     
  • 3.25, Аноним (-), 15:37, 01/09/2016 [^] [ответить]    [к модератору]  
  • –2 +/
    >Неповоротливые и неэффективные языки отмирают

    это руби с перлом чтоли?

     
     
  • 4.48, Аноним (-), 18:37, 06/09/2016 [^] [ответить]    [к модератору]  
  • +/
    >>Неповоротливые и неэффективные языки отмирают
    > это руби с перлом чтоли?

    Неэффективный Perl. Смешно.

     
  • 3.42, Аноним (-), 15:52, 02/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    а как ты определил, что этот процесс естественный? тебе в гугле или микрософте сказали?
     
  • 1.20, iLex (ok), 13:45, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Интересно было бы сравнить производительность. Где он быстрее - на JRE или на Node.js?
     
     
  • 2.27, Аноним (-), 15:53, 01/09/2016 [^] [ответить]    [к модератору]  
  • +/
    На гитхабе есть обсуждение, пока чуть-чуть медленнее.
     
  • 2.28, Аноним (-), 15:54, 01/09/2016 [^] [ответить]     [к модератору]  
  • +/
    в node js компилятор в бинарь есть а в JRE -только рантайм байткода JIT угада... весь текст скрыт [показать]
     
     
  • 3.47, MPEG LA (ok), 14:01, 05/09/2016 [^] [ответить]    [к модератору]  
  • +/
    > в node.js компилятор в бинарь есть.

    jxcore мертв. еще варианты?

     
  • 1.29, mezoni (?), 15:55, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Очень странно.
    Почему бы не так (могла бы звучать эта новость):

    Компания Google подготовила вариант инструмента Closure Compiler, оформленный на языке Dart и пригодный для использования с Dart VM или запуска в web-браузере, без необходимости установки Java.

    Похоже не удался эксперимент с Dart.
    Практически нет ему применения.

     
     
  • 2.38, Аноним (-), 04:50, 02/09/2016 [^] [ответить]    [к модератору]  
  • +/
    > Похоже не удался эксперимент с Dart.

    У тебя там дом сгорел, а ты говоришь что еще в процессе разработки.

     
  • 1.32, Аноним (-), 19:05, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    С вебпаком собрал Hello World на 200 килобайт за 25 секунд. Так держать, Google, отличная оптимизация.
     
  • 1.33, Аноним (-), 19:16, 01/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Классно они открыли исходники. Файла компилятора нет в репозитории, а скачанный из npm jscomp.js - минифицирован и обсфуцирован.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor