Как стать автором
Обновить

Комментарии 112

А зачем вы пишите на "php\perl\c"? Ведь есть же двоичный код.
Да, действительно, он как ничто другое позволяет "сделать оптимальный велосипед для конкретной цели", ну т.е. для конкретного процессора.
Ну, не до такой же степени -_-
Просто всему надо знать меру.
Двоичный код допустим для нынешнего вида структуры работы процессоров. Автор наверняка уже разработал свои :)
Вероятно, причина использования различных стандартов - это потребность в ускорении разработки (из-за отказа в написании повторяющегося от приложения к приложению кода) и возможность поддержки кода другими программистами. Если пользоваться вашим советом, то ни первого ни второго не получится...
Хотя иногда очень интересно попробовать написать что-нибудь самому, что бы понять, как это работает.
Люди в наш век ценят больше свое время и деньги, нежели качество продукции. Возможно это правильно, с точки зрения самообогощения, но не саморазвития.

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

А overquality, зачем оно вам?
А, вот лично Вы, ещё разве не устали от потоков низкокачественного софта, изливающихся на нас, и с которыми нам приходится иметь дело? Ведь мы, ITшники, работаем с софтом гораздо более интенсивно, чем наши не-ITшники заказчики. Да, overquality не нужно нашим заказчикам, но оно нужно именно нам самим! И с этой точки зрения оно вовсе не "over".
а вы готовы платить в десять раз больше за качественный софт?
не 150 долларов за операционную систему, а полторы тысячи, например :)
не две тысячи долларов за поглюкивающую среду разработки, а двадцать тысяч, но работающую без глюков.
даже если готовы вы, то вряд ли готова остальная масса пользователей, а ведь это массовый софт.
кому надо качественный софт под свою уникальную задачу - нанимают программиста или пишут сами.
вопрос времени и денег, мериться с двумя зависаниями в день или потратить время и деньги на разработку качественного продукта
Давайте Вы не будете передёргивать - это просто не культурно.

Во-первых, как я написал выше, "overquality не нужно нашим заказчикам", по крайней мере абсолютному большинству (бывают и исключения - мой заказчик платит мне уже больше 5-ти лет как раз за то, чтобы я писал насколько качественно, насколько считаю необходимым - но он, и до того как меня нашёл, и после этого, успел поработать с другими программистами, и, в результате, остался со мной - вероятно потому, что мой код таки работает так, как ему нужно).

Во-вторых, лично я не просто готов платить больше за качественный софт, вопрос стоит иначе: я не готов платить ни копейки за некачественный софт. Что касается цен M$, то, как известно, они зарабатывают ГОРАЗДО больше, чем тратят на разработку. Так что, я уверен, они имеют возможность писать гораздо более качественно, сохраняя прежний уровень цен. Просто им это не нужно.
где и кого я передёргиваю-то?

можно купить за 1 доллар (цен не знаю) шаверму на улице, а можно нанять повара, который будет вам готовить обеды - вот я о чём. или потратить время и деньги и приготовить самому. самому получится вкуснее и качественне, но дольше и дороже — это со стороны потребителя.

проще все заработать деньги на ширпотребе, на дешёвом, пусть и не самого высокого качества продукте (IKEA, VW, MacDonalds), а ведь цель любого предпринимателя - максимизировать прибыль, а не качество продукта — это со стороны производителя.
Вы предприниматель? Или программист? Или и то, и другое одновременно? Вы бы определились...

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

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

P.S. Существует мания, когда всё подряд переписывается без веской причины - это имеет смысл только в рамках обучения. Но есть и другая ситуация, когда ты реально можешь написать библиотеку качественнее готовой, причём патчить готовую сложнее написания своей (из-за архитектурных проблем, например), причём в текущем проекте требуется уровен качества выше того, которые предоставляет готовая библиотека - тогда написание своей имеет смысл, хотя и часто не делается из-за экономических причин (повышение качества на X и увеличение времени разработки на Y не оправдывает увеличения расходов на Z). Но этот экономический расчёт зачастую верен только в краткосрочной перспективе, а в долгосрочной это переписывание всё-равно бы окупилось.
вы куда-то в сторону ушли, получился разговор ни о чём.
кто заставляет вас пользоваться потоком низкокачественного софта? не удовлетворяет представленный на рынке софт - пишите свой.
бизнесу нужны решения эффективные, а не качественные. я сам столкнулся с этим, когда предложил добавить в проект дополнительную функциональность, которой нас избаловал гугл и другие продвинутые разработчики, а шеф ответил, что нужно реализовать базовую функциональность, которую требует заказчик, получить за неё деньги, а все "навороты" - отдельно. так как у него нет никакого желания заниматься программированием из любви к искусству, справиться б с текущими заказами, у нас и так не хватает людей.
Ни о чём - это тонко подмечено. Во-первых, до этого момента никто не говорил о дополнительной функциональности. Речь шла об overquality (хотя я ничего "over" в желании написать более качественно, чем минимально необходимо не вижу - кто сказал что нужно всё делать по минимуму?). А во-вторых, у Вашего шефа и заказчика действительно может не быть желания заниматься программированием из любви к искусству, но вот у Вас оно вполне уместно, если Вы программист.
Мы программист и занимались программированием из любви к искусству всю жизнь, пока не нашли работу программистом. Теперь Нам лениво программировать просто так, да и вообще не по работе подходить к компу лениво :)
Соболезную. Это, кстати, довольно типовой случай. При работе в офисе народ через какое-то время понимает, что можно получать те же деньги работая значительно меньше... и, более того, никому вокруг, в общем, и не нужно, чтобы ты работал лучше и больше. И народ расслабляется. От этого "спасает" фриланс - там не поработаешь - не поешь.
у меня соппсно оплата тоже по выработке, т.е. если не буду работать, то через пару месяцев могут и уволить :) зато если буду работать продуктивно, то повысят зарплату и ещё какие-нибудь ништяки перепадут
у нас как раз нужно, чтобы ты работал лучше и больше

просто я раньше программировал так чисто для себя, писал что-то, а теперь как рукой сняло :) пишу только за деньги :)
Я и программист и предприниматель, и я полностью разделяю вашу точку зрения. Ужасно не люблю пользоваться некачественным продуктом, и всё, что разрабатываю, делаю как для себя. Да, некоторых мелочей, которые вылизывались ночами и заказчик не заметит, но я просто не могу иначе. Я просто люблю то, что делаю.
Вообще-то, я не понемаю почему у автора такое странное предубеждение о фреймворках - будто бы они ограничивают его в возможностях сделать уникальный проект. По крайней мере, я всегда считал, что сотня-другая изобритателей велосипедов, в лице людей, занятых в развитии фреймворка, скорее изобретут велосипед получше, чем один человек.
Ну и как говорится - использование чужого фреймворка освобождает вас от написания своего.
Фрэймвок - это лекарство только когда большая его часть используется в программе. В других случаях это яд, bloatware.
Но в то же время, я согласен с мыслью автора, с призывом разбираться в деталях, хотя почему-то хочется эту мысль и опровергнуть, наверное чтобы по-прежнему ничего не делать :-) не углубляться и не утруждать себя "лишним".
Я тоже люблю велосипеды. Они обогащают. Проекты для себя я пишу сам почти с нуля... Некоторые мои знакомые идут еще дальше - пытаются писать вообще с нуля. Получается далеко не всегда, но кое-как работающий сайт на С я видел :)

Но не суть. Пообщавшись с одним программистом, он выдал мне гениальную мысль - "скажи мне для чего ты пишешь этот код и ты сам поймешь нужно ли изобретать велосипед". Я как-то не думал никогда в этом разрезе. Но суть отражает верно - если нужно чтобы код просто работал, какая разница что у него внутри? А если ты хочешь написать что-то сам... то какая разница - будет ли он работать? :)
На C — это не совсем с нуля, но всё же и правда «с-нулее», чем PHP/Perl/Py. ^_^
совсем с нуля - это ещё и написать веб-сервер, ещё и вместе с ОС, на которой крутится этот веб-сервер :)
ну и, чтобы не мелочиться, железо под него разработать тоже самому лично, под свои нужды
:)
и еще не забыть перед этим изобрести электричество и полупроводники. :)
вы про колесо и огонь забыли, уважаемый :)
при округлении в меньшую сторону - с нуля :)

