Pull to refresh

Comments 15

Однако отрицать падение общего уровня разработки за последние годы глупо. Все больше и больше продуктов выходят в состоянии «вечной беты» чтобы привлечь инвестиции или оправдать ожидания партнеров.

Ну правильно, подход «Х… к х… к и в продакшен» стал основным в разработке. А зачем париться тестировать там что то, отлаживать… если денег уже дали. Я вообще не понимаю как можно было ожидать другого если подавляющее большинство «девелоперов» про алгоритмизацию краем уха только слышали, а вместо того что бы подумать как реализовать своими силами какой то алгоритм, хотя бы для общего развития, идут сразу на стек найти вопрос как у него и ответ как подключить очередную раздую либу ради одной функции.
Меня очень сильно улыбает когда очередная херочка говорит с гордостью «у нас Agile»… неть девочка, у вас «Ср*ли, плакали лепили»… но вы почему то называете это Agile.
Вот зря минусуете человека, он всё правильно говорит.

Фигню говорит человек. Проблема не в том, что "х-к, х-к и в продакшен", а в том, что сложность инструментов каждый день только растёт: куда ни плюнь — абстракции поверх абстракций, и, чтобы оно в общем случае работало, желательно знать, что там происходит внутри — на N уровней в глубину.

Пользуйтесь старыми инструментами, делов то)

  1. Начальство не поймёт, почему я хочу лепить уродливый аппликейшн на WinForms, когда вокруг у всех React, Angular и прочий веб.
  2. Коллеги не поймут — и разбегутся, потому что в глаза этот WinForms не видели, но гугл им подсказывает, что на рынке это не очень востребовано.
Я просто не согласен с этим веянием 'Раньше было круто — залил файлик на сервер — и всё работает, а сейчас — все эти ваши докеры, редисы и прочее'.

Все эти 'абстракции поверх абстракций' не берутся из ниоткуда, они позволяют (в общем случае) сделать быстрее и больше ценой скрытия некоторых деталей.

По WinForms, к сожалению, сказать ничего не могу — не работал с ним, но он вроде, как минимум, в кроссплатформ не может, нет?

Ну и если Вы не можете убедить коллег — насколько вероятно, что все коллеги не понимают, а один Вы знаете как правильно? Наверняка у них есть аргументы кроме хайпа на новые технологии :)

Я не про "файлик на сервер", а про распространённость и приемлемость инструментов высокого уровня. Дотнет со своим WinForms (а потом и с WPF) давал замечательный фундамент для того, чтобы построить аппликейшн, который примерно "ходит в базу и показывает UI". Были готовые контролы — не только кнопки, но и гриды с виртуализацией. Были готовые библиотечные механизмы для расширения этого всего под свои задачи. Была куча документации о том, как всем этим пользоваться. Программист (один) мог сесть и сделать аппликейшн — потому что вся эта ерунда вполне умещалась в голове. Называется "программист дотнет".


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


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


Я согласен, что "зато кросплатформенно" — это в какой-то степени шаг вперёд, но в плане именно продуктивности — это сотня шагов назад.


Ну и если Вы не можете убедить коллег — насколько вероятно, что все коллеги не понимают, а один Вы знаете как правильно? Наверняка у них есть аргументы кроме хайпа на новые технологии :)

А зачем? :-) Софт должен вписываться в реальность, в которой он будет существовать: программисты должны обладать нужными знаниями, чтобы его пилить и поддерживать, юзеры должны использовать нужную ОС, чтобы этот софт работал, заказчик должен понимать последствия выбора именно таких вот технологий — что если ОС прекратят поддерживать, что если программисты уволятся и придётся искать новых, и т.д. "Правильно"-то оно может и правильно, но в реальность просто уже не вписывается.

в том, что сложность инструментов каждый день только растёт: куда ни плюнь — абстракции поверх абстракций

Давайте подумаем как же так вышло. Живет программист N, ему поставили какую то задачу, он нагуглил решение и прилепив либы X и Y закрыл таск. Потом за бокалом смузи он решает, что эти 10 строк кода которыми он слепил X и Y инновационный проект, та самая вещь которая достойна что бы увидеть мир и заливает это на гитхаб. Это находит программист N1 и включает в свой проект еще с какой то либой. Осталось только повторить итерацию несколько раз и мы имеем то что имеем. А ведь можно еще таскать код из других языков… уу какой простор для веселья. Так что осознайте уже, что абстракция поверх абстракции не причина, а следствие ситуации в которой ни N ни N1 не задумались, а полезли искать готовое.
Я вообще как то проспал революцию в которой умение программировать и умение быстро гуглить стали одим и тем же. Я не заметил в какой момент на человека в команде который предлагает реализовать самим или хотя бы проработать этот вариант смотрят как на чумного, а коллеги по цеху шепчут что бы взял готовое и не наводил тут смуту. С каких пор люди стали так доверять чужому коду и так не верить своему.
Статья на хабре из 2016:https://habr.com/ru/post/280099/
Уже тогда все было отвратительно. И с тех пор лучше не стало.
А что получается в итоге?
Компания А выкатала не идеальный, но вполне рабочий продукт еще полгода назад и уже гребет деньги лопатой.
Компания Б, которая начала разработку приблизительно в то же время, все еще в процессе разработки идеального продукта. Программисты упорно пишут 100500-й велосипед и когда допишут — то продукт быстро обгонит конкурентов (но это не точно)
А решение тут очень простое. Нашли у компании А ошибку в программе, компания А вернула покупателям 10% стоимости. Нашли второй раз, внесли в список черный. Кто в чёрном списке платит налог не 13% (условно), а 25%. Глядишь, через годик и софт нормальный появится. А то расслабились все, «мы вам продаём штаны, на условиях как есть, ни за что не отвечаем. Если порвутся, сам дурак, не надо было приседать.» PS. Надо было отдельно написать, а то получилось как будто к вам претензия.
Компания условные 12% разницы заложит в цену и выпустит продукт чем быстрее. Потому что это эффективно и работает.
И пока компания Б будет биться с первой версией, компания А успеет выпустить еще одну или две улучшенные версии.
Ммм… мой любимый аргумент. А почему в вашем идеальном мире возможно только так? Кто первый выкатил прототип тот и миллионер. И А и Б могли тупо обанкротиться потому что уже была С о которой они не знали или не просчитали рынок. А могла выпустить такой сырой продукт что померла сама. Б могла выйти в лидеры просто прорекламировав то насколько она лучше именно в том в чем А хуже. Вариантов 100500, но мы берем тот что из чернобелого мира и нам так удобен для аргументации.
не идеальный, но вполне рабочий продукт

Вы давно видели идеальный продукт? Я никогда. Даже просто рабочий уже днем с огнем искать надо. То что выпустит А будет похоже на скайп, но в отличие от него не будет иметь бэка в миллионы пользователей старой версии…
Программисты упорно пишут 100500-й велосипед и когда

Не надо 100500, один хотя бы напишите. Это уже будет шагом в нужную сторону. И возможно когда то наш рынок прототипов эволюционирует обратно в рынок ПО.

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

Сложность ПО растёт, а требования к кадрам снижается, если 15 лет назад все программисты были с инженерными специальностями и хотяб знали дискретную математику, теорию графов и т.п., то сейчас берут гуманитариев после курсов. Которые вместо того что-бы сделать систему взаимодействия из компонентов просто накидывают свалку кода. Вместо того что-бы воспользоваться матрицей переходов лепят из if/else тысячи строчек кода обработки смены состояний. Я не говорю уже о том что используют везде int не думая об ОДЗ, как результат храним данные с излишком или выходим за пределы.

Антирекорд 2020: в ПО выявили уязвимостей больше, чем в любой другой год

Разучились программировать или осознанные действия?
Как говорили в стародавние времена:- Мастерство не пропьешь. А если его нету?!

Sign up to leave a comment.