- PVSM.RU - https://www.pvsm.ru -

CoffeeScript 1.5.0 позволяет писать комментарии в формате Markdown

Сегодня, 25 февраля, вышла версия 1.5.0 языка CoffeeScript. В ней впервые появилась базовая поддержка так называемого «грамотного» или «литературного» программирования (literate programming [1]). Концепцию грамотного программирования придумал Дональд Кнут в 1981 году при разработке системы TeX. В отличие от исходного кода на обычном языке программирования, который включает в себя небольшие вкрапления комментариев, грамотное программирование подразумевает написание текстового документа на естественном языке с вкраплениями кода. Многие существующие системы грамотного программирования вообще не зависят от конкретного машинного языка.

Технически, грамотное программирование — система макросов, которая позволяет создать поверх фрагментов кода на любом языке программирования слой абстракций в виде фраз естественного языка, фактически создавая исполняемый псевдокод. Исходный файл одновременно является и исполняемой программой и документом на естественном языке, описывающем её.

Строго говоря, в CoffeeScript 1.5.0 пока не реализована полностью концепция Дональда Кнута — раскрытие макросов не поддерживается, компилятор лишь позволяет совмещать в одном файле с расширением .litcoffee [2] разметку Markdown и код CoffeeScript. Такой файл можно выполнять, как обычный скрипт, а можно открыть в текстовом редакторе, где он будет выглядеть как отформатированный текст с фрагментами кода. Вот скриншот скрипта написанного в новом стиле:

CoffeeScript 1.5.0 позволяет писать комментарии в формате Markdown

А вот так [3] он выглядит на Гитхабе в виде документа Markdown.

Схему подсветки синтакиса .litcoffee для TextMate и SublimeText можно скачать здесь [4].

Раньше похожий функционал предоставляла библиотека Docco [5], автором которой, как и самого языка CoffeeScript, является Джереми Ашкеназ. Она позволяет использовать в комментариях разметку Markdown и выводит текст в виде двух колонок — отформатированных комментариев и чистого исходного кода.

Автор: ilya42

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/27996

Ссылки в тексте:

[1] literate programming: http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

[2] .litcoffee: http://coffeescript.org/#literate

[3] вот так: https://gist.github.com/jashkenas/3fc3c1a8b1009c00d9df

[4] здесь: https://github.com/jashkenas/coffee-script-tmbundle/tree/master/Syntaxes

[5] Docco: http://jashkenas.github.com/docco/

[6] Источник: http://habrahabr.ru/post/170627/