Комраде Опиум ([info]ipatov_net) wrote in [info]ru_webmaster,

Посмотрел на PHP...

...и на унутренний код phpBB2. Яростно, неистово плевался - честно скажу, если бы я взялся делать свой web-script-язык ещё пару лет назад, вот примерно это бы и сделал. Подкожной замшей ощущаю все упрощения и методики построения - логичные, понятные - но так ведь не делают, если по-правильному! Дух home-made проекта, сделанного на коленке - и без предварительного планирования и обдумывания ощущается сразу же.

Если бы я делал web-script на коленке, по методу "решаем проблемы по мере их возникновения", то вышло бы то же самое, ровным счётом. Именно поэтому я не делаю web-script на коленке, а поручаю сиё более профессиональным средствам - кросс-транслятор в Borland Delphi (с возможностью вкрапления Object Pascal-кода) - это лучшее что мне пришло на ум, хоть это и ни разу не бесплатное решение. Кросс-трансляторы - это вообще, я считаю, один из лучших подходов на все времена года - да, у этого подхода немало своих минусов, но плюсов всё-таки больше. Разве что с отладкой могут возникнуть определённые проблемы.
...
От того, как в PHP реализовано взаимодействие с СУБД - стошнило сразу же. Чувствуется, что люди не знакомы с ООП вообще.
...
Да, попробовал поюзать триальную версию Delphi for PHP v 1.x - феноменальный отстой. Ждём новых версий, впрочем что-то мне подсказывает, что сама идеология сего продукта порочна в своей основе.

  • Post a new comment

    Error

  • 141 comments

[info]igorbasic

July 18 2008, 21:13:59 UTC 3 years ago

будет много камментов?)))

[info]ipatov_net

July 18 2008, 21:19:46 UTC 3 years ago

"И доказательств никаких не требуется, — ответил профессор... Христос существовал" (с) Воланд

Я считаю, что PHP так котируется по одной простой и банальной причине - по причине бесплатности и кросс-платформенности. Ну, и по причине того, что это сейчас модно. Умри, PHP.

Так же как и MySQL. После MySQL посмотрел на PostgreSQL (который, впрочем, тоже бесплатный)... MySQL - недобаза для проектов с минимальным уровнем участия СУБД. То, что на ней делают проекты вроде MediaWiki - это героизм, за такое ордена давать надо, я щитаю. Орден Сутулого.

[info]ipatov_net

3 years ago

Deleted comment

[info]ipatov_net

July 18 2008, 21:26:28 UTC 3 years ago

Каша? Нет, в результате вылезет вполне себе приличный html, отгенерённый DLL-кою, которая получается в результате всех кросс-трансляций.

source html -> pas -> dll -> profit.

Вот, например, кусок исходника include-странички в моём проекте, в результате имеем DLL-ку, которая генерит что надо.


<-document "sessions/main.html" document->

<-init
  Context.AddSubValue('logged', CreateBooleanValue(false));
init->

<-code
  if Context['logged'].AsBoolean.Value then
  begin
    WebContext.Redirect('http://'+WebContext.Request.Host+WebContext.Request.InternalScriptName+'/site/main.html');
    Result:=CreateTextValue;
    Exit;
  end;
code->

<-form
  <table class="form" cellspacing="0" cellpadding="3">
  <tr><td colspan="2" class="form_header">
    <table cellspacing="0" cellpadding="0" border="0">
    <tr>
    <td style="vertical-align: middle; font-weight: bold; color: White; padding-left: 5px;" width="100%">Вход</td>
    </tr>
    </table>
  </tr>
  <tr><td>Пользователь:</td><td><input type="text" name="<-name "user" name->"></td></tr>
  <tr><td>Пароль:</td><td><input type="password" name="<-name "password" name->"></td></tr>
  <tr><td colspan="2"><input type="submit" value="Войти" onclick="<-action "login" action->"></td></tr>
  </table>
  <br>
  Вы ещё не зарегистрированы? Регистрацию можно пройти <a href="<%= _ScriptName %>/site/main.html">здесь</a>.
  <-action_field->
  <-saved_context->
form->

