Не могу понять вот чего - если человеку так приспичило реализовать свою идею, но не хватает каких-то навыков и нет возможности на них задонатить... то почему бы эти навыки не прокачать? Всяких популярных шарашек типа "школа-программирования" пруд-пруди, классические книги по программированию известны. Полгода на освоение php и простейших техник хватит самому занятому гуманитарию планеты (да, получится что-то вроде dle, но человек же для себя будет писать)
Не могу понять, вот если человеку так приспичило прооперироваться, но нет каких-то навыков и нет возможности поехать в израильскую клинику... То почему бы не стать хирургом? Всяких популярных шарашек типо мед. училища пруд-пруди.
Да ладно вам. Вы несопоставимые по сложности вещи сравниваете. Хоть как-то научиться писать сайтики, это совсем не тоже самое, что стать отличным программистом. А для прототипа более чем говнокод сгодится. Если выстрелит идея - найми фрилансера, пусть он пишет.
Всегда изумлял такой подход - напишем говно, но будем надеяться, что оно выстрелит. А когда выстрелит - сделаем нормально. Вы можете привести хотя бы пару-тройку примеров "выстрелившего говна"? Я вот как-то нет...
Я с php вообще не работаю =) У меня кровавый ынтырпрайз, который, в том числе состоит и из говна, палок и лиан. Мой мессидж, подозреваю, был не понят, поэтому поясню - мы говорим о двух разных видах говна! Говно, как конечный продукт и говно под капотом - это два разных сорта говна. Отходя от фекальной тематики обращаемся к примерам - чуть выше речь идет о самоучке, который только-только "научился писать сайтики". С таким багажом готовый продукт родиться просто не сможет, это будет колченогий кадавр с разваливающимся функционалом, т.е. говно не только по содержанию, но и по форме. Именно такой какашкой изумляюсь я - я не помню случая, что б кривой мутант взлетел и стал прекрасным лебедем. Вы же - обратите внимание! - говорите о коде, о том, что внутри. Это несколько другой уровень же - вы знаете ЧТО вы делаете, вы знаете ЗАЧЕМ это делаете, и вы сознательно принимаете решение наговнокодить. Чести это не делает, но если работает на конечную задачу, обеспечивая крутость и функционал, то - имеет право быть.
Пример из моей текущей практики - обкладываю тестами rest-сервис, отдающий ответы в json или xml. Отдает красиво, все, как надо - внутри РУКАМИ в зависимости от Accept формируется либо джейсон, либо портянка xml... >_< Говнокод? Говнокод. При этом если я перепишу все "как надо" (чем и занят), то снаружи результат будет совершенно не заметен.
Ну если человек выкладывает свой проект, когда он ещё не похож на проект, то, видимо, не очень-то и хотел или не туповат)
Например, контора, на которую сейчас тружусь (по сути выстреливший стартап) - подавляющее количество сайтов написано на dle(император говнокода), верстка постоянно скачет(но выглядит неплохо), делалось всё своими силами (не профессионалы). Внутренности - 0, Внешний вид - 3. Результат - выстрелило.
Не подумайте, что я призываю говнокодить, ни в коем случае! Но для себя, когда иначе не умеешь, для создания макета, когда других вариантов нет - ну а что поделать.
С другой стороны, знают ли эти молодые стартаперы цены ? Например, сервис, описанный в посте, на фрилансе сделают за копейки
>> Ну если человек выкладывает свой проект, когда он ещё не похож на проект, то, видимо, не очень-то и хотел или не туповат)
Если речь о сервисе, который сейчас у меня в работе, то, подозреваю, того, кто писал просто жали сроки, поэтому у него не было ни времени, ни желания разбираться с маппингом объекта в целевой формат "на лету". Ну, то есть да, не очень-то и хотел, тем более результат такой же... примерно...
>> Но для себя, когда иначе не умеешь, для создания макета, когда других вариантов нет - ну а что поделать.
Так я разве против? Я ж не спорю. Я всего-то указываю, что ситуации "могу написать нормально, а могу и наговнокодить" и "нормально не умею - умею только говнокод" - это разные ситуации, даже если и там и там принято решение писать говнокод. Это будет два говнокода совершенно разного качества.
Смотря что называть говном. Если оно говно внутри, но выполняет задачу пользователя - всем плевать, что оно говно. Если оно не выполняет задачу - то тут проблема не в программисте, мне кажется. Если посмотреть на нулевые версии того же гугла/fb и проч. - внешне там адъ и погибель.
И гугл и fb делали специалисты своего дела - Пейдж и Брин делали гуглу, как научный проект, да и Цукерберг целенаправленно обучался программированию, так что их "ужас и кошмар первых версий" это ворвсе не тот ужас и кошмар, который появляется в результате усилий самоучки которому без году неделя.
И да, задача любого нормального стартапа - сделать прототип из говна и палок, лишь бы работало и как можно быстрее выйти на рынок, пока не опередил кто-то другой. И уже по фидбеку от пользователей делать нормальный проект.
Именно поэтому стартап является уделом специалистов своего дела, битых профи - в стартапе некогда обучаться и искать ответы на stackoverflow, в стартапе надо куярить и куярить, что б завелось и поехало.
Вы подменяете понятия, не надо так. Но даже если. Приспичило - это значит "хочу, но это не обязательно". Если вам приспичило подровнять большой палец на ноге и вы не можете это сделать сами и не хотите платить за эту операцию... ну да, учитесь тогда делать сами. Если вы имеете в виду что-то вроде вырезания опухоли, то... опять же, если нет возможности сделать это или оплатить это - надо как-то самому придумывать выход , а не ждать хирурга-самаритянина
Там все не так страшно. Для реализации упомянутой в посте идеи хватит и совсем базового уровня. Желание + полгода по часу-два в будние дни. Уровень будет, конечно, "говнокод", но навыки для реализации своих идей уже будут. А дальше запустить на любой кодовой базе, заработать на грамотное переписывание и вуаля - вы на коне без мам пап и "50% тебе отдаю"
>> Там все не так страшно. Для реализации упомянутой в посте идеи хватит и совсем базового уровня. Я как бы профессиональный программист не чуждый веба, не надо мне говорить, что "там все не так страшно" :) Навыки уровня "я пишу говнокод, но я ПОНИМАЮ, что я пишу" это далеко не базовый уровень, и этот уровень минимален для того, что бы сделать что-то работающее, а потом сформулировать внятные требования к "грамотному переписыванию".
Тогда мы оба знаем, что уровень вхождения и понимания в присно помянутый php - минимален до безобразия. Для получения стартовых знаний достаточно осилить древний "php в подлиннике", после прочтения которого человек уже будет знать в какую сторону копать для реализации своей задумки и уж точно будет понимать что он пишет. А тз все пишут плохо, это талант особого рода) В общем, имхо, "хочешь - делай, а не жди манны небесной"
После "php в подлиннике" гуманитарий максимум начнет лепить сгенеренные на стороне серванта странички полностью обновляющиеся на каждый чих, да кое как обрабатывать данные форм. Возможно даже осилит простенькие инсерты в мускуль. Все, потолок. В начале предлагался какой-никакой сайт предполагающий трехстороннее взаимодействие, и тут-то нашего бравого гуманитария ждут волшебные слова "авторизация", "аутентификация", ни дай бох "транзакция", которая, блин, каким-то образом должна быть сквозной аж с клиента и до уровня БД. И с обработкой возможных аварий. А потом придется еще и с третьей стороной взаимодействовать, и если слово "api" он посмотрит в словаре, то с расположенным рядом словом "rest" будет сложнее. Как, есть не только get и post запросы?! Как же так, только что все было понятно - get это с параметрами в командной строчке, а post для того, что б файлы качать и параметры у него где-то еще, а тут какие-то put'ы и прочие delete... Шок! И это я молчу про катарсис, который испытает наш гуманитарий обнаружив, что без клиентской стороны никуда, а значит никуда без js, и это ЕЩЕ ОДИН ЯЗЫК ПРОГРАММИРОВАНИЯ который бедному гуманитарию придется освоить! Бля! Что такое jQuery?! Какой-такой Angujar.js?! Где я?!!
Да, все верно, хочешь делать - делай! Но просто не будет...
Просто и не будет - но это возможно и причем за не такой уже большой срок (js, конечно, порвет мозг и отправит на месячный запой любого неподготовленного неофита, но ничего сверхсложного). Было бы желание) PS: По-видимому, вопрос уже исчерпан, так что предлагаю возвращаться в свои ide и продолжать пилить "мегагиниальный праэкт за 50% дохода" =( Удачного дня
В случае самообучения не имея рядом опытных товарищей "не такой уже большой срок" растягивается в бесконечность - придется тупить над каждым затыком самостоятельно. Знакомая же ситуация, когда пару дней разбиваешь лоб о проблему, которая решается в итоги одним if'ом? С распространением интернета стало гораздо проще, конечно, но, с другой стороны, количество говнорешений в сети возрасло до неимоверного количества.
При наличии рядом опытного учителя, ученик всего скорее сядет на шею и при любой трудности будет стучать в скайп своему наставнику с криком "нимогу! оносамо! помоги!"
Говнокод - это побочный эффект популяризации, что поделать. Имхо, свою нишу "быдлокодеры" занимают, свою роль выполняют - и ладно. А работать-то с ним/после них не обязательно.
На самом деле я немного ошибся в первом комментарии - такие люди есть, но их историй мы не читаем, отсюда выходит недавно упомянутая тут "ошибка выжившего". Например, неоднократно на хабре встречались success story наподобие "как написать ios приложение не умея программировать".
Опытный учитель будет помогать указующим пинком в нужную сторону, а не решением проблемы за падавана :) В команде так все и работает же - более опытные товарищи подсказывают менее опытным.
>> На самом деле я немного ошибся в первом комментарии - такие люди есть, но их историй мы не читаем, отсюда выходит недавно упомянутая тут "ошибка выжившего". Например, неоднократно на хабре встречались success story наподобие "как написать ios приложение не умея программировать".
Все саксесс-стори такого вида какие я могу вспомнить сводятся к чуть иной формуле успеха - что-то типа "решай проблему, а не учись программировать". Хочешь игру под iOS, но не умеешь программировать? Бери Unity, а не кидайся изучать Objectiv C! Хочешь свой сайт, но не умеешь верстать? Не учи верстку - бери CMS! И так далее...
Вот и именно, как результат - человек делегирует обязанность думать учителю, а сам учится только реализациям, а не методам решений. Имхо, если шефствовать над кем-то, то после периода изложений своих знаний, отвечать на его вопросы надо только через день-два (фильтр для очевидных вопросов). А по достижению им определенного уровня вообще на какое-то время рвать контакт. Во всяком случае к таким выводам я пришел на основе своего скромного опыта обучения.
>> Все саксесс-стори такого вида какие я могу вспомнить сводятся к чуть иной формуле успеха - что-то типа "решай проблему, а не учись программировать". Хочешь игру под iOS, но не умеешь программировать? Бери Unity, а не кидайся изучать Objectiv C! Хочешь свой сайт, но не умеешь верстать? Не учи верстку - бери CMS! И так далее...
Не зная c#, js или python Unity не поможет, так что немного обучиться принципам, синтаксису и api все таки придется. Так же и с CMS. Но суть так-то верна - надо делать дело, а не лишние знания получать. То есть минимум все таки нужен. И получить его не так сложно. А то, что получится говнокод - да лишь бы работал.
оффтоп: Не знаете где раздобыть падавана нынче можно? А то рутиной заваливают, на интересное времени не остается.
>> Имхо, если шефствовать над кем-то, то после периода изложений своих знаний, отвечать на его вопросы надо только через день-два (фильтр для очевидных вопросов). А по достижению им определенного уровня вообще на какое-то время рвать контакт
Это если нет задачи сделать коммерческий проект за который платят денег. В противном случае есть не нулевая вероятность потратить времени и сил на все эти танцы больше, чем в итоге сэкономить. Но, в принципе, подход жизнеспособный, просто применим не всегда.
>> Не знаете где раздобыть падавана нынче можно? А то рутиной заваливают, на интересное времени не остается.
Так студенты-практиканты же. Иногда даже бесплатные - организация им какую-то бамаську и возможность получить опыт, а они как раз рутину разгребают. Все довольны.