You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Меня воротит от javascript. Здесь я хочу собирать плюсы и минусы за переписывание технологии на purescript.
За:
Прекрасная система типов, унаследованная из Haskell, из чего вытекает:
Не нужно писать идиотские тесты на правильность типов в API
В докумментации к доступным функциям нет лишнего шума, чего не скажешь о JSDoc(пример [1])
Парсеры писать гораздо проще, потому что есть статическая проверка кода
В базовой библиотеке языка есть множество методов, похожих на те, что в underscore/lodash
В языке есть карринг, и композиция, что позволяет писать более краткий и модульный код
Против:
Далеко не многие знакомы с этим языком, как и функциональным программирвоанием в целом
/** * Обрабатывает все recursive(инклюды файла в одной технологии) сущности из файла * @param {String|null} parent - Абсолютный путь к файлу-родителю(он связан с чилдом через инклюд или импорт) * @param {String} carrier - Абсолютный путь к файлу-носителю, которому принадлежит content * @param {String} line - Значение сматченной строки * @param {Array} match - Сматченные пути * @returns {Promise -> {line: String, freezePairsList: Array[[concreteMatch, freezePath],...]}} */
Что в языке программирования c типизацией можно записать так, возложив задачу генерации сигнатур типов на pcs-docs(исходник):
-- * Обрабатывает все recursive(инклюды файла в одной технологии) сущности из файла
The text was updated successfully, but these errors were encountered:
Меня воротит от javascript. Здесь я хочу собирать плюсы и минусы за переписывание технологии на purescript.
За:
Против:
Что в языке программирования c типизацией можно записать так, возложив задачу генерации сигнатур типов на pcs-docs(исходник):
-- * Обрабатывает все recursive(инклюды файла в одной технологии) сущности из файла
The text was updated successfully, but these errors were encountered: