LINUX.ORG.RU

Ответ на: комментарий от anonymous

>Ладно, вопрос к eRazor на засыпку: почему абсолютное большинство реально работающих интернет-магазинов не пишется на java, а пишется на php. Среди них есть довольно большие и дорогие проекты, в которые вложено немало денег. Почему так происходит? Ведь судя по твоим словам - это вотчина джавы.

Затрудняюсь ответить, различия в стоимости хостинга? Хотя, по крайней мере, не в России это не проблема. Скорее всего дело в большой армии PHP кодеров. Там где я живу дело обстоит следующим образом: имеется хренова туча курсов "повышения квалификации" на которые народ ходит. Я имел возможность ознакомится с программами по Java и PHP -- я беседовал с людьми прошедшие их. Возьмусь утверждать, что качество обучения PHP выше, т.к. ему проще обучить. В Java курсе было беглое скакание по верхушкам, _только_ после которого человек написать интернет-магазин не в состоянии.

А что статистика какая-то на это есть?

И какова твоя версия?

Ты мне литературу / url скажешь-таки где можно почитать рекомендации как писать большие вещи исп. процедурную парадигму?? (Или я не с тобой беседовал?)

eRazor ★★★
()
Ответ на: комментарий от eRazor

> Я говорил о механизме вывода типов, который определяет тип переменной исходя из контекста.

А вот здесь я слегка не совсем понял, о чем идет речь. Пояснишь?

int19h ★★★★
()
Ответ на: комментарий от eRazor

> Затрудняюсь ответить,

Что и требовалось доказать ;) Продолжим дискуссию, когда данное
затруднение исчезнет ;) Иначе говорить не о чем.

> Скорее всего дело в большой армии PHP кодеров. Там где я живу

Не будем обсуждать, как обстоят дела там, где ты живёшь. Попробуй
объяснить этот феномен для столичных городов - msk, spb ;)

anonymous
()
Ответ на: комментарий от int19h

> Я говорил о механизме вывода типов, который определяет тип переменной исходя из контекста. >А вот здесь я слегка не совсем понял, о чем идет речь. Пояснишь?

Ну, то что переменные автоматом создаются. Достаточно в присвоении одного объекта другому в написании объекта справа от знака равенства допустить синтаксическую ошибку и всё, никакой ругани компилятора и работает не так как ожидалось. Автоматом создастся новый объект значение которого присвоится левостоящему объекту.

eRazor ★★★
()
Ответ на: комментарий от int19h

Наверное он не знает о функциях для проверки типов в php.

anonymous
()
Ответ на: комментарий от eRazor

> Всё торчит наружу как public методы, отсутствие static методов и классов

static методы вообще-то есть =) А static-классы - это что за зверь? Нет, я знаю что это означает в яве, но каким боком оно к PHP?..

> отсутствие константных объектов внутри классов

Это в смысле const? То есть, извините, static final? =) Так это по сути своей рюшечка. Скажите, вы вот много людей видели, которые, прочитав в доках, что "A - константа", пытаются потом присвоить A какое-нибудь значение?

Нет, оно конечно штука полезная, не спорю. Но к ООП не имеет ни малейшего отнощения

> и какой полиморфизм, когда и так любой объект является как бы полиморфным? Это херит существующие ООП методики делая их применение бессмысленным.

Вот такой вот полиморфизм (с). Так я не понял, а в чем собственно проблема? И как это он "херит существующие методики" - я слегка не понял...

> Так же отсутствие множественного наследования хотя бы интерфейсов.

А вот в том и гибкость скриптовых dynamic-typed языков, что не нужны им интерфейсы. Если в той же яве это действительно единственное средство имитации множественного наследования, то в языках типа PHP и питона - не более чем очередная "подстраховка". Не спорю, полезная местами - потому их в PHP5 и сделали. Но не критичная.

> В чём инкапсуляция заключается, когда методы закрыть нельзя?

В том, что КАК эти самые методы работают - ты все равно не знаешь. Ну и опять же, все эти public/protected/private по идее должны всего лишь _дополнять_ документацию. Если там написано что "это не трогать, оно private", то и не фиг его трогать, даже если язык в принципе позволяет. Хорошо, когда компилятор такие ошибки отлавливает - но в целом опять же некритично.

int19h ★★★★
()
Ответ на: комментарий от anonymous

Я тебя не понял. Мы же ведём беседу вообще о PHP как языке придном для создания больших проектов.

Сначала ты обозвал меня ламером, потом сказал, что то что я говорю это неправильно, потом сказал, что OOП это что-то типа ошибки природы, потом голословно заявил что существуют общедоступные методики процедурного программирования которые обошли меня стороной и заявил о неком преобладании интернет-магазинов написанных на PHP.

Единственное!!! что ты полезного сказал -- это ссылка на http://phpwebsite.appstate.edu/ На то, что я тебе говорил ты просто отмахивался фразами, "вот когда, тогда и поговорим", "тебе так сказали ты и поверил" и пр.

В общем, я развожу руками и пожимаю плечами.

eRazor ★★★
()
Ответ на: комментарий от eRazor

Хех, RTFM! =) Прописываем в php.ini такую вот строчку:

error_reporting = E_ALL

И PHP начинает отлавливать обращения к неинициализированным переменным. Что показательно, в рекомендуемой версии php.ini все настроено именно так.

int19h ★★★★
()
Ответ на: комментарий от anonymous

>Среди них есть довольно большие и дорогие проекты, в которые
>вложено немало денег. Почему так происходит?
1. Покажи мне большой магазин. По определнию это тривиальная задача выборка 2х сущностей из бд и храниение списка в сессии. Это самое что не наесть вотчина PHP-пионеров. Для определения размера (и, соответственно, цены) проекта существуют разные метрики. Наиболее рапространенное - количество классов (процедур). Сколько реальному магазину нужно функций/процедур/php страничек? Не больше 10. Если у тебя больше, думай про рефкторинг.
2. Большое количество магазинов есть и на Java, в частности в качестве прмеров к разным фреймворкам и CMS.

anonymous
()
Ответ на: комментарий от eRazor

> Мы же ведём беседу вообще о PHP как языке придном для создания больших проектов.

У меня складывается такое впечатление, что мы уже скорее ведем беседу о том, а что собственно надо для создания больших проектов. И что, вообще, это такое - "большой проект" - в применении к веб-приложениям =)

int19h ★★★★
()
Ответ на: комментарий от anonymous

> Покажи мне большой магазин.
http://www.dostavka.ru/
http://www.megashop.ru/

> По определнию это тривиальная задача выборка 2х сущностей из бд

Ну, во-первых, любую сложную вещь можно описать упрощённо:
Автомобиль - это по определению тривиальная повозка с колёсами и мотором ;)
А во-вторых, какими бы тривиальными эти магазины не были - это большие
и серьёзные коммерческие проекты, приносящие немалые прибыли. Ты только
что сделал утверждение, что яве в таких проектах делать нечего ;)
Ну, значит, как минимум php незаменим для этой ниши бизнеса! Заметь,
это не моё утверждение, а логический итог твоего ;)

anonymous
()
Ответ на: комментарий от anonymous

> Большое количество магазинов есть и на Java, в частности в качестве прмеров к разным фреймворкам и CMS.

А можно без примеров и фреймворков, а реальный список Большого
Количества Работающих Магазинов на java? ;)

anonymous
()
Ответ на: комментарий от anonymous

>А можно без примеров и фреймворков, а реальный список Большого
>Количества Работающих Магазинов на java? ;)
Ирония не к месту, магазинов на Java действительно много делают, особенно за рубежом, сказывается сановский маркетинг.

google.com
Java e-commerce = 2,660,000
php e-commerce = 3,070,00
разница небольшая, хотя мне кажется что реально магазинов на php приблизительно в 2-3 раза больше.

Первый попавшийся список работающих
http://www.smilehouse.com/references.shtml

anonymous
()
Ответ на: комментарий от anonymous

>Ну, во-первых, любую сложную вещь можно описать упрощённо:
>Автомобиль - это по определению тривиальная повозка с колёсами и мотором ;)
Еще раз вопрос сколько сущностей в бд твоего магазина?

>что сделал утверждение, что яве в таких проектах делать нечего ;)
>Ну, значит, как минимум php незаменим для этой ниши бизнеса! Заметь,
>это не моё утверждение, а логический итог твоего ;)

Ну почти правильно - для простых веб-приложений достатчно php(но это незначит что он незаменим и их нельзя делать на Java!). С этим никто и не спорил.

Для меня, как для программиста, изучение и программирование на php не принесло ни морального (язык не содержит никаких интересных идей) ни материально (это скил есть у каждого студента) удовлетворения. В отличии от Java, где есть куча интересного как в плане реализованных библиотек так и в плане подходов - традиционное ОО, аспекты, а теперь еще и обощенное программирование, ну и конечно на зарплате знание Java хорошо сказываются.

anonymous
()
Ответ на: комментарий от anonymous

>Кликнул три первых - и где там java?
На сервере. Это постороенно на магазине что предлагает корневой сайт.
В отличии от php в Java часто строят обработку запросов на одном сервлете - он редиректит запросы .html в jsp или еще куда-нибудь и возвращает html-код. То есть .html в адресной строке ни о чем ни говорит.

anonymous
()
Ответ на: комментарий от anonymous

> То есть .html в адресной строке ни о чем ни говорит.

Уверен? Хорошо. Будем считать, что ты показал реально _один_ движок на
java, который вроде бы используется в реальных магазинах, пусть даже
очень маленьких и несерьёзных ;) А теперь попросим подобный список
для России...

anonymous
()
Ответ на: комментарий от anonymous

> Еще раз вопрос сколько сущностей в бд твоего магазина?

Сбился со счёта ;) А сколько нужно для полного счастья? ;)

anonymous
()
Ответ на: комментарий от anonymous

> не принесло ни морального (язык не содержит никаких интересных идей)

Хм, а всегда считал, что интересные идеи должны содержаться в твоём
коде, а не в языке как таковом...

> ни материально (это скил есть у каждого студента)

"Этот скил" - это какой? Судя по твоим отзывам о php - никакой ;)
А сколько, если не секрет, достаточно для материального удовлетворения
с твоей точки зрения?

anonymous
()
Ответ на: комментарий от anonymous

>Уверен?
Да. Например, сейчас работаю с движком http://www.webarts.de/ (это cms с функциями магазина), именно так там все и работает.

>Хорошо. Будем считать, что ты показал реально _один_ движок на
>java, который вроде бы используется в реальных магазинах, пусть даже
>очень маленьких и несерьёзных ;)
Не буду тебя убеждать что магазинов по сравнению с php много, для этого нужно делать анализ рынка, а это стоит времени и денег.
>А теперь попросим подобный список для России...
Я нахожусь не в России, и делаю программы не на российский рынок, поэтому не могу ответить, опять же это требует времени.
Если говорить не только о магазинах, вот пара примеров
www.linux.org.ru
www.linux-online.ru

anonymous
()
Ответ на: комментарий от anonymous

>Хм, а всегда считал, что интересные идеи должны содержаться в твоём
>коде, а не в языке как таковом...
Идеи есть, как я написал, и в языке и в самом коде. Язык программирования обычно предполагает некоторую парадигму или несколько парадигм программирования, какой-то путь проектирования программы, это и есть идеи.

>"Этот скил" - это какой? Судя по твоим отзывам о php - никакой ;)
C php большинство начинают освоение web-программирования, поэтому он есть у большинства претендующих на работу веб-программиста резюме. Это вызывает возражения?
>А сколько, если не секрет, достаточно для материального >удовлетворения с твоей точки зрения?
Больше чем средняя зарплата веб-программиста.


anonymous
()
Ответ на: комментарий от anonymous

Одно (PHP) другому (Java) не мешает. Знать оба - не повредит. Мало ли какая работа подвернется...

int19h ★★★★
()
Ответ на: комментарий от anonymous

> какой-то путь проектирования программы

А свой путь иметь никак нельзя? Естественно, опираясь на огромное
количество уже существующих путей?

> C php большинство начинают освоение web-программирования

Это никого не волнует, кто и с чего начинает _освоение_. Реально
меня интересуют люди, _высокопрофессионально_ работающие с языком.

> Больше чем средняя зарплата веб-программиста.

Брр. Тогда назови "зарплату" веб-программиста. Впрочем, с тобой и так
уже всё ясно. Ты, мягко говоря, болтун.

anonymous
()
Ответ на: комментарий от anonymous

> Если говорить не только о магазинах, вот пара примеров
www.linux.org.ru

Блин, ну о чём с тобой после такого "примера" можно разговаривать?
Ты тоже пишешь такие же великие проекты, как linux.org.ru?
И после этого называешь веб-магазины на php уделом пионеров?
Тогда разговор с тобой окончен ;)

anonymous
()
Ответ на: комментарий от anonymous

>А свой путь иметь никак нельзя? Естественно, опираясь на огромное
>количество уже существующих путей?
Можно и свой путь изобретать. При изучении php и некоторых сущестующих проектов (различные нюки и их клоны) не открыл для себя ничего нового. Что есть в php оргинального?

>Брр. Тогда назови "зарплату" веб-программиста.
Зарплата зависит от места. В Москве, судя по сайту rabota.ru, это цифра от 450 до 600. Если в требованиях есть что-то кроме html и php, эта цифра возрастает до 800, 1000, иногда до 1200.
>Ты, мягко говоря, болтун.
Кроме оскорблений, аргументов нет?

anonymous
()
Ответ на: комментарий от anonymous

>Блин, ну о чём с тобой после такого "примера" можно разговаривать?
Это сайт не пример возможностей Java, просто очень известный в России ресурс. Как ты думаешь почему выбрана Java?
>Ты тоже пишешь такие же великие проекты, как linux.org.ru?
Нет, я пишу проекты сложнее.
>И после этого называешь веб-магазины на php уделом пионеров?
Да, потому что я писал их и видел написанные.

Если ты остановился в развитии на php, и считаешь что это идеальный язык для web, переубеждать не буду, можешь считать что счастье найдено. Если интересно посмотреть что можно сделать на Java http://cocoon.apache.org/
http://jakarta.apache.org/tapestry/index.html
JSF+Java Studio Creator
Ну и до кучи
http://www.hibernate.org/
http://www.springframework.org/


Аналоги на php?

anonymous
()
Ответ на: комментарий от anonymous

>о никого не волнует, кто и с чего начинает _освоение_. Реально меня интересуют люди, _высокопрофессионально_ работающие с языком.

Уважаемый, мягко выражаясь, мы у тебя не в очереди поработать стоим. Если снизошёл чтоб ответ писать -- оставь свои закидоны.

Ты мне-таки скажешь ресурс где написано как при использовании процедурного метода писать проекты правильно или это только пальцы были?

eRazor ★★★
()
Ответ на: комментарий от int19h

>Это в смысле const? То есть, извините, static final? =) Так это по сути своей рюшечка. Скажите, вы вот много людей видели, которые, прочитав в доках, что "A - константа", пытаются потом присвоить A какое-нибудь значение?

пусть будет лучше const =)

Мы так далеко зайдём. Я думаю один из признаков хорошего API это невозможность его использовать неправильно. Потому как, как показывает практика, если что-то можно неправильно использовать, оно будет неправильно использовано.

>Нет, оно конечно штука полезная, не спорю. Но к ООП не имеет ни малейшего отнощения

ок, согласен.

>> и какой полиморфизм, когда и так любой объект является как бы полиморфным? Это херит существующие ООП методики делая их применение бессмысленным.

>Вот такой вот полиморфизм (с). Так я не понял, а в чем собственно проблема? И как это он "херит существующие методики" - я слегка не понял...

Ну, я имею ввиду, что какой смысл в полиморфизме на основе классов, когда любой объект и без классов всяких может изменить свой тип? Применение классов здесь для этого будет каким-то надуманным...

> В чём инкапсуляция заключается, когда методы закрыть нельзя?

>В том, что КАК эти самые методы работают - ты все равно не знаешь. Ну и опять же, все эти public/protected/private по идее должны всего лишь _дополнять_ документацию. Если там написано что "это не трогать, оно private", то и не фиг его трогать, даже если язык в принципе позволяет. Хорошо, когда компилятор такие ошибки отлавливает - но в целом опять же некритично.

Ну уж нет. Мне дают срока в обрез -- изучить систему и написать модуль с последующей интеграцией его в изучаемую систему. Я читаю документацию, далее проектирую модуль и кодирую его. Естественно, я что-то забываю из прочитанного. Перечитывать документацию до выучивания наизусть это просто нереально, поэтому я каждый раз когда возникают вопросы лезу смотреть код в этой системе. Мне не надо каждый раз доку смотреть какие параметры передавать в эту функцию, мне достаточно на её прототип взглянуть.. Тоже с классами. Если отсутствуют модификаторы доступа -- это большой недостаток. То же с константностью и прочим. К postNuke документация вообще отвратительная. И как результат, например, на рекомендцию использовать класс pnHTML для формирования выводимого контента частенько плюют, используя обычное echo.

Framework должен заботиться о программисте и уберегать его от глупых ошибок.

Да, кстати, я совсем забыл об исключениях..

eRazor ★★★
()
Ответ на: комментарий от anonymous

> Зарплата зависит от места. В Москве, судя по сайту rabota.ru

А если не судя по сайту rabota.ru, а судя по своему опыту? Или такого
опыта нет? ;) То, что ты написал - это нормальные цифры для тех
пионеров, которых ты описывал. Ну и что? Всегда и везде есть мастера и
есть подмастерья. А зарплата настоящего программиста php по моему опыту
где-то с 1200 только стартует.

anonymous
()
Ответ на: комментарий от anonymous

> Это сайт не пример возможностей Java, просто очень известный в России ресурс.

Что??? А кто тогда неизвестный в России ресурс? ;))) Этот сайт - классический образец наколенных пионерских поделок. Однако почему-то
аналоги на php (и гораздо более высокого качества и общего уровня)
вызывают у таких как ты презрительное фи, а вот java... о, это
магическое слово, перед которым каждый пионер снимает шляпу ;)

> Нет, я пишу проекты сложнее.

Подозреваю, что не намного ;)

> Да, потому что я писал их и видел написанные.

А ты - это кто? Главный php-эксперт всея Руси? Или недоученный студент,
рещившийся подработать? Как говорится, есть большая разница...

> Если ты остановился в развитии на php, и считаешь что это идеальный язык для web

Это говорит тот, кто обещал привести список Большого Количества
Работающих веб-магазинов, писанных на java? ;) Ага, остановился...
Оглянулся... Посмотрел, на чём еще в Большом Количестве пишут для
веба...

> Если интересно посмотреть что можно сделать на Java http://cocoon.apache.org/

Ой, спасибочки за науку! И что бы я без тебя делал? Раз уж так, то
от нашего стола вашему. Если интересно посмотреть что можно сделать
на php: http://www.roadsend.com/home/index.php?rID=root&pageID=smphp

Там ты тоже найдёшь так любимое тобой слово "фреймворк" ;)

anonymous
()
Ответ на: комментарий от anonymous

>Не будем обсуждать, как обстоят дела там, где ты живёшь. Попробуй объяснить этот феномен для столичных городов - msk, spb ;)

Гы. Интересно, что ты имел ввиду :-) ?

eRazor ★★★
()
Ответ на: комментарий от eRazor

> Я думаю один из признаков хорошего API это невозможность его использовать неправильно. Потому как, как показывает практика, если что-то можно неправильно использовать, оно будет неправильно использовано.

В таком случае, ява - это очень хороший пример даже не API, а языка, который можно использовать неправильно. Сколько раз я видел (да и сам писал) что-то вроде "throws Exception"... ууу... =)

> Ну, я имею ввиду, что какой смысл в полиморфизме на основе классов, когда любой объект и без классов всяких может изменить свой тип?

А объект и не меняет свой тип, то бишь класс. Другой вопрос, что он может менять _себя_ - ну там свойства добавить/удалить... Методы кстати AFAIR в PHP на лету создавать и удалять нельзя, так что если рассматривать интерфейс объекта как набор его методов (как в принципе и надо делать), то он в PHP немутабельный.

> Мне не надо каждый раз доку смотреть какие параметры передавать в эту функцию, мне достаточно на её прототип взглянуть.. Тоже с классами. Если отсутствуют модификаторы доступа -- это большой недостаток. То же с константностью и прочим.

Легко решается, например, префиксной нотацией, когда имена всех private-членов начинаются с подчеркивания. С константами опять же аналогично - если имя переменной целиком из больших букв, то это системная переменная (и тогда однозначно надо лезть читать доки), либо константа.

> Framework должен заботиться о программисте и уберегать его от глупых ошибок.

А может, лучше не надо? Тогда программист, наступив пару раз на грабли, научится эти глупые ошибки не делать? =)

> Да, кстати, я совсем забыл об исключениях..

Вот этого действительно не хватает. Хотя справедливости ради стоит отметить, что большинство ошибок нужно либо отловить сразу (и тогда обычный if ничем не хуже try-catch), либо же они попросту критичны и тогда вообще не имеет смысла рыпаться.

Ну, это нам обещали в пятерке =)

А вообще скажи, вот многое из того, что ты перечислил - будет в PHP5. Поскольку мы уже имеем нечто под названием "release candidate", можно начинать обсуждать это всерьез. Твое мнение?

int19h ★★★★
()
Ответ на: комментарий от anonymous

>Что??? А кто тогда неизвестный в России ресурс? ;))) Этот сайт -
>классический образец наколенных пионерских поделок. Однако почему-то
>аналоги на php (и гораздо более высокого качества и общего уровня)
>вызывают у таких как ты презрительное фи, а вот java... о, это
>магическое слово, перед которым каждый пионер снимает шляпу ;)
Вовсе нет, я досточно знаю обе технологии и пременяю php там где это оправдано. Еще раз с примерами сайтов - отделяем мух от котлет. 2,5млн. ссылок в гугле по электронной коммерции в Java тебя не удовлетворили, ты там не нашел достаточное количество веб-магазинов. Есть больший проекты (там где вмного фич, используется сложная логика, и тд), есть большие магазины или большие сайты (которые популярные, в них много товаров и т.д.). Обоих типов на Java достаточно. Первого типа уже я приводил. Хорошо тебе мало, ты попросил для России. Вот еще несколько сайтов втого типа
http://www.ntv.ru/news/index.jsp
http://digital.tomsk.ru
http://www.1c.ru/rus/ishop/catalog.jsp
Согласен что на php работающих магазинов в России больше. Но Россия бедная страна, покупки в интернет развиты хуже чем в США, например, поэтому факт говорит только о том что php магазин стоит недорого. Если например, у нас жигулей больше чем мерседесов это же не говорит о том что жигули лучше.
>Подозреваю, что не намного ;)
Расскажи о своих проектах, я расскажу о своих, мое текущее не связано с топиком. Ты так и не ответил сколько в твоем магазине сущностей.
>Если интересно посмотреть что можно сделать
>на php: http://www.roadsend.com/home/index.php?rID=root&pageID=smphp
Спасибо, это уже интересней. Заметь это Object Oreiented. Кто говорил что большие проекты на php пишутся с чисто процедурным подходом? А теперь то же самое с транзакциями на уровне бизнес логики, интернацианализацией, версионностью контента и визуальными компонентами.



anonymous
()
Ответ на: комментарий от anonymous

> 2,5млн. ссылок в гугле по электронной коммерции в Java тебя не удовлетворили

Нет. Эти ссылки из разряда рекламы "КОмет". Их могло бы быть и миллиард, если бы гугл был более расторопней. Не подменяй живые
работающие проекты ссылками.

> Но Россия бедная страна

Какая чушь! Давно в России не был? ;)

> покупки в интернет развиты хуже чем в США

Средний уровень - не хуже. Нет заметных гигантов - это да.

> Первого типа уже я приводил.

Ну, это уже становится смешно. linux.org.ru - большой проект, в котором много фич и используется сложная логика? А что тогда
по-твоему маленький проект с несложной логикой? Может хватит
позориться?

> Вот еще несколько сайтов втого типа
http://www.ntv.ru/news/index.jsp
http://digital.tomsk.ru
http://www.1c.ru/rus/ishop/catalog.jsp


Ну смотри, какая интересная проблема у тебя возникает каждый раз,
когда ты вымучиваешь очередную ссылку! Первая ссылка - не веб-магазин
однозначно. Вторая ссылка дана на проект, написанный на php ;)))
http://digital.tomsk.ru/index.phtml
И только (ура!) последняя ссылка похожа на заявленную тему...

anonymous
()
Ответ на: комментарий от int19h

>Легко решается, например, префиксной нотацией, когда имена всех private-членов начинаются с подчеркивания. С константами опять же аналогично - если имя переменной целиком из больших букв, то это системная переменная (и тогда однозначно надо лезть читать доки), либо константа.

Брррр. Это наследие рекомендаций Майкрософта :-P Какая гадость эта ваша заливная рыба =) Хотя ты прав, это костыль исправляющий нетипизированность языка.

>> Framework должен заботиться о программисте и уберегать его от глупых ошибок.

>А может, лучше не надо? Тогда программист, наступив пару раз на грабли, научится эти глупые ошибки не делать? =)

Ты забываешь про стоимость разработки. Здесь она, в простой мелкой фирме, заказчику обходится ~60-65 евро/человеко-час. Бывает больше, бывает меньше. За моё хождение по граблям никто платить не будет. И ни за чьё тоже. Я понимаю куда ты клонишь -- надо повышать свой уровень. Я не спорю с этим. Но если есть возможность как-то проект удешевить, её используют. Если дешевле иметь хорошего архитектора и глупого программиста -- так и сделают. Тэнденция так сказать..

>> Да, кстати, я совсем забыл об исключениях..

>Вот этого действительно не хватает. Хотя справедливости ради стоит отметить, что большинство ошибок нужно либо отловить сразу (и тогда обычный if ничем не хуже try-catch), либо же они попросту критичны и тогда вообще не имеет смысла рыпаться.

Как правило, ошибку приходится "наверх" передавать через несколько уровней вложенности. Исключения тут гораздо более удобны чем коды возврата.

>А вообще скажи, вот многое из того, что ты перечислил - будет в PHP5. Поскольку мы уже имеем нечто под названием "release candidate", можно начинать обсуждать это всерьез. Твое мнение?

Могу сказать только, что буду с удовольствием пользоваться. Ещё бы этот момент побыстрее наступил бы.

eRazor ★★★
()
Ответ на: комментарий от anonymous

>да вон весь гтк\гном на си. процедурный подход в действии =)

Замечательно. Я не против него, напротив говорю: скажите где почитать о том как грамотно проектировать с его помощью. С удовольствием поучусь.

Пойми, нельзя просто пальцем показать и сказать -- вон они пишут. Ну и чего? Ты можешь сказать, в какие сроки это пишется и легко ли потом гном/гтк правке кардинальной поддадутся? И вообще возможно ли это? Время шедевров прошло. Есть крайне сжатые сроки и почти 100% уверенность в том, что потом придётся что-то менять.

eRazor ★★★
()
Ответ на: комментарий от anonymous

> да вон весь гтк\гном на си. процедурный подход в действии =)

А что, Си обязательно подразумевает процедурное программирование? В Gtk (а точнее, Glib), как раз таки наоборот извращаются и пишут объектный код на сях...

int19h ★★★★
()
Ответ на: комментарий от eRazor

> Брррр. Это наследие рекомендаций Майкрософта :-P Какая гадость эта ваша заливная рыба =) Хотя ты прав, это костыль исправляющий нетипизированность языка.

Да, только не нетипизированности, а отсутствия средств контроля доступа =) А так - имхо костыли нужны инвалидам, здоровым людям они только мешают. То есть я в принципе не против их наличия в языке - но чтоб их можно было при необходимости выкинуть.

> Как правило, ошибку приходится "наверх" передавать через несколько уровней вложенности. Исключения тут гораздо более удобны чем коды возврата.

Да я знаю чем хороши исключения =) Только вот именно в _веб_-приложениях эта самая передача через несколько уровней вложенности задействуется далеко не всегда. Как правило, либо ошибка ловится тут же, и принимаются необходимые меры, либо ошибка является фатальной (ну там типа SQL сервак внезапно сдох), и тогда уже все равно...

int19h ★★★★
()
Ответ на: комментарий от int19h

>Да я знаю чем хороши исключения =) Только вот именно в _веб_-приложениях эта самая передача через несколько уровней вложенности задействуется далеко не всегда. Как правило, либо ошибка ловится тут же, и принимаются необходимые меры, либо ошибка является фатальной (ну там типа SQL сервак внезапно сдох), и тогда уже все равно...

Да я понял.

Элементарных рефакторинг "exctrаct method" приводит к появлению подобной вложенности легко. Справедливости ради, надо заметить, что слово "рефакторинг" для многих веб-писателей незнакомо. :-))

eRazor ★★★
()
Ответ на: комментарий от int19h

ни что ничего не подразумевает =) просто была просьба показать большой и успешный проект на процедурном языке. а касательно извращаются, так и в рнр4 можно объекты пользовать. а тут была притензия именно к средствам

chl

anonymous
()
Ответ на: комментарий от anonymous

>просто была просьба показать большой и успешный проект на процедурном языке

небольшая поправочка: я просил показать большой стройный проект на PHP и просил показать (ну, где почитать можно) методику проектирования используя процедурное программирование, а не большой, успешный проект на процедурном языке.

eRazor ★★★
()
Ответ на: комментарий от eRazor

>небольшая поправочка: я просил показать большой стройный проект на PHP и просил показать (ну, где почитать можно) методику проектирования используя процедурное программирование, а не большой, успешный проект на процедурном языке.

И если на первый вопрос гуру снизошли ссылкой, то на второй "заоблачные" высоты столичной зарплаты в 1К2 бакса пару строк написать мешают. Оно и понятно: мы люди тёмные, уровень у нас не тот да и в столицах ГЫ, ГЫ, ГЫ мы не живём.

eRazor ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.