ColdFusion — редкий и важный язык программирования

ColdFusion — редкий и важный язык программирования

Один из первых серверных языков, который смог найти себе место в современном мире.

Это были лихие девяностые, технологии веба зарождались как могли. Тогда сайты выглядели намного проще и чаще всего были просто статичными HTML-файлами: читать текст и смотреть картинки можно, а вот запустить социальную сеть — вряд ли. Так было до 1995 года, когда Джереми и Джозеф Аллеры решили, что хватит это терпеть.

Братья Аллеры разработали ColdFusion. С одной стороны, это был сервер для веб-приложений, с другой — язык разметки, чтобы генерировать страницы. Язык сначала назвали DataBase Markup Language, но позже переименовали в ColdFusion Markup Language. Как ColdFusion он в итоге и стал известен.

👉 На ColdFusion работал один из наших героев — Антон Леонов. Прочитайте интервью о его карьерном пути в 25 лет: от мобильных сайтов до позиции аналитика.

Зачем нужен и в чём особенность

Синтаксис ColdFusion состоит из тегов. Для вёрстки используют стандартные теги HTML, а ColdFusion расширяет его скриптовыми тегами, которые помогают получать данные из базы или работать с переменными на стороне браузера:

<body>
	<b>Добро пожаловать!</b>
	<!-- Заводим переменную Name со значением «Иван» -->
	<cfset name="Иван">
	<!-- Выводим фразу «Привет, Иван» на экран -->
	<cfoutput>
		Привет, #name
	</cfoutput>
</body>

<body>...</body> и <b>...</b> — теги HTML, а <cfoutput>...</cfoutput> — тег ColdFusion. С помощью символа # мы обращаемся к переменной. Названия всех тегов в ColdFusion начинаются с префикса cf — так их можно отличить от тегов HTML. 

ColdFusion умеет обращаться к базе данных с помощью sql-запросов:

<cfquery NAME="getTravelerInfo" DATASOURCE="travelers.db">
	SELECT FirstName_traveler, LastName_traveler, Birthday_traveler
	FROM Traveler WHERE EMail_traveler = '#Form.Email#'
</cfquery>

Здесь мы создали запрос getTravelerInfo, который идёт в базу данных travelers.db, находит там нужного пользователя по почте, которую ввели в форму Form в поле Email. И возвращает из базы имя, фамилию и дату рождения этого пользователя.

❤️ Если совсем просто, то ColdFusion даёт возможность встроить в HTML специальные теги для работы с базами данных и скриптами. На выходе получается простой с другим расширением — .cfm. В итоге можно делать динамичные страницы, а не только выводить статику.

Как развивался

В первой версии ColdFusion особо ничего не умел. Это был просто язык разметки, который мог сходить в базу данных, взять из неё какую-то информацию и подставить в нужное место в HTML-вёрстке.

Со временем появилась возможность разрабатывать пользовательские дополнения к языку. Если разработчиками не хватало какого-то компонента или тега, они могли написать его самостоятельно на C или C++, а позже — на Java.

В ColdFusion появилась возможность писать скрипты, похожие на JavaScript. Язык умеет работать не только с данными из базы, но и с информацией, которая хранится в Cookie. Например, можно вывести на экран время последней сессии пользователя:

Сначала зададим значение:

<CFCOOKIE NAME=»TimeVisited»

  VALUE=»#Now()#»>

А потом запросим его:

<CFOUTPUT>

    Time Visited : #DateFormat(«#COOKIE.TimeVisited#»)#

</CFOUTPUT>

С каждой новой версией у сервера ColdFusion росли возможности, а в языке появлялось всё больше тегов. Так что в конце 90-х и начале нулевых ColdFusion вовсю применяли для создания веб-приложений. ColdFusion использовали, например, таск-менеджер ProWorkflow, сервис для саппорта Giva, ERP-система Promisan.

Что сегодня

В 2001 году компанию Allair приобрела Macromedia, которую, в свою очередь, в 2005 году купила Adobe. Adobe продолжает поддерживать и обновлять ColdFusion — последний значительный апдейт был в ноябре 2020 года. Сегодня ColdFusion — коммерческий продукт, стоимость лицензии для компаний начинается от 2499 долларов.

Adobe нашли для ColdFusion довольно узкую нишу: интранеты и сайты, для которых важно работать с данными. ColdFusion из коробки умеет строить графики и создавать PDF-файлы, так что его используют в проектах, где нужно визуализировать информацию, например, сделать дэшборд с данными о продажах.

⚠️ Язык и технологию в России сложно назвать востребованными: в конце декабря 2020 года на HH.ru всего три, а на «Хабре» ни одной вакансии с упоминанием ColdFusion. С нуля сегодня на нём почти не пишут, но остались проекты, где его используют с давних времён и пока что поддерживают.

👉 Мы не рекомендуем изучать ColdFusion как свою первую веб-технологию. Лучше посмотрите в сторону Python или PHP, а в идеале для начинающих — JavaScript. Вот статьи, которые вас вдохновят:

Вместе с тем в разное время ColdFusion использовали в Bank of America, Cisco, eBay, Boeing. Из отечественных компаний — Лаборатория Касперского. Как раз там герой нашего интервью Антон Леонов разрабатывал B2B-платформу на ColdFusion. Почитайте, как это было и чем он занимается сейчас →

Текст:

Слава Уфимцев

Редактор:

Максим Ильяхов

Корректор:

Ира Михеева

Иллюстратор:

Даня Берковский

Вёрстка:

Маша Дронова

Соцсети:

Олег Вешкурцев

Олды:

здесь

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства и компенсация, если вы пойдёте работать в «Яндекс».
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Как стать руководителем ИТ-команды за 5 лет
Как стать руководителем ИТ-команды за 5 лет

Александр Штыков: путь от контент-менеджера до тимлида.

Как подготовить резюме для крупной компании?

Инструкция новичкам от разработчика из Яндекс.Практикума.

Все сидят на Вордпрессе. Вам оно надо?

По понятным причинам в наше неспокойное время Вордпресс нужен всем

Двоичный калькулятор из бусин и палок
Двоичный калькулятор из бусин и палок

Выглядит странно, но при этом всё работает

Решение матричных уравнений
Решение матричных уравнений

Финальная глава саги.

Создаём CSS-сетку нужного размера

Рассказываем, как сделать шаблон любой страницы.

Хранение данных в дереве. Это как вообще?
Хранение данных в дереве. Это как вообще?

Знакомство с Trie: это дерево, которое помогает работать со словарями.

Можно ли отключить интернет?
Можно ли отключить интернет?

Разговор с техническим директором компании Qrator Артёмом Гавриченковым.

Начинающим программистам: что такое фреймворки и библиотеки
Контрольная сумма: что это и почему это важно

Рассказываем на примере покупок в магазине.

Какой софт нужен, чтобы стать тестировщиком
Какой софт нужен, чтобы стать тестировщиком

Можно и без него, но с ним удобнее

Как на microSD-карточке помещается 1 терабайт?

И это не предел.

«Никому не нужны высокомерные гении»
«Никому не нужны высокомерные гении»

ИТ-рекрутер об ошибках программистов на собеседовании.

easy