Facebook представил (https://code.facebook.com/posts/0000000000000000/flow-a-new-.../) новый открытый проект Flow (http://flowtype.org/), в рамках которого подготовлена система для статического анализа типов для языка JavaScript. Основной целью разработки является упрощение поиска ошибок в коде на языке JavaScript, без дополнительных трудозатрат на его аудит, а также предоставление средств для снижения уровня ошибок при разработке новых проектов. Проект написан на языке OCaml и распространяется (https://github.com/facebook/flow) под лицензией BSD.В качестве метода выявления ошибок применяется автоматическое определение типов переменных на основании контекста, с дальнейшим отслеживанием их корректного использования. Например, если переменная участвует в арифметическом действии, то запись в неё строкового значения будет рассматриваться как потенциальная ошибка. Flow позволяет при проверке разделять динамический по своей задумке код, от кода, в котором используются неизменные типы.
Flow также обеспечивает продвинутый механизм выявления проблем со значениями null и массивами. Поддерживаются многие новые возможности, представленные в спецификации ECMAScript 6, такие как деструкторы, классы, расширенные объекты, опциональные параметры и такие расширения API, как Map, Set, Promise. При анализе JavaScript-модулей поддерживаются спецификации CommonJS / Node.js.
Кроме проверки корректности кода, Flow может использоваться для преобразования обычного Javascript в представлении с явным указанием типов, а также выполнение обратной конвертации. Например, из "function foo(x, y)" в "function foo(x: string, y: number): string" и наоборот. Типизированное представление синтаксически напоминает метод указания типов в языках AtScript (http://www.opennet.me/opennews/art.shtml?num=41006) и TypeScript (http://www.opennet.me/opennews/art.shtml?num=39488). Управлять процессом проверки можно через специальные аннотации в комментариях к коду. В том числе можно осуществить проверку только определённых частей web-приложения.URL: https://code.facebook.com/posts/0000000000000000/flow-a-new-.../
Новость: http://www.opennet.me/opennews/art.shtml?num=41105
Используем костыльный язык для разработки и потом пишем различные утилиты для разгребания этих костылей...
> Используем костыльный язык для разработки
> Проект написан на языке OCaml???
Ок...
Используем древний и мёртвый язык для разгребания костылей ненужных языков...
А давайте на Форте напишем компилятор(ну или транслятор) Ада...
А легко, я вот на яваскрипте форт пишу
> А легко, я вот на яваскрипте форт пишуА я вот левой пяткой правое ухо чешу!
> ???OCaml - очень удобный язык для создания компиляторов, а под костыльным языком подразумевался JavaScript, очевидно.
> OCaml - очень удобный язык для создания компиляторов,При том настолько удобный, что им практически никто не пользуется.
> При том настолько удобный, что им практически никто не пользуется.Ну вот, в фейсбуке на нем уже PHP-компилятор и JS-компилятор во всю используются.
Вообще-то лучший на данный момент язык и инфраструктура, с ним связанная.
Для веба - да.
Тормозит и потребляет ресурсы очень качественно. Это да. С этим никто не спорит.
Попросите найти Вам обзор миллиона сессий на одном сервере с node.js
Альтернативы?
Дык, специализированные клиенты, разумеется
Угу. Она же худшая, она же единственная.
https://www.destroyallsoftware.com/talks/wat