Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #55, ИЮНЬ 2005 г.

Языки будущего

Крис Касперски ака мыщъх

Спецвыпуск: Хакер, номер #055, стр. 055-052-5


В новом языке (если такой вдруг появится), скорее всего, будут встроены автоматический сборщик мусора (эта такая штука, которая освобождает неиспользуемую память) и поддержка динамических массивов с контролем границ (чтобы хакеры не могли переполнить буфер и заслать агрессивно настроенного червя). Стек, динамическая и глобальная память наверняка атрофируются, хорошо если сам термин "память" продолжит существовать. Программирование без переменных не только возможно, но и удобно! Синтаксис станет более свободным и демократичным, а контроль ошибок - ужесточится до предела. В идеале все синтаксические ошибки транслятор будет исправлять сам. Наследие логических языков (типа Пролога) также найдет себе применение. Программист говорит, что он хочет, а компилятор/интерпретатор решает, как это реализовать.

Сколько ресурсов все это будет жрать, лучше даже и не пытаться представить себе. Любые траты, направленные на упрощение программирования, по определению оправданы. Это же компьютер создавался, чтобы служить человеку, а не наоборот. Трагедия в том, что по-настоящему удобный язык никогда не будет коммерчески успешным. Такой язык не требует ни полноводного потока учебной литературы, ни курсов повышения квалификации, ни армии консультантов. К тому же язык программирования нельзя сесть и выдумать просто так. Настоящие языки возникают лишь естественным путем.

Пара пинков напоследок

Каким бы плохим/хорошим ни был приплюснутый С, закидывать его камнями - это не хакерский путь. А почему бы не попробовать создать свой собственный язык? Запрограммировать на нем пару-тройку программ, показать друзьям, выложить в Сеть. Не стоит ждать, пока кто-то это сделает за нас. Не стоит хвататься за уже существующие языки только потому, что работодатели их требуют. Работодатели у нас довольно демократичные, и часто им самим приходится объяснять, чего они хотят, а чего нет. Конечно, подавляющее большинство отечественных фирм не могут позволить себе финансировать разработку нового языка, а уж тем более не в состоянии продвинуть его на рынок. Но практически каждый второй студент технического ВУЗа вынашивает идею собственного языка, и каждый десятый создает минимально работающий интерпретатор, а в некоторых случаях и компилятор, в процессе написания которого решаются сложные технические задачи и рождаются интересные идеи. Может быть, прямо здесь, в этот день, в этот час, в эту секунду, кто-то пишет язык, которому предстоит стать основным языком программирования на следующие полсотни лет.

Классификация языков программирования.

Императивные - языки, представляющие собой последовательность команд, в основном оперируют ветвлениями и операциями присвоения.

Декларативные - языки, описывающие отношения между данными. Алгоритм скрывается семантикой языка.

Функциональные - языки, ориентированные на операции с функциями. Переменные и ветвления в них либо вообще отсутствуют, либо практически не используются.

Назад на стр. 055-052-4  Содержание  Вперед на стр. 055-052-6