там изначально писался веб сервер на просто С.... насколько я помню туеву кучу стандартных бибилотек вроде вывода в сокет человек сам написал :)
Стандарты это величайшее изобретение человечества которое было омрачено в велосипедах. Очевидцы утверждают, что порой очень не просто найти какую нибудь не стандартную гаечку или болтик, а уж про более специфичные детали, отличающиеся на миллиметр от стандартных, и говорить не приходится. Посему правильный путь это делать своё, уникальное и стандартизировать. Примеры: IRC, Fido, HTML, CSS, GSM... Представляете, что бы было с нашим миром если бы лампочки разных производителей имели свою, уникальную резьбу?
только в велосипедах используется болт на 15...
Использование фреймовков равносильно использованию заводских деталей при сборке велосипеда. Почему? Потому что каждую кусок кода который вы напишете сами вам потребуется протестировать, отладить и написать документацию. При использовании же фреймворков или готовых библиотек, эти стадии можно миновать и указать, что используем вот эту штуку доки смотреть тут. В результате качество и возможности продукта не страдают, а наоборот увеличиваются, так как мы не тратим время на написание и тестирование рутинных процедур.
а если я хочу изменяемую геометрию колеса? Имея богатый опыт сборки велосипедов из... железа и пластика, мне будет проще сделать это, нежели еслиб я привык собирать его из деталей - насколько я знаю колеса не выпускаются со встроенной изменяемой геометрией.
Чаще всего проще доработать имеющиеся колеса, чем делать свои.
Далеко не всегда. Если в архитектуре имеющихся колёс не заложена изменяемая геометрия, доработка может оказаться сложнее чем сделать всё с нуля. А результат тоже далеко не всегда будет лучше.

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

Я думаю тут важен баланс и здравый смысл. Всё, что проще написать самому можно писать самому если это не приведёт к нежелательным последствиям. А если есть подходящие хорошие готовые решения — стоит использовать их.
Конечно. Надо учитывать целесообразность. Если приходится переписывать больше 10-20% то стоит задуматься о своем решении. При наличии же готовой библиотеки, которая подходит, лепить свое не имеет смысла.
public int Set(int num, int pos, int val) //ставит в pos-тый бит числа num значение val
{
int num2 = 0;
if (val == 0) num2 = num & ((int)(Math.Pow(2, numbits) - Math.Pow(2, pos) - 1)); //ставит 0
else num2 = num | (1 << pos); //ставит 1

return num2;
}

Наслаждайтесь - велосипед использовался заводской, но уехал автор недалеко.
Бред какой-то воспользоваться & и двоичным исчислением не проще будет а ?
Именно. Если бы человек задумался, почему этот код - бред, он бы так и сделал. Но всё "и так работает".
Люди, не ленитесь, изучайте свои проблемы. Тем более, если вы молоды и не опытны. (c)
trinko, мне кажется наступит момент, когда Вы несколько измените свое мнение.
В какой-то степени это в плюс Вам, что вы пытаетесь написать всё сами, но рутинная работа Вас когда-нибудь всё-таки заманает.
Во всем баланс нужен, ибо на изучение проблемы всесторонне может уйти время большее, чем приемлемое в рамках проекта - и для решения конкретной задачи
И вдогонку к велосипедам - иногда лучше все-таки не изобретать:
Велосипед усложнителя
ЭТО замечательно будет смотреться в музее :)
... мне кажется это не тот случай ...
ибо к примеру у меня спина часто промокает до средины книжки в рюкзаке, когда я катаюсь на велосипеде :) перчатки мне явно не помогут :)
Согласен/несогласен.

Согласен:
Я ваяю свою CMS-ку и сайты на ней сам. При этом, приходиться делать все, начиная от кода, заканчивая дизайном и версткой. Усложняеться задача еще тем, что использую малопопулярный язык Parser, по причине того, что для меня он удобнее.

Пробовал найти помощника, но без результатно. Либо работать не хотят, либо не понимают задач.

Несогласен:
Фрейморки - это хорошо. В работе над своей CMS-кой я это понял не сразу, но сейчас стараюсь по возможности включать в проект как можно больше "готовых" решений, т.к.:
- это позволяет распределить, отчасти, работу: отдельные задачи решаются разработчиками прослоек-модулей часто гораздо лучше
- есть возможность сконцентрироваться на проекте в целом и уделить его развитию больше времени.

Конечно, я стараюсь досконально разбираться в том, что я использую, т.к. без этого никак.
Я полностью согласен с автором. Особено когда смотришь код какого нибудь фреймврока, становиться страшно их использовать. Да и потом всё зависит от задач. Например в WEB - сложность задач не очень велика. Поэтому я в большинстве юзаю свои либы. Если надо всегда их поправлю. Да и потом я не думаю, что люди которые пишут там Смарти, или JS - вреймворки, умнее меня.

