Языки программирования. Обзор-ликбез.
И, наконец, третий принцип построения программ сейчас стал особо
популярен вместе с развитием таких сред программирования, как
Delphi и MS VC++. Этот принцип заключается в том, что весь код
программы пишется как реакции на определенные системные события.
Например, нажал пользователь кнопку - система смотрит, что там
в программе за обработчик клавиатуры, есть он или нет и если есть,
то передает ему управление, а уж он решает, что делать с кодом
нажатой клавиши - принять и зафиксировать или послать юзера чистить
мусорную корзину у Windows. У такого подхода есть большие преимущества
в скорости написания пользовательского интерфейса - красивых формочек
и кнопочек набросал, подправил, код набил быстренько и... готово!
;-) Но по большей части этот принцип соединяют с каким-либо из
предыдущих. Для Unix/Linux систем был даже разработан специальный
язык (чуть позже его перевели и на Windows/Dos платформы, и на
OS/2) в полном соответствии с таким событийным механизмом работы
- Tcl/Tk. Сам по себе он способен на многое, но пока что все его
реализации очень медленны. Кроме всего прочего, к нему можно сделать
привязки из других языков. Поскольку все программы и описания
форм и их элементов - кнопок, надписей, полей ввода - текстовые,
то идеально для этой задачи подошли Perl и Python. Оба этих языка
изначально задумывались авторами в основном для рутинной обработки
большого количества текстов - лог-файлов, конфигурационных файлов
и т.д. Это сказалось на их синтаксисе и наборах стандартных функций.
И хотя это так, оба этих языка все равно великолепны. Они чрезвычайно
удобны и интуитивно понятны - недаром создатель одного из них
Ларри Уолл сделал девизом этого языка фразу: "There is more than
one way to do it!" - в смысле, "Всегда есть больше одного способа
сделать это!" Пожалуй, оба этих языка можно посоветовать и для
самых начинающих, только стоит помнить, что на самом деле они
гораздо сложнее, чем, скажем, Pascal или C. Но зато, наверняка,
настоящий талант проявит себя в этих языках гораздо сильнее, поскольку
они имеют очень гибкую структуру. Например, ввод и обработка данных
на Perl'e может выглядеть следующим образом:
#!/usr/bin/perl -w
while (<>) { # считываем строчки с консоли (или если заданы
файлы в командной строке - из них)
print; # выводим строчку
}
А может и так:
#!/usr/bin/perl -w
print while (<>);
Что намного короче, но выполняет то же самое. А вот и третий
вариант:
#!/usr/bin/perl -w
print (<>);
Кто короче? ;-))) Причем, первое, что бросается в глаза - это
не только выполнение правила "краткость - сестра таланта", но
и то, что язык программирования становится похож на обычный разговорный
(хоть и английский - басурманский) язык! Вполне вероятно, что
лет эдак через 10-15 программы будут писать все кому не лень только
потому, что языки программирования будут копиями нормальной речи.
;-) Да что там 10-15 лет, когда стихи на Perl'е пишут уже сейчас.
;-) При том, что это вполне работоспособные программы: