Всё так. Опыт показал что у нас никто ничего контролировать не способен - управленческая импотенция в стране. У них лапки.
Так что работодатели с удовольствием урежут зарплаты, и никто ничего не сделает.
А кому выгодно - вообще будут всё игнорировать. Есть много компаний, которые платят рабочим намного меньше той ценности, что рабочие производят, в таких условиях рабочие часы сокращать не выгодно: никакая экономия не покроет убыток.
Поддержу. Тоже Symfony близок чем-то, что заставляет возвращаться к нему.
Порог входа у него выше, чем у laravel, из-за чего большинство оседают именно на laravel.
Но архитектурно он лучше и чище - в laravel много костылей, и это отталкивает. И документация на symfony очень подробная - с ней можно всё быстро освоить. Но необходимость копаться в ней отталкивает многих. Собственно только за счёт этого и выше порог входа: после чтения документации почти все вопросы исчезают.
Что замечательно - большинство компонентов работают независимо друг от друга, что позволяет собирать свои фреймворки или приложения из тех модулей, какие больше нравятся. Но в конце концов понимаешь, что всё это по факту выходят велосипеды, которые мало в чем выигрывают у symfony, но требуют поддержки, так что в конце концов приходишь к чистому symfony. Как уже было сказано, symfony это не только фреймворк, но и целая экосистема, которую поддерживает сообщество, и в которой всё согласовано друг с другом - самостоятельно такое повторять просто непродуктивно.
По производительности выходит всё не так красиво, как хотелось бы, такова цена функционала. Но у конкурентов ситуация ещё хуже. К тому же на symfony всё кешировано, а с кешами производительность сравнима с самыми быстрыми реализациями.
Но есть момент с ORM. ORM на symfony одна из самых совершенных, но и за ней нужно следить - хоть она и работает лучше конкурентов, но всё же многие вещи она не способна оптимизировать, и гонит избыточные запросы. Это общая особенность ORM систем, и с этим мало что можно сделать - ORM не способны понимать кейс, в котором используются запросы, поэтому и не способны оптимизировать обращения к БД, без дополнительных инструкций от программиста. Впрочем это настраивается один раз на каждый запрос, и потом всё работает как часы. Да и профилировщик встроен - можно посмотреть как текущий хит, так и предыдущие: какие компоненты работали, сколько, какое потребление памяти, какие запросы к БД выполнялись, и многое другое.
И ещё одна удобная фишка - консольные команды. С их помощью удобно автоматизировать развертывание и управление приложением, а также с их помощью генерируется почти весь каркас приложения.
Из последнего, что делал на symfony - rest-api со всеми вспомогательными сервисами и наворотами. По времени вышло намного быстрее, чем если бы делал вручную. Очень выручило, т.к. бюджет времени был сильно ограничен. В итоге получилась красивая конфетка, которую было не стыдно презентовать, что позволило в конкурсе выделиться на фоне самодельных решений и получить солидный профит.
Хз что там за проблемы, на той же убунту это работает ровно наоборот: есть стабильный релиз, он почти «заморожен», но это не приводит к несовместимостям, а наоборот — обновления почти на 100% совместимы.
С одной стороны свежего софта там нет годами, кроме обновлений безопасности и каких-нибудь древних хорошо проверенных версий всякого софта.
Но с другой стороны набор софта и настроек везде ± один и тот же, как раз из-за того что это стабильная версия с длинным сроком поддержки. А это в свою очередь дает уникальные возможности: разработчики точно знают под какой набор софта пишут, и могут тщательно все протестить именно на тех версиях, которые стоят у всех, что избавляет от множества проблем.
Вот кстати, не доверяю фильтрам, и вам не советую.
Дело в том, что неоднократно замечал, что через них манипулируют спросом.
И ладно бы делали это так, чтобы без ущерба для клиента, так ведь нет — наоборот, мешают купить лучший вариант.
Например вы хотите купить телефон с usb3. Таких телефонов сотни.
У всех в характеристиках указан usb3, но фишка в том, что далеко не все они есть в фильтре usb3
Как покупает клиент: включает фильтр по usb3 и выбирает среди того, что выдается по фильтру.
Но так он не может найти часть телефонов, у которых указан usb3, но их скрыли из фильтров — такие телефоны можно найти только без фильтров, вручную.
Иногда и вообще из характеристик убирают usb3, так чтобы вообще шансов не было найти.
Это и есть манипуляция спросом: клиент чаще всего купит то, что есть в фильтрах. Неугодные модели можно «подвинуть».
Бизнес, ничего личного: кому нужнее — тот заплатит больше. Главное найти того, кому нужнее.
Сейчас детектят по аккаунту, а по-умному нужно детектить по координатам, чтобы отсечь смену аккаунта.
Рано или поздно доработают. Тогда и обнаружить это будет сложнее, и таких статей будет меньше.
Что интересно, клиента все устраивает до тех пор, пока он не обнаружит обман. Так везде.
Люди готовы иногда и 10x платить, пока сервису удается скрывать, что платят они ни за что — психология.
Кажется так это и работает обычно: новые сотрудники идут только на ± рыночную цену, потому что ниже им не интересно, когда вокруг много предложений.
В то время как старые сидят на той, на которую пришли n лет назад. Рынок за эти n лет естественно подрос.
Почему и не рекомендуется программистам задерживаться на одном месте.
Старым сотрудникам в некоторых местах ежегодно что-то прибавляют, но все равно это выходит ниже рынка: зачем платить больше, если работают и за меньше?
Но это приводит к проблемам: сотрудники хоть и молчат, но все видят, и отнюдь не идиоты. Чаще всего просто берут и тихо уходят на большую зарплату.
Особенно рискованна такая политика, если сотрудник уникальный, задействован на важных проектах, и быстро заменить его некем: сэкономили несколько десятков тысяч на зарплате, сорвали сроки, и получили штрафы на несколько миллионов. Эффективность.
Хм, а ведь в этом есть доля истины. Это же и к нам можно применить, верно?)
Там какая суть: в одном варианте процессор просто исполнял бинарник, а в другом также исполнял этот бинарник, но уже тратил часть времени на анализ и оптимизации этого же бинарника.
Как итог суммарный выигрыш от оптимизации покрыл все расходы на анализ и эмуляцию, да ещё накинул сверху 20% производительности.
Если отсюда убрать эмуляцию - выигрыш от оптимизации явно будет ещё выше, поскольку эмуляция на старом железе была дорогим удовольствием по времени. Современных технологий виртуализации тогда не было.
Но этот принцип можно использовать и для нашего мозга: что если не выполнять интеллектуальную работу, а сперва проанализировать её и оптимизировать?
В большинстве случаев затраты времени на анализ окупятся сэкономленным оптимизацией времени.
А что касается рекурсии - это работать определенно не будет.
Первый раунд оптимизации уже выявил всё, что могли выявить те алгоритмы.
Второй раунд будет уже оптимизировать исключительно сам слой эмуляции. Но его оптимизировать смысла нет - выгоднее эмуляцию просто исключить из процесса. Современный софт так и собирается: основной набор оптимизаций проводится во время генерации программного кода бинарника, и это довольно тяжёлый по ресурсам процесс, а значит явно эффективнее jit, который не может себе позволить так тщательно анализировать код.
Тоже размышлял о подобном, но к сожалению так и не поставил для себя точку в этом вопросе.
Какой-то смысл в этом есть, нечто сакральное общее для всего мира. Но какой именно — решительно непонятно. Тут что-то такое, что ускользает, когда о нем думаешь.
Например общеизвестно что энтропия в природе со временем нарастает, это наблюдается везде.
Но там, где есть жизнь, наблюдается обратное. Жизнь организует хаос, снижает энтропию вокруг себя. Жизнь и хаос в природе несовместимы, это два противоположных полюса.
Они каким-то образом связаны, это факт. Но как и почему — неизвестно.
Что любопытно, такими свойствами обладают и кристаллы, но они явно не живые. Куда их приткнуть — тоже непонятно.
И что всё это в итоге означает — тоже непонятно. Может жизнь так просто получает энергию. Может вынуждена отвоевывать себе пространство, очищая его от смертоносной энтропии.
Единственное что сюда явно не вписывается — кристаллы. Не особо понятно что у них общего с жизнью, и почему они связаны с энтропией теми же отношениями, что и жизнь.
Наверное проще о таких сущностях просто не думать. Возможно у нас пока недостаточно информации, чтобы с этим разобраться.
Но как минимум способность упорядочивать хаос — это основное свойство любой жизни. Судя по наблюдениям автора, эта способность востребована и при работе с информацией — её совершенствование оценивается бизнесом положительно и вознаграждается.
Так давно существует отличная обучающая среда pascal ABC. Кажется даже с неким подобием IDE. И оно похоже еще живое: pascalabc.net
Т.е. и на паскале вполне себе удобно можно жить.
Ну а далее все стандартно: C/Cpp, java, и понеслась. Там дальше уже алгоритмы рулят, а не конкретный язык. Конкретный язык каждый уже под себя и свои задачи выбирает.
И ещё хорошо бы параллельно заглянуть в мир ассемблера, почитать «Код — тайный язык информатики» (https://habr.com/ru/post/68365/)
Это наиболее лучшее описание сути веб-технологий из того, что я встречал.
И диаграмма обработки запроса шикарна: тут и шаблонизация, и mvc, и роутинг, и работа сервера.
Хотелось бы посмотреть на более идеальное описание, если у вас есть такая ссылочка.
А можете привести ссылочку на такую статистику?
Пока удалось нагуглить только статистику w3tech, где у java всего 3.5%
И это при том что почти половина java-разработчиков в опросе jetbrains заявила что используют java для веб-сервисов.
Не могу понять в чем причина: либо java-разработчиков мало, и эта половина и покрывает те 3.5%, либо где-то лежит огромный невидимый пласт веб-сервисов, которые покрывают половину интернета, но никак не учитываются в статистиках.
Пиццу не сам делаешь, значит можно делегировать наемным рабочим. К тому же, конкретно с пиццей, почти все там сейчас заказное и продается в готовом виде ведрами, только собирай как конструктор, для чего много ума не требуется.
Найти ребят на сделку, т.е. они сами себе зарплату заработают.
Найти того кто присмотрит за ними и обучит — опытный персонал есть, кто-то из них за небольшой бонус к зарплате с удовольствием выступит в роли шеф-повара для новых ребят. Можно значительно усилить мотивацию перспективой должности с повышенным окладом, при условии что новая команда окупит себя — так, чисто чтобы ваши интересы совпадали.
Помещение и оборудование сейчас многие предлагают в аренду — решается такое за нескольких дней.
Для усиления эффекта оповестить город — это тоже не обязательно дорого, если подумать самому, а не покупать продвижение у всяких левых контор, которые регулярно всем названивают и выдаю откровенную дичь.
Вложиться в аренду, хотя бы на пару месяцев, и посмотреть что выйдет.
Потери в этом случае минимальны, вложения небольшие, зато есть хороший шанс потеснить конкурентов, у которых на такой финт просто нет ресурсов, т.к. для них вложения хотя бы на сравнимый уровень получаются значительно выше.
Даже если не получится — теряешь немного. Да и конкуренты наверняка не оставят такое без внимание и попробуют повторить, что ослабит их, т.к. для них такая попытка стоит значительнее дороже.
Т.е. считай что при небольших затратах имеешь значительный выигрыш в двух случаях из трех — а это просто невероятные шансы в бизнесе, где счет идет на единицы процентов.
Не избыточно, наоборот — грамотно построенный код легче поддерживать и модифицировать.
Фреймворк уже предоставляет все необходимые инструменты для расширения — только воспользуйся. И стоит ничего: несколько строчек в конфигах, никаких лицензий и абонплат.
Без фреймворка аналогичный уровень функционал придется писать с нуля самому, а это многие часы времени впустую, которые кто-то должен оплачивать.
И без фреймворка дорого вносить какие-то кардинальные изменения в функционал: при прочих равных, если бизнес запросит что-то сильно отличающееся от того, что есть сейчас, без фреймворка такие изменения обойдутся гораздо дороже. Фреймворки как раз заточены под изменчивость и расширяемость.
А с точки зрения программиста, фреймворк позволяет реализовать тот же функционал за гораздо меньшее время: вместо реализации с нуля программист подключает фреймворк и получает гарантированно работающий и богатый функционал, с ним он может сосредоточиться непосредственно только на самом сайте, не отвлекаясь на всякие базовые вещи, типа обслуживания форм, работы с БД, и прочее.
При всем этом код еще и оказывается стандартизирован: любой другой программист, знающих этот фреймворк, может поддерживать код. Чего не скажешь о самописном коде, львиная доля времени с которым уйдет просто на то, чтобы понять как он устроен, какие ограничения имеет, и на борьбу со скрытыми ошибками: так оно работает, а так внезапно уже нет, а причина — кто-то где-то глубоко внутри кода поленился сделать нормально какой-то маленький участок кода, который сперва предстоит найти аки иголку в стоге сена.
Проблема тут в другом — видимо местный рынок просто не развит, если даже просто человек знающий фреймворк кажется чем-то исключительным и стоит дорого.
В реалиях мира айти фреймворки — это просто базовый уровень, этим никого не удивить, это просто стандарт.
Это прекрасно. Но среди тех мелких предпринимателей, что наблюдаю вокруг, очень мало толковых. И это огромная возможность для толковых людей…
Типичный образ: поперло — отстроили бизнес, отдыхаем, закупаемся тачками/квартирами, волна спроса прошла — бегаем с горящей задницей без понятия что делать, продаем тачки/квартиры, экономим на зарплатах подчиненных.
На самом деле мало кто из них грамотно поддерживает свой бизнес или что-то там планирует. Когда есть прибыль — выкачивают её из бизнеса ради хорошей жизни, когда почти нет — экономят, выживают чудом.
Просто среднего ума человек, не расслабляясь как они, легко отберет у них весь рынок.
Конкуренция там уровня: сделаем цены ниже чем у конкурента, и будем гнать откровенный брак.
Создается впечатление что мелкий рынок по стране просто не развит: любая минимально качественная конкуренция просто выдавит всех этих предпринимателей с рынка.
Если ситуацию взять как у дрпасс, то скорее так: скачать программу, обнаружить что трансивер не работает, обновить прошивку, обнаружить что… трансивер не работает. Финита ля комедия: исходников нет, ничего не поправить, выбрасывай трансивер покупай новый, с шильдиком win10 pass.
Всё так. Опыт показал что у нас никто ничего контролировать не способен - управленческая импотенция в стране. У них лапки.
Так что работодатели с удовольствием урежут зарплаты, и никто ничего не сделает.
А кому выгодно - вообще будут всё игнорировать. Есть много компаний, которые платят рабочим намного меньше той ценности, что рабочие производят, в таких условиях рабочие часы сокращать не выгодно: никакая экономия не покроет убыток.
Поддержу. Тоже Symfony близок чем-то, что заставляет возвращаться к нему.
Порог входа у него выше, чем у laravel, из-за чего большинство оседают именно на laravel.
Но архитектурно он лучше и чище - в laravel много костылей, и это отталкивает. И документация на symfony очень подробная - с ней можно всё быстро освоить. Но необходимость копаться в ней отталкивает многих. Собственно только за счёт этого и выше порог входа: после чтения документации почти все вопросы исчезают.
Что замечательно - большинство компонентов работают независимо друг от друга, что позволяет собирать свои фреймворки или приложения из тех модулей, какие больше нравятся. Но в конце концов понимаешь, что всё это по факту выходят велосипеды, которые мало в чем выигрывают у symfony, но требуют поддержки, так что в конце концов приходишь к чистому symfony. Как уже было сказано, symfony это не только фреймворк, но и целая экосистема, которую поддерживает сообщество, и в которой всё согласовано друг с другом - самостоятельно такое повторять просто непродуктивно.
По производительности выходит всё не так красиво, как хотелось бы, такова цена функционала. Но у конкурентов ситуация ещё хуже. К тому же на symfony всё кешировано, а с кешами производительность сравнима с самыми быстрыми реализациями.
Но есть момент с ORM. ORM на symfony одна из самых совершенных, но и за ней нужно следить - хоть она и работает лучше конкурентов, но всё же многие вещи она не способна оптимизировать, и гонит избыточные запросы. Это общая особенность ORM систем, и с этим мало что можно сделать - ORM не способны понимать кейс, в котором используются запросы, поэтому и не способны оптимизировать обращения к БД, без дополнительных инструкций от программиста. Впрочем это настраивается один раз на каждый запрос, и потом всё работает как часы. Да и профилировщик встроен - можно посмотреть как текущий хит, так и предыдущие: какие компоненты работали, сколько, какое потребление памяти, какие запросы к БД выполнялись, и многое другое.
И ещё одна удобная фишка - консольные команды. С их помощью удобно автоматизировать развертывание и управление приложением, а также с их помощью генерируется почти весь каркас приложения.
Из последнего, что делал на symfony - rest-api со всеми вспомогательными сервисами и наворотами. По времени вышло намного быстрее, чем если бы делал вручную. Очень выручило, т.к. бюджет времени был сильно ограничен. В итоге получилась красивая конфетка, которую было не стыдно презентовать, что позволило в конкурсе выделиться на фоне самодельных решений и получить солидный профит.
С одной стороны свежего софта там нет годами, кроме обновлений безопасности и каких-нибудь древних хорошо проверенных версий всякого софта.
Но с другой стороны набор софта и настроек везде ± один и тот же, как раз из-за того что это стабильная версия с длинным сроком поддержки. А это в свою очередь дает уникальные возможности: разработчики точно знают под какой набор софта пишут, и могут тщательно все протестить именно на тех версиях, которые стоят у всех, что избавляет от множества проблем.
Дело в том, что неоднократно замечал, что через них манипулируют спросом.
И ладно бы делали это так, чтобы без ущерба для клиента, так ведь нет — наоборот, мешают купить лучший вариант.
Например вы хотите купить телефон с usb3. Таких телефонов сотни.
У всех в характеристиках указан usb3, но фишка в том, что далеко не все они есть в фильтре usb3
Как покупает клиент: включает фильтр по usb3 и выбирает среди того, что выдается по фильтру.
Но так он не может найти часть телефонов, у которых указан usb3, но их скрыли из фильтров — такие телефоны можно найти только без фильтров, вручную.
Иногда и вообще из характеристик убирают usb3, так чтобы вообще шансов не было найти.
Это и есть манипуляция спросом: клиент чаще всего купит то, что есть в фильтрах. Неугодные модели можно «подвинуть».
Сейчас детектят по аккаунту, а по-умному нужно детектить по координатам, чтобы отсечь смену аккаунта.
Рано или поздно доработают. Тогда и обнаружить это будет сложнее, и таких статей будет меньше.
Что интересно, клиента все устраивает до тех пор, пока он не обнаружит обман. Так везде.
Люди готовы иногда и 10x платить, пока сервису удается скрывать, что платят они ни за что — психология.
В то время как старые сидят на той, на которую пришли n лет назад. Рынок за эти n лет естественно подрос.
Почему и не рекомендуется программистам задерживаться на одном месте.
Старым сотрудникам в некоторых местах ежегодно что-то прибавляют, но все равно это выходит ниже рынка: зачем платить больше, если работают и за меньше?
Но это приводит к проблемам: сотрудники хоть и молчат, но все видят, и отнюдь не идиоты. Чаще всего просто берут и тихо уходят на большую зарплату.
Особенно рискованна такая политика, если сотрудник уникальный, задействован на важных проектах, и быстро заменить его некем: сэкономили несколько десятков тысяч на зарплате, сорвали сроки, и получили штрафы на несколько миллионов. Эффективность.
Хм, а ведь в этом есть доля истины. Это же и к нам можно применить, верно?)
Там какая суть: в одном варианте процессор просто исполнял бинарник, а в другом также исполнял этот бинарник, но уже тратил часть времени на анализ и оптимизации этого же бинарника.
Как итог суммарный выигрыш от оптимизации покрыл все расходы на анализ и эмуляцию, да ещё накинул сверху 20% производительности.
Если отсюда убрать эмуляцию - выигрыш от оптимизации явно будет ещё выше, поскольку эмуляция на старом железе была дорогим удовольствием по времени. Современных технологий виртуализации тогда не было.
Но этот принцип можно использовать и для нашего мозга: что если не выполнять интеллектуальную работу, а сперва проанализировать её и оптимизировать?
В большинстве случаев затраты времени на анализ окупятся сэкономленным оптимизацией времени.
А что касается рекурсии - это работать определенно не будет.
Первый раунд оптимизации уже выявил всё, что могли выявить те алгоритмы.
Второй раунд будет уже оптимизировать исключительно сам слой эмуляции. Но его оптимизировать смысла нет - выгоднее эмуляцию просто исключить из процесса. Современный софт так и собирается: основной набор оптимизаций проводится во время генерации программного кода бинарника, и это довольно тяжёлый по ресурсам процесс, а значит явно эффективнее jit, который не может себе позволить так тщательно анализировать код.
Какой-то смысл в этом есть, нечто сакральное общее для всего мира. Но какой именно — решительно непонятно. Тут что-то такое, что ускользает, когда о нем думаешь.
Например общеизвестно что энтропия в природе со временем нарастает, это наблюдается везде.
Но там, где есть жизнь, наблюдается обратное. Жизнь организует хаос, снижает энтропию вокруг себя. Жизнь и хаос в природе несовместимы, это два противоположных полюса.
Они каким-то образом связаны, это факт. Но как и почему — неизвестно.
Что любопытно, такими свойствами обладают и кристаллы, но они явно не живые. Куда их приткнуть — тоже непонятно.
И что всё это в итоге означает — тоже непонятно. Может жизнь так просто получает энергию. Может вынуждена отвоевывать себе пространство, очищая его от смертоносной энтропии.
Единственное что сюда явно не вписывается — кристаллы. Не особо понятно что у них общего с жизнью, и почему они связаны с энтропией теми же отношениями, что и жизнь.
Наверное проще о таких сущностях просто не думать. Возможно у нас пока недостаточно информации, чтобы с этим разобраться.
Но как минимум способность упорядочивать хаос — это основное свойство любой жизни. Судя по наблюдениям автора, эта способность востребована и при работе с информацией — её совершенствование оценивается бизнесом положительно и вознаграждается.
Он более строг, плюс, насколько помню, нужно иметь понятие о библиотеках и подключать их.
Т.е. и на паскале вполне себе удобно можно жить.
Ну а далее все стандартно: C/Cpp, java, и понеслась. Там дальше уже алгоритмы рулят, а не конкретный язык. Конкретный язык каждый уже под себя и свои задачи выбирает.
И ещё хорошо бы параллельно заглянуть в мир ассемблера, почитать «Код — тайный язык информатики» (https://habr.com/ru/post/68365/)
www.advgazeta.ru/ag-expert/advices/12-mln-moshenniki-pokhitili-so-schetov-moskvicha-posle-zameny-ego-sim-karty
www.car72.ru/forum/viewtopic.php?t=112420
medialeaks.ru/2301amv-beeline-money
И диаграмма обработки запроса шикарна: тут и шаблонизация, и mvc, и роутинг, и работа сервера.
Хотелось бы посмотреть на более идеальное описание, если у вас есть такая ссылочка.
Пока удалось нагуглить только статистику w3tech, где у java всего 3.5%
И это при том что почти половина java-разработчиков в опросе jetbrains заявила что используют java для веб-сервисов.
Не могу понять в чем причина: либо java-разработчиков мало, и эта половина и покрывает те 3.5%, либо где-то лежит огромный невидимый пласт веб-сервисов, которые покрывают половину интернета, но никак не учитываются в статистиках.
В спецификации допускаются кратковременные перегрузки в 200-300g
Пиццу не сам делаешь, значит можно делегировать наемным рабочим. К тому же, конкретно с пиццей, почти все там сейчас заказное и продается в готовом виде ведрами, только собирай как конструктор, для чего много ума не требуется.
Найти ребят на сделку, т.е. они сами себе зарплату заработают.
Найти того кто присмотрит за ними и обучит — опытный персонал есть, кто-то из них за небольшой бонус к зарплате с удовольствием выступит в роли шеф-повара для новых ребят. Можно значительно усилить мотивацию перспективой должности с повышенным окладом, при условии что новая команда окупит себя — так, чисто чтобы ваши интересы совпадали.
Помещение и оборудование сейчас многие предлагают в аренду — решается такое за нескольких дней.
Для усиления эффекта оповестить город — это тоже не обязательно дорого, если подумать самому, а не покупать продвижение у всяких левых контор, которые регулярно всем названивают и выдаю откровенную дичь.
Вложиться в аренду, хотя бы на пару месяцев, и посмотреть что выйдет.
Потери в этом случае минимальны, вложения небольшие, зато есть хороший шанс потеснить конкурентов, у которых на такой финт просто нет ресурсов, т.к. для них вложения хотя бы на сравнимый уровень получаются значительно выше.
Даже если не получится — теряешь немного. Да и конкуренты наверняка не оставят такое без внимание и попробуют повторить, что ослабит их, т.к. для них такая попытка стоит значительнее дороже.
Т.е. считай что при небольших затратах имеешь значительный выигрыш в двух случаях из трех — а это просто невероятные шансы в бизнесе, где счет идет на единицы процентов.
Фреймворк уже предоставляет все необходимые инструменты для расширения — только воспользуйся. И стоит ничего: несколько строчек в конфигах, никаких лицензий и абонплат.
Без фреймворка аналогичный уровень функционал придется писать с нуля самому, а это многие часы времени впустую, которые кто-то должен оплачивать.
И без фреймворка дорого вносить какие-то кардинальные изменения в функционал: при прочих равных, если бизнес запросит что-то сильно отличающееся от того, что есть сейчас, без фреймворка такие изменения обойдутся гораздо дороже. Фреймворки как раз заточены под изменчивость и расширяемость.
А с точки зрения программиста, фреймворк позволяет реализовать тот же функционал за гораздо меньшее время: вместо реализации с нуля программист подключает фреймворк и получает гарантированно работающий и богатый функционал, с ним он может сосредоточиться непосредственно только на самом сайте, не отвлекаясь на всякие базовые вещи, типа обслуживания форм, работы с БД, и прочее.
При всем этом код еще и оказывается стандартизирован: любой другой программист, знающих этот фреймворк, может поддерживать код. Чего не скажешь о самописном коде, львиная доля времени с которым уйдет просто на то, чтобы понять как он устроен, какие ограничения имеет, и на борьбу со скрытыми ошибками: так оно работает, а так внезапно уже нет, а причина — кто-то где-то глубоко внутри кода поленился сделать нормально какой-то маленький участок кода, который сперва предстоит найти аки иголку в стоге сена.
Проблема тут в другом — видимо местный рынок просто не развит, если даже просто человек знающий фреймворк кажется чем-то исключительным и стоит дорого.
В реалиях мира айти фреймворки — это просто базовый уровень, этим никого не удивить, это просто стандарт.
Типичный образ: поперло — отстроили бизнес, отдыхаем, закупаемся тачками/квартирами, волна спроса прошла — бегаем с горящей задницей без понятия что делать, продаем тачки/квартиры, экономим на зарплатах подчиненных.
На самом деле мало кто из них грамотно поддерживает свой бизнес или что-то там планирует. Когда есть прибыль — выкачивают её из бизнеса ради хорошей жизни, когда почти нет — экономят, выживают чудом.
Просто среднего ума человек, не расслабляясь как они, легко отберет у них весь рынок.
Конкуренция там уровня: сделаем цены ниже чем у конкурента, и будем гнать откровенный брак.
Создается впечатление что мелкий рынок по стране просто не развит: любая минимально качественная конкуренция просто выдавит всех этих предпринимателей с рынка.