С другой стороны времени отнимает больше, если кол-во своих либ не велико. А когда, своих любимых либ достаточно большой. Проект делается на порядок быстрее, надежнее и стабильнее. Чем используя чужие разработки.

Хотя если к примеру взять программинг на C++ - под nix системы или Windows.
То тут уже приходится использовать чужие разработки, так как разработка своих либ не всегда будет оправданной.
спасибо, мне ваш текст показался очень интересным и полезным
Соглашусь с автором во многом, кроме одного момента - Самое трудное в проекте это начало проекта. Поэтому, легче взять за базу уже готовое (проверенное) решение - платформу, и на нём уже разрабатывать своё, подключая в процессе разработки новые фичи и модули (своей разработки).
>>P.S.Люди, не ленитесь, изучайте свои проблемы.
Научись разбивать мысли на абзацы.
Это свую проблему я тоже изучаю =)
и орфографию)
особенно мягкий знак! вы пробовали _читать_ написанное?
а так - вопрос спорный, но я сейчас пишу сам...
Мне кажеться, что надо сочетать оба подхода в разумных пропорциях, у меня лично есть свой "фреймворк", который начал писаться уже давно и дошел уже до такой стадии, когда начинать писать под чужим решением гораздо затратнее в плане времени, при этом если мне надо сделать что-то специфическое, я первым делом смотрю Zend и другие возможные решения, и в случае если они достаточно компактные (т.е. не тащут за собой кучу лишнего функционала, и не пытаются что-нибудь куда-нибудь записать) использую их, завернув в свой класс-обертку.
Так же и с javascript, если надо сделать что-нибудь простое не требовательное к кроссбраузерности (я имею в виду специфических хаков для реализации поддержки)- легче написать самому, если надо чтобы что-то вылезло, экран затемнился и все плавно уехало- то ну в лес лучше взять готовое.
У js фреймворков, еще есть большой недостаток в плане ненавязчивости, т.е. если я хочу, чтобы при нажатии кнопки сделалось что-то умное javascript'ом, а если не получиться, то это умное сделал сервер- то при использовании, какого-нибудь jquery получается уж слишком много костылей.
Вот поэтому бизнесмены нанимают технических специалистов для выполнения своих задач, а не наоборот.
>> это мой минус, возможно это глупо и на проект со мной у руля уйдет больше времени

Да. Особенно верно замечено про время.

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

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

PS разделение труда - рулит!
давайте попробуем просто проанаизировать ваше высказывание?
Давайте я перечислю проекты, которыми лично я пользуюсь каждый день, а вы мне укажите на те, которые были сделаны с использованием готовых решений.
А вы в свое время укажите список проектов, которыми вы пользуетесь каждый день и я укажу на те, что были писаны с нуля.

yandex.ru
google.com
gmail.com
habrahabr.ru
php.net
moskva.fm
nnm.ru
fishki.net
bash.org.ru
travian.ru
У вас есть исходные коды этих сайтов? Откуда такая уверенность, что они не используются фреймворки?
а кто сказал что не используют? просто они могут быть самописные
А могут и нет. Фреймворки - нормальная и оправданная практика для сокращения издержек на разработку. Рынок диктует свои правила: чем меньше затраты, тем больше прибыль.
"чем меньше затраты, тем больше прибыль" =)))
что-то не так?
при нулевых затратах прибыль стремится к бесконечности? ;)
При затратах, стемящихся к нулю, прибыль стремится в сумме дохода.
прибыль = доход - издержки
Как в 8-м классе по экономике, блин
Я рад, что в Вашем мире закономерности можно свести к линейным зависимостям.

Самый простой пример - у Вас коллектив из 10 разработчиков, каждому Вы платите по 1000 долларов в месяц, продаете продукт на 20 тысяч в месяц, получаете 10 000 читсого дохода. Если сократить зарплату до 100 долларов в месяц то Ваша прибыль составит 19 000 в месяц, так? Также ни в коем случае нельзя повышать зарплату, брать новых работников, да и старых лучше сократить, прибыль возрастет, ведь правда?
Если за 100$ эти работники будут делать работу такого же качества и за тот же промежуток времени, то да.
С экономической точки зрения, неважно, каким образом вы изготовили продукт, если он удовлетворяет требованиям потребителя: выпиливаете ли вы его лобзиком или штампуете автоматом. И неважно, работали ли на изготовлении 10 специалистов за 2000$ или 30 за 500$, если при этом получается продукт того же качества. Это ваш внутренний менеджмент и организация, который рынку совершенно неинтересен.
habrahabr.ru

