Языки будущего Крис Касперски ака мыщъх Спецвыпуск: Хакер, номер #055, стр. 055-052-5 В новом языке (если такой вдруг появится), скорее всего, будут встроены автоматический сборщик мусора (эта такая штука, которая освобождает неиспользуемую память) и поддержка динамических массивов с контролем границ (чтобы хакеры не могли переполнить буфер и заслать агрессивно настроенного червя). Стек, динамическая и глобальная память наверняка атрофируются, хорошо если сам термин "память" продолжит существовать. Программирование без переменных не только возможно, но и удобно! Синтаксис станет более свободным и демократичным, а контроль ошибок - ужесточится до предела. В идеале все синтаксические ошибки транслятор будет исправлять сам. Наследие логических языков (типа Пролога) также найдет себе применение. Программист говорит, что он хочет, а компилятор/интерпретатор решает, как это реализовать. Сколько ресурсов все это будет жрать, лучше даже и не пытаться представить себе. Любые траты, направленные на упрощение программирования, по определению оправданы. Это же компьютер создавался, чтобы служить человеку, а не наоборот. Трагедия в том, что по-настоящему удобный язык никогда не будет коммерчески успешным. Такой язык не требует ни полноводного потока учебной литературы, ни курсов повышения квалификации, ни армии консультантов. К тому же язык программирования нельзя сесть и выдумать просто так. Настоящие языки возникают лишь естественным путем. Пара пинков напоследок Каким бы плохим/хорошим ни был приплюснутый С, закидывать его камнями - это не хакерский путь. А почему бы не попробовать создать свой собственный язык? Запрограммировать на нем пару-тройку программ, показать друзьям, выложить в Сеть. Не стоит ждать, пока кто-то это сделает за нас. Не стоит хвататься за уже существующие языки только потому, что работодатели их требуют. Работодатели у нас довольно демократичные, и часто им самим приходится объяснять, чего они хотят, а чего нет. Конечно, подавляющее большинство отечественных фирм не могут позволить себе финансировать разработку нового языка, а уж тем более не в состоянии продвинуть его на рынок. Но практически каждый второй студент технического ВУЗа вынашивает идею собственного языка, и каждый десятый создает минимально работающий интерпретатор, а в некоторых случаях и компилятор, в процессе написания которого решаются сложные технические задачи и рождаются интересные идеи. Может быть, прямо здесь, в этот день, в этот час, в эту секунду, кто-то пишет язык, которому предстоит стать основным языком программирования на следующие полсотни лет. Классификация языков программирования. Императивные - языки, представляющие собой последовательность команд, в основном оперируют ветвлениями и операциями присвоения. Декларативные - языки, описывающие отношения между данными. Алгоритм скрывается семантикой языка. Функциональные - языки, ориентированные на операции с функциями. Переменные и ветвления в них либо вообще отсутствуют, либо практически не используются. |