<-update
  if Params.HasSubValue('action') then
  begin
    if Params['action'].AsString.Value = 'login' then
    begin
      Context['logged'].AsBoolean.Value:=
        Engine.Login(WebContext, Params['content.user'].AsString.Value,
          Params['content.password'].AsString.Value);
    end;
  end;
update->


[info]ipatov_net

3 years ago

[info]dmitriyecho

July 18 2008, 21:24:27 UTC 3 years ago

"кросс-транслятор в Borland Delphi (с возможностью вкрапления Object Pascal-кода) - это лучшее что мне пришло на ум"

Ну ну ) пишите свои веб приложения на borland delphi. Успехов Вам ) а вообще это очень смешно.
Знаете что надо сделать чтобы все было эффективно, хотябы немного эффективнее?
Взять чистый компилятор с++ и писать на нем, а лучше, уж совсем на асме. А то что Вы тут говорите - извините хуйня полная

[info]ipatov_net

July 18 2008, 21:29:18 UTC 3 years ago

>Взять чистый компилятор с++
Спасибо, посмеялся. Если бы Вы сказали "C", я бы смеялся не так неистово.
C++ или Delphi - это тот же хуй, только в профиль. Кстати, замерял время генерации достатончо сложных страничек без участия СУБД. Время крайне быстрое. Потому что это нормальный исполняемый код, а не интерпретируемое уродство. И не настолько Borland Delphi (версии 7, я пользую там) хуже, чем прочие компиляторы. Хотите холивара? Их будет Вам.

[info]dmitriyecho

July 18 2008, 21:39:41 UTC 3 years ago

Знаете, идите в жопу со своим delphi. Я заканчиваю университет по специальности системное программирование, и у нас есть правило всех преподавателей - пиши хоть на листе, прологе, фортране, асме, но с delphi - иди на хуй. А то что Вы не видите разницы между бинарным кодом c++ и тем что выдает delphi - проблемы Вашег образования )

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]zogmeister

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]ipatov_net

3 years ago

[info]alexhack

3 years ago

[info]ipatov_net

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]turbobeholder

July 19 2008, 07:14:33 UTC 3 years ago

Это спрайтики !

Таки уж на что я... хм... очень далеко не Крутой Кодер, но ещё до напейсания первой строчки на Сях (честно говоря, QuakeC ) почему-то воспринимал C++ и Borland Pascal как варианты одного языка, отличающиеся почти иСКЛючительно операторными скобками синтаксисом.
Не знаю, почему так. Возможно, из-за того, что до встречи с первым ыкстюком уже успел поиграть в игрушки на более неиллюзорных мойшинах, и заметил, что большую часть оных можно было бы получить друг из дружки, просто заменой спрайтов (нонче — морделек/скинов, конечно). После чего как-то постепенно спрайтики начинают видеться отдельно, а то, что из них сложено — отдельно. А потом заметил, что везде так же, и даже начал немного удивляться холиварам между Левой Верхней и Правой Нижней проекциями одной и той же задницы.

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

[info]ipatov_net

3 years ago

[info]igorbasic

3 years ago

[info]ipatov_net

3 years ago

[info]igorbasic

3 years ago

[info]ipatov_net

3 years ago

[info]igorbasic

3 years ago

[info]ipatov_net

3 years ago

[info]igorbasic

3 years ago

[info]ipatov_net

3 years ago

[info]igorbasic

3 years ago

[info]zogmeister

3 years ago

[info]igorbasic

3 years ago

[info]ipatov_net

3 years ago

[info]igorbasic

3 years ago

[info]ipatov_net

3 years ago

[info]ad_redhead

3 years ago

[info]zogmeister

3 years ago

[info]ipatov_net

July 18 2008, 21:35:48 UTC 3 years ago

Да, Вы наверное думаете, что я занимаюсь кросс-трансляцией каждый раз при генерации странички?
Вы ошибаетесь. Только при изменении содежимого сырца, автоматом. В нормальном режиме всё делает DLL-ка.

[info]dmitriyecho

July 18 2008, 21:44:24 UTC 3 years ago

я не думаю. я думаю что вы сделали убогую дллку которая минимум весит 500 кб, и думаете что это очень удобно. а когда к вам пойдет больше 500 человек в день сразу начнутся проблемы

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

July 18 2008, 21:39:47 UTC 3 years ago

Ох, не понял Вашей мысли сразу, извините.

На то он и кросс-транслятор, чтобы переводить удобный для web-программинга код в код, который уже компилируется компилятором.

Кстати, кросс-транслятор давно уже написан и успешно используется, если что. 1 месяц работы в расслабленном режиме и всё работает как надо. Фактически, web-платформа.

Cчитаете этот код негодным?

Да, для перевода исходника в object pascal source используется такое, что если я Вам скажу что именно, Вы меня назовёте маниаком и Объёмной Осознающей Сущностью. Но это сделано и работает уже.

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]zogmeister

3 years ago

[info]zogmeister

3 years ago

[info]igorbasic

3 years ago

[info]igorbasic

July 18 2008, 22:56:21 UTC 3 years ago

Этот транслятор то кем написан? Вами? Если Вами, то оправдано ли его создание? Почему бы не использовать готовую .net например?

А что мне нравилось в php - тотальный контроль каждого байта гуляющего от сервера к клиенту и обратно)

[info]ipatov_net

July 18 2008, 23:08:55 UTC 3 years ago

Мною написан транслятор :) А создание... Ну, тут и самому было интересно сделать :) История создания длинная, вообще. Я, как дельфинист со стажем, уже делал (и оно работало, кстати) простую такую на-коленке CMS & Forum в 1999-м волосатом же году под BD. Для тех времён нормально так смотрелось :) Потом решил тряхнуть стариной, ну и уже на новом уровне. Поюзал технологию WebSnap - на первый взгляд выглядит хорошо, но вот если на зубок попробовать... жесть, АДЪ и ИЗРАИЛЬ (с). Когда страничка генерится 0.5 секунды на PIV 3.5 Ггц при цикле внутри скрипта на 50 итераций - это диагноз. Точнее говоря - приговор. Ибо генерить на JavaScript от MS через OLE Automation... Эх.

А вот к .net у меня отношение предвзятое, каюсь. Но ругать его не буду, не настолько с ним знаком, чтобы ругать :) Просто у нас в конторе есть прибор, сделанный под виндой и на .net (дада! именно, прибор!) - от скрости работы оного фалломорфирую :) Да и скорость работы среды разработки под .net, что от MS, что от Borland Delphi как то мне грустно делается...

Кстати, под BD тоже полный контроль всего :)

PS. Кстати, сижу и пью виски. Настроение - обалденное :) На часах 5 часов утра :)

[info]_seq_

July 19 2008, 05:54:49 UTC 3 years ago

Афтар адназначна приспиктивный кулцхацкер!

[info]ipatov_net

July 19 2008, 05:58:07 UTC 3 years ago

Ато. А ещё я умею грабить корованы!

[info]ex_jonjonson42

July 19 2008, 05:57:25 UTC 3 years ago

неудачник

[info]ipatov_net

July 19 2008, 05:58:46 UTC 3 years ago

Подписываться под своим сообщением - это хорошо.
Оставлять сообщения, состоящие только из подписи - это плохо.

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]metarattus

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]ipatov_net

3 years ago

[info]turbobeholder

July 19 2008, 08:11:17 UTC 3 years ago

Последствия:

Кстати да, с PHP... действительно что-то нездоровое. Сравнимо только с GUI-построительной шизофренией. Такое же "у меня есть клюф молоток, пойду искать, по чему бы подолбить".
Вот смотрю я на унылую, сиротливую, месяцами не обновляющуюся страничку местечкового провайдера, и думаю — а на гугля ж там нужны PHP (кроме BB) и флэш, если даже при замене последнего на анигиф будет "не пришей кобыле хвост" ? Зато шестиугольные кнопки зигзугом, очень удобно, ага. Вспоминаю, как учавствовал в клонировании и реанимации другой странички, поначалу ещё дивился тотальному PHP'ованию...
Опять же, время от времени наведываюсь на Rolemancer.ru, давно уже. Вполне красиво, много, занимались им, молодцы. Жаль только не всегда работало. Это вообще звездец какой-то. У них каждый год лет 10 подряд этими скриптами сервер давился, обслюнявливался, впадал в летаргию, что-то терялось, были проблемы с хостингом такого монстра — но нет, никак. Смотрел на здоровенные сохранённые странички, много и грустно думал. Вот чего не понимаю: ну не нравятся людям фреймы, по теологическим сооражениям. Ладно. Но почему тогда их, не знаю, хоть в жабоскрипт, что ли не заворачивать ? Может, и уродство было бы, но не такое же ! "Нормальные герои всегда идут в обход" (ц)Айболит-69, а Настоящие Герои действительно делают на PHP всё. Всегда. Увы.