Домашнее задание: открыть страницу в виде HTML и сделать поиск по prototype.js

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

Честно говоря, у меня сложилось впечатление, что после "не ослиливания" какой-то библиотеки или фреймворка родился текст о том, что они не нужны.
Я и не говорил что ВСЕ они поголовно не юзают фреймворки, я лишь перечислил те, какими пользуюсь ежедневно. Согласен, на хабре юзается прототайп. Далее?
Далее предлагаю ответить на тезисы, выдвинутые мной в следующих двух абзацах.
16 лет опыта программирования. помню такие хреновины как dBase, clipper и прочие.
То что ни один фреймворк не справится с нагрузкой гугля, лишь доказывает мое "изобрести велосипед заново".
Когда молодой Мален, Родни мален, хотел чтобы его доска была загнута с двух сторон, имела 2 конкейва, он обломался, ибо в те времена доски имели лишь один конкейв. Он сделал второй. Когда он хотел крутить три сиськи флип, он понял что бока тоже должны быть загнуты, однако в магазинах небыло таких досок, он во второй раз изобрел скейт заново.

А насчет сайтов по продаже подшипников... Если ваш профиль подобные "проекты" — флаг вам в руки. Я как-то привык делать что-то более существенное.
Извиняй, конечно. Но у тебя в профиле забит 1986-й год рождения. Работадателю, главное, на собеседовании не говори про 16 лет опыта программирования, а то про таких рассказывают анекдоты на RSDN.

Вот и набросай сюда адреса своих существенных проектов, которые настолько круты, что фреймворки и билиотеки их не тянут, желательно с объянением причин. До этого момента все твои заявления слишком беспредметны, чтобы относиться к ним серьёзно.
Давайте не будем переходить на личности, по годкам вы не далеко ушли.
При чём тут ваш возраст и "личности"? Вам цитируют вашу же фразу: "16 лет опыта программирования". Если вам сейчас 21 год, очень бы интересно узнать что вы программировали в 5 лет?
Вы ответьте толком на вопросы, которые вам dfb задал. А то как-то странно получается...

Создаётся впечатление, что вас подловили, а вы на это огрызаетесь...
в 5 лет я переписывал из книги по программингу проги для бейсика, который был на моем zx spectrum. Это во-первых. Во-вторых, я предложил проанализировать рынок "посещаемых сайтов", на что уважаемый dfb предложил мериться письками. Мне это не интересно.
респект.... я в 4 года на печатной машинке только-только печатать научился.... да и то без гласных :)
Ыы, бейсик, атари в 4 года. Переписывал проги. Непонятно было как оно работает, в частности узоры когда рисовались. Вспоминаю то время со слезой. Из операторов тогда мне объяснили input, print и if. И я делал, пытался подобие игры Robbo, можт кто помнит (я её и сейчас бывает на эмуляторе прохожу). Так вот. Аски графикой и тучей print'ов рисовалось плоское поле, потом считывалось куда пойти и перерисовывалось всё (заготовки). Хватало обычно хода на 3 энтузиазма :). Думал игрушки так и делают. А сейчас пишу тоже всё с нуля. Незнаю, но нравится мне так. Базу данных для пхп на текстовых файлах написал. которая сама себя бьёт на файлы в случае чего, и представляет собой массив 2d таблиц. Инициализация быстрее мускуля, работа скажем гостевухи\фотоальбома\интернет магазина скорости хватает. Я понимаю, что в мускуле хитрые запросы, но я подумал, мне нафиг они не нужны. Я делаю для себя. Я распечатаю таблицу когда буду писать сорец, и буду не юзать именованные столбцы. а буду юзать порядковый номер. Да мускуль писан на си, но функционал там весьма избыточен для смотрящего в корень и знающего алгоритмы сортировки и т.д. (хотя на сложных запросах я уверен mysql порвёт мою базу). Это моё ИМХО, и я делаю так, пока заказчики не жаловались.
на заказчиков вообще грешно ориентироваться... что впаришь - то и съедят. Ибо маркетинг. Я вот ощущаю что работа соло на заказчиков отупляет - это совсмем не то, что работа в команде над проектом, где каждый представляет свои идеи и эти идеи потом разрабатываются совместо...

ЗЫ в качестве базы данных есть замечательная вещь - сукльлайт, не в курсе? Думаю былабы достойным конкурентом вашей базе...
Отупляет помойму веб. Задачи там в целом не сложные обычно. А вот даже соло, но над проектом, который появился у себя в голове — очень даже правит мозг имхо :). У меня вот всё идея аркаду на физике сделать, но так как с физикой у меня плоховато, а тут надо целые системы рассчитывать из балок — не особо заладилось.
Вы занимаетесь проектами исключительно уровня Google или Yandex? Снимаю шляпу.

>> лишь доказывает мое "изобрести велосипед заново"

Нет. Это доказывает, что есть проекты (не все), где использование в Ваших терминах велосипеда - не целесообразно.

PS под использованием "готовых решений" в проектах я подразумевал например это - http://www.1c-bitrix.ru/ (там на сайте есть портфолио).
НЛО прилетело и опубликовало эту надпись здесь
и гугл и яндекс делались и делаются людьми, которые думают, а не тупо вставляют готовые решения. Более того, и те и другие создают свои собственные бд и субд. Какие сайты посещаете вы?
НЛО прилетело и опубликовало эту надпись здесь
мы говорим о методах разработки, а не о платформах и сред.
НЛО прилетело и опубликовало эту надпись здесь
То что делают программисты внутри — это не показатель. Внутри компании мы с разработчиками рвем всех в CS.
А то что ни один проект на руби не выйдет в свет под маркой гугля это факт. В противном случае будет остановлен и переписан на большее "простом" языке, нежели руби или ява. Как писал один замчательный человек: "ООП отлично справляется со своей главной задачей, максимально нагружает сервер ненужными операциями". Из книги "Тюнинг Web сервера"
НЛО прилетело и опубликовало эту надпись здесь
А вы отошли от темы
НЛО прилетело и опубликовало эту надпись здесь
Про яндекс:
http://softwaremaniacs.org/blog/2007/08/…

Использование фреймворков часто оправдано. Но только там где это целесообразно.
Сможем ли мы "изобрести" велосипед для нашей конкретной задачи?
Те кто ответят "нет, велосипед заново не изобрести" пусть попробуют сделать "Банни Хоп" на цирковом трехколесеном велосипеде или спуститься с горы на "Аисте".
Те, кто ответят да, пусть попробуют сами изобрести велосипед и на нём сделать баннихоп или спуститься с горы. Ещё неизвестно, что лучше будет, Аист или собственное поделие.
Есть люди, которым это интересно и которые живут этим — именно они делают эти велики. С каждым годом придумывая что-то новое, изобретая эти чертовы велики заново =) оптимизируя их.
А мы с вами на них просто тупо катаемся =) заметим, мы об лишь обсуждаем это в данный момент на своего рода "горном велике"
Дело в том, что в нашей жизни времени на всё не хватает. Конечно, если Вы специалист по изобретению велосипедов и зарабатываете этим деньги — изобретайте на здоровье. Но я лучше заработаю денег тем, что умею делать хорошо, и за эти деньги куплю велосипед, придуманный и сделанный кем-то другим. Я уверен, что изобрести велосипед лучше, чем это получается у Scott, GT, Specialized и Cannondale у меня не получится.

С точки зрения разработки ПО, я предпочитаю использовать чужие велосипеды, которые отлаживаются уже несколько лет, разработанные людьми, у которых опыта в разработке велосипедов побольше, чем у меня. Конечно, бывают ситуации, когда подходящего велосипеда найти не удаётся, но это бывает крайне редко. Но в этом случае фраза "изобретать велосипед" уже не применима.
Капусточка дело хорошее, но дома надо держать и мясные закуски.

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

всегда использовал свою либу для этого и только недавно узнал что народ обзывает это лайтбоксом :) а узнал вообще уникально. Мне сказали: ваав ты лайтбокс использовал? А работы всегото чуть чуть кода. Минус фреймворков в том что если не устаивает то что уже есть для изменения под себя надо всеравно ее перекопать построчно
Минус фреймворков в том что если не устаивает то что уже есть для изменения под себя надо всеравно ее перекопать построчно

Странно - мне обычно попадались фреймворки в которых "под себя" совершнено спокойно настраивается через параметры.
значит у вас маленькое "под себя".
Меняются времена - меняются проблемы. Лет 5-7 назад сделать такое затемнение и разъезжание так чтобы оно работало с Netscape'ом 3-6, MS IE 3-6 - это было непросто. Можно было не одну неделю потратить на разработку одного этого эффекта. Сейчас можно забыть про MS IE ниже версии 5, и Netscape ниже версии 7 - и ЭТА проблема решается элементарно. Но если мы хотим использовать что-то помощнее - проще таки взять Google Web Toolkit. Который тоже не является уж 100% разработкой Гугла: JSON и JFreeChart уж по крайней мере не Google изобрёл...
Каждому свое. Тут говорить о том, какой подход правильный, вообще не стоит. Интересно, как что-то работает/есть много времени и сил - пиши все сам. Хочешь получить готовый продукт - используй готовые решения.
По поводу эффективности говорить странно тем более, потому как можно напроектировать такое, что оно вообще никогда не взлетит.
Товарищ Страуструп как-то говорил: “Все удачные большие системы являются результатом перепроектирования некоторых меньших работающих систем. Я не знаю исключений из этого правила. Можно привести множество примеров проектов, закончившихся неудачей, над которыми мучились годами, тратили большие средства, и наконец успешно заканчивали, но спустя годы после намеченного срока.”
Может быть, по первости (я только предполагаю) Вам и доставляет удовольствие писать тонны однообразного и неинтересного кода, но со временем это обычно проходит. Все сначала пишут новую ОС, новую CMS, новую библиотеку для чего-то там, новый текстовый редактор и так далее. Если это лично Вам доставляет удовольствие - флаг Вам в руки, никто запретить не может. Но поверьте мне, есть достаточно способов повышения своей квалификации и без переписывания давно уже написанного, отлаженного, обкатанного и рабочего кода.
Не ожидал увидеть в комментариях столько любителей overquality и изобретателей велосипедов. Нам явно уже можно объединяться и создавать специальную организацию для защиты наших интересов и пропагандирования наших идей. :)

P.S. А по поводу изобретательства велосипедов, я уже когда-то цитировал эту фразу на хабре, но я повторюсь, уж больно хорошо сказано автором JSON:
The good thing about reinventing the wheel is that you can get a round one.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Фреймворк — это не фетиш, а инструмент. Точно такой же как язык программирования, или названия переменных, или блокнот, или файл менеджер. Чтобы написать 3 строчки кода фреймворк не нужен, в крупных проектах придется слишком много перестраивать под себя, так что тоже не нужен, но иногда попадается нечто среднее, шаблонное, где этот инструмент хорошо подходит.
Да, очень хороший и взвешенный подход. Но на практике он выливается в то, что после написания первого крупного проекта (и написания для него своего фреймвока), средние, шаблонные проекты тоже оказывается проще писать на своём фреймвоке.
А вот тут есть такой психологический момент, что свой фреймворк можно забыть если долго не использовать, а мануал для него не прописан так хорошо (если вообще прописан), как для «государственного» (:
Но в общем согласен.
Эстеты вас поймут :)
Если ты знаешь как работает фреймворк, то лучше не изобретать велосипед. Если нет, то лучше начать, в процессе вы поймёте, как работал тот фреймворк.
... может быть поймете ...
Ну это уже будет не так важно, так как у вас будет свой фреймворк, который вы будете понимать =)
1.
хороший кодер на фреймворке напишет лучше чем плохой кодер на php/c/py и т.д.
хороший кодер на php/c/py и т.д. напишет лучше чем плохой кодер на фремворке.
откуда вывод, неважно на чем вы пишете, главное быть хорошим кодером.
+ для разных задач есть разные фреймворки.
2.
на абсолютно некачественном и неудобном софте никто заработать не сможет. поэтому идет, хоть и плавное и местами незаметное, но улучшение платного софта.
3.
на тему "рассмотреть проблему со всех сторон" рулят рефрейминг, агностицизм Р.А.Уилсона и модель "память-предсказание" Джефа Хокинса.
хороший кодер на фреймворке напишет лучше чем плохой кодер на php/c/py и т.д.
хороший кодер на php/c/py и т.д. напишет лучше чем плохой кодер на фремворке.
откуда вывод, неважно на чем вы пишете, главное быть хорошим кодером.

Азбучные истины...
Рассмотри с точки зрения скорости программирования - кто-нибудь на php/c/py vs. тот же кто-то под фреймворком. Не учитывая времени на ознакомление с фреймворком.
на cms ещё быстрее, не учитывая времени ознакомления с cms...
по шкале уникальность/качество - скорость идут ЯП, фреймворки, cms. Фреймворки очевидно золотая середина для сферических проектов в вакууме.
Мне кажется, что писать все с нуля - довольно сильное и хорошее занятие. Ведь не обязательно переписывать Вордпресс, например, а написать удобный движок, реализующий именно вам необходимый функционал.
Другое дело - личные проекты, там все зависит от умений. А вот для серьезных сайтов...

