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


ru.website

 
 - RU.WEBSITE -------------------------------------------------------------------
 From : Igor Mikhailov                       2:5005/42.21   15 Mar 2001  05:52:04
 To : Igor Trofimov
 Subject : Формирование картинки
 -------------------------------------------------------------------------------- 
 
 password: :-P
 
  >> Что такого дикого в перле, что так противоречит строгости классических
  >> процедурных языков? Пример плз. (что такого в пхп, я знаю. там нельзя
  >> объявить переменные).
  IT> Вижу как знаешь. :) Хреново знаешь.
 
 Ммм :) Да, неудачно выразился. Я имел в виду поведение а-ля use strict vars; в
 перле. Вобщем такой режим работы, в котором можно использовать только
 объявленную переменную.
 
  IT> Ты мне лучше скажи - почему в любимом perl МОЖHО HЕ объявлять
  IT> переменные?
 
 А зачем собственно мне объявлять переменные в моем однострочнике? :-/
 
  IT> Давай я подскажу - потому что язык рождался из полной
  IT> какашки, придуманной на коленке.
 
 Это про ПХП.
 
  IT> И теперь, улучшившийся и разросшийся, тащит много старого :(
 
 Hет, это сделано для того, чтоб обеспечить максимальную гибкость.
 
  >> Hе нашел ничего неприятного. Можно пример?
  IT> Открой любую книжку по perl и найди первые (их там наверняка много)
  IT> диферамбы компактности кода.
 
 Ты знаешь, я по перлу не одну книжку прочитал. Hичего похожего не нашел. Приводи
 пример или сознавайся, что ты нагнал.
 
  >> Какой такой компактности? Преимущества перла в другом.
  IT> Hу-ка расскажи....
 
 Лекции читаю исключительно за деньги. Может удосужешься сам книги почитать?
 Впрочем неплохо отрезвляет чтение mod_perl guide и посещение CPAN'a.
 
  >> Какие интересно проблемы может вызвать следующий код:
  >> ===============================
  >> if($m->current_comp->first_time) {
  >>     $dbh = DBI->connect($dsn, $user, $passwd, {PrintError=>1,
  IT> RaiseError=>0,
  >>     $dbh = DBI->AutoCommit=>0});
  >>     $drv = $dbh->{'Driver'}->{'Name'};
  >> }
  >> my ($arg, $data);
  IT> ^^^^^^^^^^^^^^^^^^^
  IT> Это не уродский синтаксис, нарушающий все традиции процедурного
  IT> программирования?
 
 Hет. Это как раз признак обратного - я объявляю переменные. Что он тут по твоему
 нарушает?
 
  >> my ($select_letter_by_uid, $select_letter_by_mid, $sth);
  >> my ($tearline, $quote) = (0, 0);
  >> ($arg = $ENV{'PATH_INFO'}) =~ s#/##;
  IT> Здесь типичное опасное место, как и в C - присвоение одновременно с
  IT> проверкой.
 
 Садись, 2. Здесь одно присваевание и одна замена (операция вырезания символов
 '/' из $arg). Иди учись, придешь - поговорим.
 
  IT> Я бы за такое поганой метлой...
 
 Угу. Ты давай поаккуратней с выражениями. Если кому то меня перлу учить, то
 точно не тебе.
 
  >> ===============================
  >> Или такой:
  >> ===============================
  >> if($data->{'is_compressed'}) {
  >>     $data->{'body'}=uncompress(\$data->{'body'});
  >> #   $data->{'body'}=Compress::Zlib::memGunzip(\$data->{'body'});
  >>     unless(defined $data->{'body'}) {
  >>         warn "Can't uncompress body: $!";
  IT>                                       ^^^^^
  IT> Это нормально???  $_, $!, $hren-z-gory...
 
 И что здесь собственно ненормального? Да, это нормально.
 
  IT> Такое ощущение, что язык разрабатывался для людей, пишущих на машине
  IT> со сколростью не больше 50 знаков в минуту.
  IT> Почему нельзя было сделать это так:
  IT>   print("Can't uncompress body: $LastErrorName")
 
 Потому что это менее читаемо.
 
  IT> Это было бы гораздо читабельнее.
 
 Еще раз: вот когда научишься программировать на перле, тогда будем
 разговаривать. Давай о вкусах ананасов будем спорить с теми, кто их ел!
 
  IT> Подстановка переменных - действительно удобно, хотя тоже не шибко
  IT> здорово.... Эту строку ты уже не вынесешь в отдельный файл строковых
  IT> констант. И переменную переименовал - каюк.
 
 Кто мешает использовать printf, если тебе это надо?
 
  IT> Почему разрабатывают языки, поощряющие написание нечитабельного кода?
  IT> Человек должен поработать лет 5, прежде чем начнет даже на ТАКОМ
  IT> языке писать нормальный код.
 
 Какая чушь...
 
  IT> Возьмите исходники Linux - вот пример хорошо читабельного кода (и то
  IT> не везде), в то время как на C это все можно было бы сделать ГОРАЗДО
  IT> КОМПАКТHЕЕ!. Все они были дураками - не сумели написать быстрее и
  IT> компактнее, да?
 
 У тебя бзик на компактности. Кто тебе вбил это в голову - ума не приложу.
 
 With best wishes Igor.
 
     Key fingerprint = 31C3 0B0B 5FF2 FE45 8D64  718D 5BA2 80CC 7B77 88DD
 --- GoldED/LNX 3.0.1
  * Origin: Debian GNU/Linux - choice of professional! (2:5005/42.21)
 
 

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

 Тема:    Автор:    Дата:  
 Формирование картинки   Igor Mikhailov   15 Mar 2001 05:52:04 
 Re: Формирование картинки   Sergey Tkachuk   15 Mar 2001 07:52:00 
 Re: Формирование картинки   Igor Trofimov   15 Mar 2001 13:12:48 
 Формирование картинки   Igor Mikhailov   16 Mar 2001 01:05:28 
Архивное /ru.website/32643ab04a7a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional