LINUX.ORG.RU
ФорумTalks

как правильно писать программу?

 


0

3

Вася и Петя одновременно начали писать один и тот же продукт. Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру. А Петя месяц разрабатывал архитектуру, месяц делал удобный интуитивный интерфейс, которому позавидывал бы Джони Айв, потом месяц писал тесты, потом два месяца писал сам код и получил идеальное стабильное приложение. Но Вася выпустил уже через месяц первую версию программы, пусть и не идеальную, пусть с багами, но рабочую, и начал её продавать. Ещё через месяц выпустил вторую версию исправляющие баги первой и добавляющие новые баги. Ещё через месяц на доходы от продаж нанял двух толковых программеров, которые за два месяца перелопатили весь код, согласно пожеланиям пользователей допилили интерфейс и выпустили третью версию программы. Итого, через пять месяцев у Васи было два работника, куча клиентов и сносно работающее приложение отвечающее желаниям клиентов. У Пети было вылизанное никому не известное приложение, минус на банковском счёте и ни одного клиента. В завершение этого выдуманного примера можно сказать, что через полгода Вася купил все наработки Пети, Петю взял в штат тестировщиком, а сам по пьяни разбился на своём новеньком Туареге

http://bash.im/quote/420672

★★★★★

История содержит в себе две разные собственные истории, которые совместили и получили такую байку. Во-первых, Вася это типичный фрилансер, которому хочется есть и пить прямо сейчас. Во-вторых, Петя человек широких взглядов, который пишет свою систему с долгосрочной перспективой, он может писать ее в свободное время, будучи занятым или не занятым другой работой в текущий момент. Оба варианта живы. Еще бы сказали, что Кнут зря потратил свои 30 лет на TeX, т.к. остальные Васи кругом заработали миллиарды, ага :)

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

А зачем мне несерьёзный бизнес, если он мне будет приносить доход меньше, чем full-time job? А рисков и нервов больше, и рабочая неделя не 40 часов, а все 154.

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

автор первого утверждения понимает что оно ошибочно/неточно

Но ты явно не тот автор, потому что ты не понимаешь. Или скорее всего ты просто зелёный.

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

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

Они оба идиоты. Если нужно извлечь прибыль, то разработку надо делать на полученный аванс.

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

А зачем мне несерьёзный бизнес, если он мне будет приносить доход меньше, чем full-time job?

То есть серьезный бизнес это такой, который дает более чем фуллтайм?

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

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

Они захавали рынок из-за хорошего маркетинга. При равном маркетинге и вливании денег Васи имеют исчезающе малые шансы по сравнению с Петями.

А я и не спорю с этим. Ясно ведь что благодаря маркетингу. Но ведь и Вася не терялся и пошел всучивать людям говно, пока Петя делал конфетку. То есть дилемма именно «маркетинг vs качество», а не «говно vs качество», понятно, что во втором случае Петя выигрывает, но речь о первом случае.

pihter ★★★★★
() автор топика

У Пети было вылизанное никому не известное приложение

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

Ну и картинка.

ollowtf ★★★
()
Последнее исправление: ollowtf (всего исправлений: 1)

Вывод: будешь быдлокодить — разобьёшься.

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

Но ведь и Вася не терялся и пошел всучивать людям говно, пока Петя делал конфетку.

Сферического коня в вакууме он делал, см. выше.

ollowtf ★★★
()

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

У Пети было вылизанное никому не известное приложение

Как он его вылизал, если не тестировал?

При всем вышесказанном, есть полно случаев, когда недоделку нет смысла выпускать, потому-что не взлетит. Тут нельзя ничего рассмотреть на абстрактном примере.

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

Если ты такой умный, покажи мне свои деньги.

Не то, чтобы я тут миллионером был, но через полтора года разработки своего поделия, по Васиной модели, я смог купить на доходы от этого сотовый телефон, а через два - уже старенькую тойоту за 150 тыщ. Это все параллельно с нормальной работой и социальной жизнью, думается, если бы жизнь хвост прищемила - стал бы активнее над этим работать а не «пить сокэ и философствовать» на форуме, тогда и заработал бы больше. Но я, как бы, месяц от месяца зарабатываю больше а работаю меньше. Денег не так и много, но мне тенденция нравится. Да и лет мне не 70, мне вот за девочками побегать да поболтать с умными мужиками, порой, интереснее, чем вкалывать сутками на светлое будущее. Но одно другому не так уж и мешает

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

Это деньги, но не для начала серьёзного бизнеса.

«Серьезный бизнес» TM.

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

И да, ну его в дупу, этот ваш «серьезный бизнес»! Самому купить квартиру, да, когда захочется, из морозной России в райскопляжный Тайланд махнуть иметь возможность, вот - цель. А владеть половиной мира, это вон - пусть более амбициозные люди, чем я, пробуют

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

офисы пробить труднее - нужно нановационность доказать

да, мы поэтому и отказались от планов на такие офисы, но тем не менее. Это у вас в Тюмени такое? У нас «Бизнес инкубатор» пиарится вовсю как проект местных властей, я уж и вправду думал только у нас такое счастье.

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

заказчик просто посылает тебя и больше не связывается с говнофрилансерами.

бывает, а бывает что и платят месяцами и довольны. Мне, конечно, стыдно, но Васина модель продиктована условиями. Святое и чистое писать пока нет возможности: жрат охота )

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

Да хоть какой-нибудь начните

Присоединяюсь к гражданину, который 2 чая просил для этого господина

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

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

Это-то да, но речь именно о конкуренции. Петя не хотел как РМС, Петя тоже хотел кушать!

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

Еще бы сказали, что Кнут зря потратил свои 30 лет на TeX

Не-не-не! Речь как раз не о свободном времени, про таких как Кнут с ТеХ речи тут нет. Про них - спору нет.

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

через полтора года разработки своего поделия, по Васиной модели

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

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

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

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

А зачем мне несерьёзный бизнес, если он мне будет приносить доход меньше, чем full-time job? А рисков и нервов больше, и рабочая неделя не 40 часов, а все 154.

Ох тыж господи! Это сколько ж ты на основной работе зарабатываешь, если тебе цветочный ларек с ежедневным доходом 3-20 тыр - это уже не серьезно? Я вот начальником группы в министерстве обороны работаю, неплохо зарабатываю, но, все же, сильно меньше чем 3-20 тыр в день. А квартиру хочется, вот и занимаюсь своим несерьезным бизнесом.

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

Но ты явно не тот автор, потому что ты не понимаешь. Или скорее всего ты просто зелёный.

А я и не отрицаю что зеленый. Ну не ужто я такой глупый что мне даже объяснить не получится?

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

Стало быть он заработал, просто крутым бизнесменом не стал

А это, как правило, не очень совместимо. Или делаешь деньги, или что-то нужное (другим). :-)

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от pihter

Это у вас в Тюмени такое? У нас «Бизнес инкубатор» пиарится вовсю как проект местных властей, я уж и вправду думал только у нас такое счастье

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

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

Но система работает, не идеально, но сойдет.

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

Кто пробовал начинать собственный проект с целью извлечения прибыли? Какая модель лучше?

Я сейчас пишу. Сначала пытался что-то проектировать и обсуждать архитектуру, но остальные участники - джависты (проект на Java, C++ и lua, я отвечаю за C++ часть). В итоге решилось, что пишем абы-как чтобы запуститься, как можно быстрее, а потом правим наживую.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от soomrack

Они оба идиоты. Если нужно извлечь прибыль, то разработку надо делать на полученный аванс.

Предположим я спросил с заказчика A + B денег, где А - аванс. Если стоимость разработки укладывается в А, то на рынке найдется разработчик который предложит сделать эту же работу за А денег и А+B мне платить никто не станет. Это самая главная идея рыночной экономики - цена на услугу стремится к реальной ее стоимости и долго драть А+В за работу, которая стоит А, не получится.

Хотя, IRL, иногда получается и на аванс сделать. Но самому работать приходится, с наемным рабочим уже не вышло бы.

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

а в реальном оказывается, что Петя вообще ничего не знал об этих нуждах

Согласен. Получается что модель Васи не такая уж и плохая? Даже стыдится не стоит?

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

Тут нельзя ничего рассмотреть на абстрактном примере.

Хорошо. Пример конкреней - разработка сайтов для малого бизнеса.

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

И что это за продукты такие? Частные фрилансерские разработки, о которых знаешь ты и заказчик?

По факту - да. Но я мечтаю довести сие до уровня «не стыдно людям показать», наклеить GPL и пустить в свет. И что, я плохо поступаю? Ну, вообще, есть несколько наработок, из которых могли бы получиться вещи, нужные не только мне. Но чтобы довести их до ума нужно время. Написать хоть что-то, самое маленькое, с сайтом и документацией, а также заниматься поддержкой в одиночку оказалось почти невозможным, при условии наличия работы и девушки. А казалось все так просто. Третий год пошел как я работаю над продуктом, который собираюсь опубликовать, и теперь мне ясно что еще года три пройдет, прежде чем опубликую. А казалось работы - на пару месяцев. Однако я стремлюсь, чего плохого?

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

Получается что модель Васи не такая уж и плохая?

Модель хорошая, рабочая. Позволяет писать программы для людей, что люди в большинстве своём ценят.

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

Вы таки Петь нанимали или работаете один?

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

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

Нужно. Но для этого требуется опыт. А он, сын ошибок трудных, просто по желанию не достается. И даже книг мало. В этом смысле толксы даже полезнее книг

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

Какая модель лучше?

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

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

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

башорк не нужен

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

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

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

А это, как правило, не очень совместимо. Или делаешь деньги, или что-то нужное (другим). :-)

Пичаль, но как правило - да.

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

В итоге решилось, что пишем абы-как чтобы запуститься, как можно быстрее, а потом правим наживую.

Аналогично решилось и у меня в голове в свое время.

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

цветочный ларек с ежедневным доходом 3-20 тыр

Осетра-то урежь.

Буквально вчера, волею Хаоса, простоял возле такого ларька (даже не на остановке, а просто на дороге от центра к спальному району, без машины в мороз не доберешься) около часа. Букет купил я (565 руб, пять простых каких-то цветочков, пленочка красивая) и еще два или три чувака приблизительно по такому же букетику. Девочке, которая там работает, платят 500 в смену. Сколько заработает за день? и это не 8 марта, не свадьба и не 14 февраля, это самое обычное 11 часов вечера 11 января

pihter ★★★★★
() автор топика

Две недели на разработку архитектуры, две — на интерфейс и тесты, остальное на код. Выпустить полученный прототип и можно готовить вылизанный до совершенства Продукт 2.0.

диванные рассуждения диванны

quantum-troll ★★★★★
()
Ответ на: было уже от anonymoos

На хабре разжевали тему:

Все, что показывают в Саут Парке, уже было в Симпсонах ))

Спасибо за ссылку.

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

Но для этого требуется опыт.

Кстати об опыте.

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

Васин подход предполагает использовать знания, накопленные на текущий момент, изучение чего-то нового непозволительная роскошь. Из инструментов выбирается тот, который знаешь ты, а не который подходит под задачу. В идеале инструмент должен быть максимально простой, чтобы любой Вася, прочитав книгу «Быдлокод на 30 дней» мог поучавствовать. Наверняка многие сталкивались с проектами, в которых просят писать на С или С++ без шаблонов — равнение на Васька! Такие проекты отупляют. Я с трудом представляю, как человек неспособный и нежелающий учиться может посильно помочь проекту.

Dendy ★★★★★
()
Ответ на: комментарий от quantum-troll

Две недели на разработку архитектуры, две — на интерфейс и тесты, остальное на код

Вот и я так думал, пока не попробовал. А попробовал - до первой версии только доходит, (2 года прошло). Несколько недоверсий разной степени уже исправно трудятся на производстве,а документация готова процентов на тридцать и я ее еще никому не показывал. и жить страшно ))

pihter ★★★★★
() автор топика
Ответ на: комментарий от quantum-troll

диванные рассуждения диванны

Рассуждения о диванности диванных рассуждений тоже диванны.

Я из треда много полезного для себя почерпнул и развлекся беседой, чего и вам желаю )

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

Сколько заработает за день?

Цветы долго не хранятся - процент неликвидов, или как их там, большой должен быть, по идее...

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

Петин подход развивает, заставлет изучать новые инструменты, анализировать существующие решения

Это делать не будешь, пока сам не дорастешь. Я когда начал изучать программирование мне все советовали писать кучу комментария в коде, я соглашался, но писать было лень и не писал. А когда стал работать над проектами не по три дня а по нескольку месяцев хотя бы и понял что значит разбираться в собственном коде, стал писать комментариев больше чем кода. То же и с архитектурами, инструментами и всем остальным. пока сам не дорастешь, пока не назреет необходимость - нечего усложнять. KISS же и не зря. в нем тоже когда-то была необходимость.

В идеале инструмент должен быть максимально простой, чтобы любой Вася, прочитав книгу «Быдлокод на 30 дней» мог поучавствовать

Это PHP называется )

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

Цветы долго не хранятся - процент неликвидов, или как их там, большой должен быть, по идее...

Дак они и не стоят ничего, ну не 5 простых цветочков за 500 руб же, я всегда с цен офигевал )

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

Кстати об опыте.

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

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

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

аватарка тазхейту за вчерашнюю новость про жабу? )))

я иду против системы!

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