Просто очень надоедает постоянно видеть не только одни движки, но и стандартные дизайны, или слегка измененные, как, например, часто делают с IPB.

Но тут уже кому как...
Здрасьте...)))
Я немного свеженький, так что строго не судите, если что не так...)))

На счет программеров одиночек знаю только одно, если пишешь что-то и думаешь при этом: "ах-вах! вот с этим изобретением, мы завоюем мир! А потом еще и параллельный, и еще какой-нить в придачу!" - то, считаю что в одну каску далеко-то не уедешь... Если, конечно деньги есть, можно... но интернет структура чуткая, они все равно нерадивых заборт выбрасывает, а кросавчегов оставляет...) Ведь в одного серьезное, я имею ввиду действительно серьезное, не поднимешь... Ну если только проектик необычный, душу там затрагивает... или другой вариант - несколько лет в сети беспрерывного пиара, и возможно проект будет неплохо посещаем... Раньше такое было, когда в сети сайтов было поменьше... сейчас, насколько знаю, в сети стартапы без денег не делаються...
хотя может я и не прав. Но даже если и делают, то это уже единицы из сотен...

Если пишешь что-то для себя, и особо больше ни на что не расчитываешь, кроме как удовлетворить свои (хм...) виртуальные потребности, то это "нормально". Сделал... тебе нравиться, показал другому - ему понравилось, то это тоже гуд. Ну а если не пошло, то и не растраиваешься особо, ты ведь для себя писал. Значит - это твой персональный проектик, для себя самого...

Догадываюсь, что автор статьи имел ввиду именно вот такие вот персональные проектики создающиеся для самого себя. Они к стати тоже бывают ничего, все зависит от идеи...
это, конечно, оффтоп, но не могу удержаться: "недавнее видео" вы сюда зря привели. Потому что как биолог могу заявить со всей ответственностью - "лектор" в описываемой теме не понимает НИЧЕГО, судя по тому что он там несёт. Это просто концентрированный бред, который не имеет *вообще* ничего общего с реальностью. Я это видео посылал своим друзьям как раз в качестве "чисто поржать", потому что такой поток маразма ещё поискать.
А как связано использование фрэймворков и качество продукции?
Я не знаю проектов которые бы теряли в качестве при использовании фрэймворков. Примеры пожалуйста.
В процессе программированияя очень часто возникают ситуации, когда программы выполняют одни и те же куски операций. Некоторые типа меня начинают собирать целые библиотеки маленьких кусочков кода, которые бывают нужны наиболее часто. Когда возникает сложная ситуация - начинаешь читать доки и очень часто понимаешь, что эти кусочки кода можно как то улучшить. Постепенно код вылизывается чуть ли не до идеала. То же самое и с велосипедом: его надо не изобретать с нуля, а по мере получения новых знаний, стараться сделать более продвинутым. Я более чем уверен, что создать практически идеальный велосипед можно. Сейчас скоростной велосипед отличается от трюкового и тем более от велосипеда для маунтин-байка. Любой велосипед должен нормально подходить по росту и фигуре человека, но трюковые делают маленькими и неудобными для снижения их веса. Достаточно сделать велосипед практически невесомым при нормальных размерах и сразу трюковые велосипеды перестанут отличаться по размерам от обычного. Проблема только в несовершенстве технологии материалов. Есть так называемые хард-тейлы (только с рулевыми амортизаторами) для нормальной езды и горные велосипеды, у которых седло на своем амортизаторе, задняя ось отдельно, передняя вилка на своем. При прыжках он хорошо гасит ударную силу, вот только ездить по асфальту на нем тяжело - начинает подпрыгивать жопа и напряжно для позвоночника. Это только из-за слабой амортизационной системы. Достаточно к современному велосипеду добавить демпфер для гашения мелких колебаний, поменять материал на более легкий и получится практически идеальный универсальный велосипед. Несовершенство современных продуктов заставляет некоторых изобретать велосипед раз за разом, а объясняется слабыми знаниями предметной области. Ключевая мысль - учите мат.часть или коротко девиз админов - RTFM!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории