Подсветка синтаксиса кода

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

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

Пример подсвеченного кода на PHP

Описание[править]

Идея подсветки синтаксиса кода появилась еще до всемирного распространения в Интернете, первый редактор с подсветкой синтаксиса появился в 1982 году, был предназначен для языка BASIC.

Подсветка кода позволяет программисту гораздо проще воспринимать текст и писать код в языках высокого уровня. Выделяются типы переменных, их названия, ключевые слова языка и конкретные данные, представленные в программе — строковые и числовые значения. Отдельно подсвечиваются комментарии, которые игнорируются при компиляции или исполнении.

Функция позволяет находить простые ошибки и опечатки — например, пропущенные пробелы, которые можно заметить визуально.

Для популярных языков программирования есть и разные цветовые схемы, которые используются разными редакторами — единой схемы не существует. Системы подсветки кода существуют и для языков разметки (вроде CSS), и для «регулярных выражений», и даже для вики-языков (например, MediaWiki).

Примеры[править]

  • Автоматическая подсветка кода в зависимости от типа документа существует в популярных текстовых редакторах вроде Notepad+ и Sublime Text 3. Если открывается файл с расширением известного языка программирования, подсветка применяется автоматически. Есть такая опция даже в консольном текстовом редакторе nano.
  • В MediaWiki для вики, затрагивающих тематику программирования, есть расширение, позволяющее подсвечивать код, размещенный в специальных тегах.
Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикФортран
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++Scala
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёзды
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplace
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3D
ЛюдиИлья КанторЮрий КлючевскийЭдуард Лаас
Прочее++i + ++iDeadline%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодач