LINUX.ORG.RU
ФорумTalks

Let's the battle begin!

 , ,


0

2

В ознаменование окончания рабочей недели, хотелось бы спросить ваше мнение по такому поводу - почему почти все ПО говно!
Везде же работает куча вроде бы умных и хороших программистов. Все вроде знают code convention и паттерны проектирования. Все рассуждают об хорошем дизайне и архитектуре приложений. При работе используются умные IDE, которые исправляют совсем уж тупые ошибки вроде опечаток или попытки вызвать метод у null объекта. Пишутся юнит-тесты. QA команда тестирует не покладая рук. Во всю используются всякие модные Agile и Canban.
И все равно при этом, приложения не работают нормально - все глючит и тормозит. Реализация новых фич это чаще всего прикручивание подпорок и костылей рядом с домом. Правки в исходном функционале есть ад, заставляющий пробираться через сотни слоев абстракций и фабрик. А еще любые правки могут привести к тому, что все развалиться как карточный домик.
Почему в разработке все так хреново? И только ли в программировании все так хреново? Я имею в виду - не укладываются в сроки, превышение бюджета и прочие такие штуки?


Жизнь боль

Ещё один всё понял.

Camel ★★★★★ ()

В своё время контора, где я работал программистом, делила помещение с архитекторами (ребята, которые чертят чертежи домов, ага).
Так вот — они знают что такое костыли.
А из-за невозможности рефакторинга и повышенных требований к качеству там такие костыли, что... Ну в общем всем костылям костыли...

Stahl ★★☆ ()

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

Так вот, в проектах есть другие люди и это убивает все на корню. Если бы мне, например, дали одному делать софтину с нормальной зп и резиновыми сроками, я бы написал идеальный пис оф софтваре. Да на него бы Столлман молился. Но, увы и ах, мне приходится работать в команде имбецилов (так думает каждый программист). Еще тема — один надмозг понапишет всяких linq на своем сишарпике, потом сваливает с проекта, а поддерживают его бывшие сишники. Представь многоэтажность мата при этом.

unt1tled ★★★★ ()

потому что никто не знает чего хочет, потому что архитектуре по не учат и не учатся

Deleted ()

Так плохо везде, где нет четко поставленной задачи, оперативного контроля и финансово-материальной мотивации.

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

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

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

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

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

ps: ну и добавим сюда тот факт, что практически никому не удается найти ту работу, которую он хочет делать, и приходится довольствоваться тем, куда возьмут, да еще и на херовую зп, отсюда + недостаток мотивации

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

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

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

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

unt1tled ★★★★ ()

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

Solace ★★ ()

почему почти все ПО говно

Потому что пишется на всяких цепепе, а не на Agda или хотя бы Haskell.

SystemD-hater ()
Ответ на: комментарий от koirn

Но почему команда образованных умных людей - дает на выходе такой говенный продукт?

Потому что им платят за разработку говна-лишь-бы-работало?

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

и давно это у тебя, всех рговнять по себе?

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

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

Deleted ()

Программисты подсознательно не хотят делать хорошое ПО, это не выгодно.
* Хорошее ПО не нужно дописывать.
* Хорошее ПО не нужно постоянно поддерживать.
* Хорошее ПО не нужно тестировать.
* Хорошее ПО выглядит проще и оплачивается хуже.
А ещё, чтобы написать хорошее ПО нужно обладать знаниями, интересом, временем, нужно иметь соответствующее мировоззрение, нужно уметь в дизайн, нужно иногда думать как нормальный человек (пользователь), нужно писать код который другим программистам будет читать приятно, нужно меньше пафоса, нужно быть в курсе всего и принимать правильные решения, и т.д.

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

Хорошее ПО не нужно дописывать.
Хорошее ПО не нужно постоянно поддерживать.
Хорошее ПО не нужно тестировать.

ЩИТО?!

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

Усли бы умели, продавали б эти навыки за деньги.

Seom ()

И только ли в программировании все так хреново? Я имею в виду - не укладываются в сроки, превышение бюджета и прочие такие штуки?

Везде так.

Закажи себе кухню с доставкой и установкой. Факап сроков в ИТ после этого покажется незначительным событием. Еще можно дом построить с какими-нибудь строителями.

По-моему вопрос ТСа должен звучать так: становится ли ПО лучше (во всех смыслах) от года к году а) с точки зрения пользователя; б) с точки зрения разработчика?

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

А как с ПО? или еще рано сравнивать?

eabi ()

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

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

Видимо у нас разные представления о хорошем ПО.

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

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

Замки и крепости некоторые стоят веками. Систем которые работают десетялетиями хотя бы не так уж и много

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

Лучшее ПО это Ничего
Ничего, никогда не тормозит.
Ничего, не имеет не единого бага.
Ничего, работает на любом железе.
Ничего, по-настоящему кросплатформенно.

aplay ★★★★★ ()

почему почти все ПО говно!

Потому что недоучки пишут let's вместо let.

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

Только купят такое единицы, в том случае когда нужно надежное ПО привлекают верификацию, а не «гениев», в остальных случаях дешевле выпустить с глюками, благо будет повод выпустить новую версию

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

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

Seom ()

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

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

но я таких гениев не знаю и это касается не только создания ПО.

Либо ты живешь в камере, либо слеп.

Вся высокотехнологичная продукция, проходит неоднократные испытания.

В определенных условиях, ага, и чтобы испытать ее во всех условиях также нужен «этот самый человек» и «бесконечные ресурсы». Так что завязывай 8)

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

И говно никогда не сделают, ну и не говно тоже, так что это вариант, да 8)

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

Так тем и отличается глючная поделка с сотнями приделанных по дороге костылей от готового продукта - сроком, качеством тестирования и испытаниями при реальных задачах. Естественно, по ходу процесса исправляют и усовершенствуют. Ни там, ни там это не делается гением с первого раза. Есть, конечно, исключения, но это другой разговор :)

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

Так тем и отличается глючная поделка с сотнями приделанных по дороге костылей от готового продукта

аа, понятно, ты видимо кроме db2 ничего больше не видел

Deleted ()

Ты про какое ПО? Покупное? Заказное? Открытое?

ya-betmen ★★★★★ ()
Ответ на: комментарий от Seom

Да ты вообще ничего не видел, и это тоже для тебя ничего не меняет 8) Уж таков ты.

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