alex455 если хорошо знаешь основы, то использование фреймворков - добро. почему? да потому что писать по сто раз одно и то же - это рутина, которая, как известно, отбивает желание к любому творческому процессу. фреймворки же позволяют избавиться от большинства рутины, посвятив себя разработке. фреймворки бывают разными, но цель у них одна. некоторые лучше, некоторые хуже.
Gromo +1 Основная цель - избавление от рутины. Из плюсов также более грамотная архитектура приложения - но тут уже как Gromo сказал обязательно надо знать основы. Желательно знать шаблоны проектирования - тогда будет понятно почему в фреймворке в определенных местах сделано именно так, а не иначе. И сам не заметишь как начнешь применять шаблоны - что огромный плюс в качестве твоей работы. Полезные плюшки - выработка стиля(например стиль именования переменных, размещение файлов в определенных каталогах и т.п.). Это немаловажно. Ну и ссылки по теме http://wiki.agiledev.ru/doku.php?id=frameworks http://ru.wikipedia.org/wiki/%D0%A4%D1% ... 1%80%D0%BA
Как понял навеян вопрос этим http://habrahabr.ru/blogs/htranslations/126812/ Моё мнение просто, для работы, фреймворки добро, но чтоб навыки не ржавели, лучше иметь за душой проект без оных, чтоб просто поддерживать мозг в состоянии постоянного поиска новой информации, и навыков. Предлагаешь помимо РНР кодить на машкодах ? (я то так и делаю, но у меня это просто хобби, на самом деле и врагу не пожелаю таким заниматься)
Юзаю Yii уже пол года, прчем не чистый Yii фреймворк а заточеный под свои нужды (т.е еще проще), честно говоря очень привык и доволен, стал забывать простые SQL запросы Хотя честно говоря глубоко не вникал в работу MVC, знаю основу и принцип работы, этого достаточно... Не считаю что фреймворк делает разработчика тупым, наоборот начинаешь видеть все по другому, чем дальше тем лучше, логика становится другой =)
alexfer может тогда и Django посоветовать, который для питона ? зыбываются основы работы с памятью, со строками, с ссылками и указателями... думаю, что забывать основы не стоит, но и писать каждый раз вручную очистку памяти, или выделение памяти под строку с последующей очисткой.... нафиг-нафиг! даёшь удобство работы со строками и памятью без лишнего мозговыноса! мы сайты делаем, а не высокопроизводительные приложения на маш.кодах. многие сейчас идут в ущерб производительности ради удобства поддержания и качества кода, т.к. машинную мощность всегда можно докупить
Заблуждение кстати... Многие админы душу бы продали за лишние пару гигов, но когда сервак уже на приделе то уже некуда докупать...
Vladson я имел в виду другое - что на текущий момент время разработчика стоит дороже чем машинная мощность (где-то статьи даже были об этом). а если бюджет не выделяют (именно бюджет, а не архитектура приложения не позволяет) - то это уже другой вопрос.
Статьи написаны давно, ты ещё скажи что register-globals и magic-quotes это хорошая вещь, потому что статьи об этом есть (да много лет назад во времена РНР3 и ранних РНР4 многие считали это хорошей идеей) Только время летит, да и теория с практикой не всегда дружат... Если в 10 лет назад 1000 хостов в день было пиковой нагрузкой, то сегодня столько имеют даже самые слабые сайты, и 1000 таких сайтов спокойно тянет один сервак...
я думаю, что в этом случае как раз дружат - производственные мощности дешевеют, а стоимость оплаты труда программиста остаётся такой же. конечно же это не значит, что можно писать цикл вместо if-а... )
Только когда у тебя сервак на 64Гб оперативки и тебе не хватает, то чем купить такой же сервак но с материнкой которая поддерживает 128Гб оперативки, уж дешевле нанять программиста на месяц, чтоб тот тебе пару функций оптимизировал... Да и не всегда есть время ждать когда процессоры с 3.2 ГГц разгонятся до Х.ХХ ГГц, иногда хочется повысить быстродействие "побыстрее" (законы Мура давно не работают, они в прошлом уже, в далёком прошлом, лавинообразные наращивания быстродействия уже давно забыть пора, это тебе не 486-й с 25 до 50МГц разогнать)
ё-маё, это ж какой сайт иметь-то нужно для подобного? фейсбук? майл.ру? так там используются уже другие технологии. если говорить про сайт и хостинг - то это всегда можно докупить, благо есть всякие технологии типа облачного хостинга, VDS/VPS и иже с ними... но если требуются уже ТАКИЕ мощности, то тогда уже нужен кластер/отдельный сервер бд, кэширование (отдельно), балансировка нагрузки... программист на месяц тут уже не поможет - нужен штат сотрудников, причём высококвалифицированных. И опять же возвращаемся к тому, что чаще дешевле будет увеличить мощность, докупив ещё один сервер, чем портить работающую систему нанимая программиста для оптимизации. Я всё равно считаю, что закон Мура продолжает действовать несмотря на ограничения, накладываемые уже природой интегральных схем. Может и не в первоначальном виде, но мощность процессоров продолжает наращивается, как и ёмкость накопителей, падение цен за единицу мощности/ёмкости.
Чтоб увеличить мощность самого мощного компа, нужно ждать пока выйдет комп мощнее, в отличии от домашней геймерской системы, у сайта нет времени ждать, если он тормозит то что-то надо делать, и делать прямо сейчас, а не ждать пока выйдет пентиум двадцатый Офтоп конечно но... Обычный ЖЖ, причём уже в 2007-м году у них было несколько серваков (один знаю точно на 64 оперативки, ещё вроде парочку по 32, а может и ещё другие были) что у них сейчас я даже не знаю...
Один сервер в кластере из 100 машин - это всего лишь прирост производительности на 1%. Так что это будет не один, а десятки. И программист оказывается дешевле.
и о чём это говорит? почему же не наняли программиста, чтобы он оптимизировал всё для одного сервера? а десяток? сервера покупаются единожды, а программистам нужно платить ежемесячно. Хотя без команды программистов/админов такая система по-любому не выживет. Вопрос в другом - потратить человеко-часы на оптимизацию, либо на улучшение приложения? Вместо оптимизации просто докупив железа. Могу сказать, что оптимизация нужна, как и рефакторинг. До определённого момента легче оптимизировать, чем докупать железо. После этого момента без доп.мощности уже не обойтись. То же самое и с железом - можно наращивать до бесконечности, если позволяет архитектура приложения. Если же не позволяет - нужно переделывать архитектуру. Просто есть нормальная оптимизация, а есть спичечная. Фреймворки позволяют повысить скорость написания кода программистом за счёт упрощения написания рутины, но в небольшой ущерб производительности. Так что считаю выгоду от использования фреймворков очевидной.
Если один программист будет раз в месяц давать прирост производительности в 1%, что будет экономить 1 сервер - он вполне окупит свою з/п, даже если она белая. И сервера покупаются не единожды - у них тоже есть стоимость обслуживания и срок жизни.
Ни о чём ровным счётом, это частный случай и к обсуждению не имеет отношения, это просто факт иллюстрирующий дорогие сервера.