[info]ipatov_net

July 19 2008, 08:33:15 UTC 3 years ago

Re: Последствия:

Это потому что в человеке до сих пор сильна символистическая атавия. Если сделано на PHP - то это круто и тру. А если не на PHP - то это тренд и поуз. Ну и эффект стайки бокланов, разумеется - вот я тут наговорил лишнего про PHP - отто вот как закурлыкали! А теперь представьте, как они все не хотят такого вот курлыканья в свой адрес? Не дай Б-г священную корову зарежешь - обчиство низабудит нипрастит. Чего доброго, отсталым, некчёмным человеком объяхвит.

[info]kisa_i_osya

July 19 2008, 14:25:02 UTC 3 years ago

Астронавты архитектуры, гыг.

Читаем Спольски: http://local.joelonsoftware.com/mediawiki/index.php/%D0%9D%D0%B5_%D0%B4%D0%B0%D0%B9%D1%82%D0%B5_%D0%90%D1%81%D1%82%D1%80%D0%BE%D0%BD%D0%B0%D0%B2%D1%82%D0%B0%D0%BC_%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B2%D0%B0%D1%81_%D0%B7%D0%B0%D0%BF%D1%83%D0%B3%D0%B0%D1%82%D1%8C

А серьезно, таки д, есть масса более стройных решений. Сегодня. А тогда, когда начался PHP, была только одна альтернатива: CGI и Си++. Ну, еще хитрые извраты, вроде WebObjects.

P. S. И попробуйте прикинуь как в вашем случае решить задачи безопасности.

[info]lysyj_jah

July 20 2008, 04:41:43 UTC 3 years ago

Блииин, неужто ООП действительно привели в качестве ПОЛОЖИТЕЛЬНОГО примера ?!

[info]ipatov_net

July 20 2008, 13:16:09 UTC 3 years ago

Г-ди, ну ООП-то Вам чем не угодил?
И эти люди называют меня консерватором?

[info]lysyj_jah

3 years ago

[info]pasha_e

July 20 2008, 14:11:40 UTC 3 years ago

пхп как пхп, паскаль как паскаль, си как си..
о чём спор?
каждому своё..

если бы взялись делать пару лет назад, то возможно так же и сделали. но его почему то сделали раньше. гораздо.
если имеете мысли и представления - сделайте сейчас то, будет круто по сегодняшним меркам, и останется широво используемым дерез 10- лет :)
на мой взгляд пхп крут бесплатностью (не у всех же делфи на каждом углу продают за стольник), распространённостью у хостеров (чё то вроде щас ехе-шный скрипт запостить не все возьмутся), и простотой (ну проще он гораздо.. не поспоришь)
а офигенно крутые вэб проекты редко пишут на пхп.
ну а про то что вы пишете на делфях мониторинг плавильных печей.. ну, нравится - пишите :).. у меня знакомый работает в конторе, один из отделов которой пишет мониторинг и управление для сердечников охлаждения на АЭС. на делфи. цитирую - "мне страшно жить в этой стране"

[info]ipatov_net

July 20 2008, 14:15:09 UTC 3 years ago

один из отделов которой пишет мониторинг и управление для сердечников охлаждения на АЭС. на делфи
Не, ну это зависит от прямоты рук программистов, и только от них. Да и нижний уровень наверняка - на контроллерах, а дельфа только отображает, да передаёт команды в контроллеры. Всё так и есть скорее всего :)

А вообще, Ваш пост - это редкий образчик умного, сбалансированного и обдуманного поста. Респект!

[info]kriptor

July 24 2008, 11:59:32 UTC 3 years ago

я извиняюсь, может я чуток не допонял, но имеет ли это какое либо отношение как оптимизация веб сайтов? Заранее спасибо...
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…