Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Bulat Ziganshin                      2:5093/4.126   12 Sep 2002  14:45:27
 To : Konstantin Stupnik
 Subject : ruby
 -------------------------------------------------------------------------------- 
 
 
 Wednesday September 11 2002, Konstantin Stupnik writes to Bulat Ziganshin:
 
  KS>>> Булат, не надо про руби :)
  KS>>> Я тебе вагон возражений выдам.
 
 я был фанатиком перла с 98-го года и до сих пор он у меня на втором месте среди 
 лучших и любимых языков :)  это язык гибкий и мощный, дающий максимум
 возможностей новичкам и множество дополнительных средств профессионалам.
 постепенно у меня появилась уверенность, что перл можно использовать не только
 для написания скриптов и апплетов, но и для создания больших программ, типа тех 
 же баз данных и архиваторов - ведь большая часть манипуляций в них связана с
 использованием сложных структур данных и алгоритмов, и не нуждается в
 оптимизации по скорости. про архиваторы я точно могу сказать - 90% кода в них не
 связано с собственно сжатием данных
 
 вот тут и обнаружилась дилемма - с одной стороны, перл даёт удобные и мощные
 средства манипуляции строками, массивами и хешами, которых не дают компилируемые
 языки. с другой стороны, средства организации более сложных структур данных в
 нём непрозрачны - что ссылки, что объекты. поэтому я принялся изучать другие
 скриптовые языки. у питона были замечательные средства ООП, но зато не было всех
 тех мелочей, которые делают перл таким удобным и практичным. про остальные языки
 - php, tcl, rebol - я лучше промолчу :)
 
 вот так я и вышел на раби - кстати, благодаря Алексу Фарберу, на странице
 которого был приведён сразу понравившийся мне пример кода на раби. этот язык был
 создан как ОО наследник перл4, поэтому в него перенесено максимум фишек перла,
 делающих его таким приятным - множество типов литералов, конструкторы
 списков/хешей/диапазонов, после-операторы (print if /\d/), использование $_,
 сворачивание/разворачивание списков при передаче параметров и т.д.
 
 но что самое интересное - взяв из перла всё самое лучшее, матц поместил это на
 самую современную теоретическую базу. раби - один из немногих чистых ОО языков. 
 что это значит? любые данные являются объектом - и числа, и строки, и диапазоны,
 и регэкспы, и хеши, и клозуры, и классы. эта унификация значительно облегчает
 инструментальное программирование - создание новых числовых типов,
 адьтернативных реализаций списков/хешей, средств удалённого вызова процедур и
 перманентного хранения данных, новых языковых механизмов и в частности
 продвинутых ОО техник
 
 если сравнивать персонально с перлом, то раби выигрывает в том, что переменные
 не разделены по типам данных, почти все объекты присваиваются и передаются по
 ссылке, являющейся стандартным представлением объекта. благодаря этому не
 возникает необходимости постоянного преобразования ссылок в значения и обратно. 
 для передачи параметра по значению, как и для сворачивания/разворачивания
 списков, есть явные операции
 
 даже только вышеприведённое делает раби удобным языком для программирования
 in-large, но у него есть множество и других очень полезных возможностей -
 mixins, синглетоны, доопределение классов (даже встроенных), алиасы и
 возможность переопределения старых методов, вложенные классы/модули,
 автогенерация методов присваивания, advanced OO techniques, итераторы, блоки,
 квази-мультипоточность, простой сишный интерфейс, очень удобный синтаксис,
 указание в имени переменной её области видимости, блестящий exception handling, 
 использование операторов в выражениях и опять же блестящий оператор case. это
 действительно язык, на котором приятно писать программу и приятно читать
 написанное
 
 я сейчас посмотрел на свои программы на раби - большинство функций в них на
 одну-две строки и большая часть кода доопределяет встроенные классы :)  это
 из-за того, что я пишу, используя нужный мне для этой конкретной задачи язык, и 
 затем доопределяю раби до этого языка :)  а ты ещё спрашиваешь "зачем нужна эта 
 объектно-ориентированность?"
 
 Bulat, mailto:bulatz-AT-fort.tatarstan.ru, ICQ: work 15872722, home 11849833
 
 ... Иногда для того, чтобы изменить свое восприятие мира,
 ... люди пытаются изменить сам мир
 --- GoldED+/W32 1.1.2
  * Origin: Чубайс - повелитель Тьмы (2:5093/4.126)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: lang   Konstantin Stupnik   09 Sep 2002 15:06:42 
 lang   Bulat Ziganshin   09 Sep 2002 20:40:50 
 Re: lang   Victor Wagner   10 Sep 2002 00:14:44 
 lang   Bulat Ziganshin   10 Sep 2002 09:45:25 
 Re: lang   Konstantin Stupnik   11 Sep 2002 14:33:16 
 ruby   Bulat Ziganshin   12 Sep 2002 14:45:27 
 Re: ruby   vilfred   14 Sep 2002 13:45:31 
 ruby   Bulat Ziganshin   14 Sep 2002 15:43:01 
 Re: ruby   Konstantin Sorokin   14 Sep 2002 17:50:07 
 Re: ruby   Konstantin Stupnik   16 Sep 2002 12:20:41 
 lang   Bulat Ziganshin   14 Sep 2002 16:01:13 
Архивное /ru.perl/33403d80a8a0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional