Давайте сравним сложность разных подходов/разделов/языков в программировании. Хотелось бы составить насколько возможно полную картину. Вот моя шкала (линейная).
Сложность - это объём знаний, который нужен, чтобы что-то делать, это количество факторов и взаимосвязей, которые надо учитывать, чтобы сделать какую-то работу.
Обычный код на сотню строчек на Си может быть и очень простым, и нереально сложным. Не потому, что программисты плохие или хорошие, а просто потому что логика кода разная.
>>1721356 (OP) Один из возможных вариантов, как описать сложность - это не через количество требуемых знаний, а через их непривычность для изучающего. Например, так: структурное программирование - ООП - ООП с элементами ФП - ФП с элементами ООП -чистое ФП.
Также можно определить сложность как меру ответственности. Можно через области применения. Или как число возможностей, даваемых технологией/подходом разрабу. Вариантов много.
>>1721356 (OP) Программирование не на уровне лаб и подразумевает управление сложностью. Всякие ООП и абстракции для этого и были получены опытным путем, чтобы не твердели борщехлебы.
>>1721528 А как же цикломатическая сложность? Сколько бы у тебя бы не было AbstractFactorySinglеtonServiceDispatcherBean, если ты только берешь данные из реквеста и отправляешь их в бд, то у тебя простое приложение.
>>1721356 (OP) Сложности в программировании не существует, языки программирования это инструменты с инструкцией в коробочке. Необходимость применять нормальные науки - вот это сложность
>>1721356 (OP) Даже если принять во внимание десяток примитивов синхронизации, асинхронщину с фиберами/корутинами и всякие прочие OpenMP и OpenCL/CUDA, ничто не сравнится с пикрилом или auto _=<::>(auto&_)<%_%=_;%>;
>>1721916 >мям я учил с++ 15 лет потому я дегиниат скажи тоусто (( >>1721891 А я ебу чтоли? Ну по минимуму там графы, безопасность, еще какая то нейросетка которая рекламу подсовывает
Компьютерные и инженерные науки ничем от точных и естественных не отличаются.
В одном случае ты разбираться, как какая-нибудь система хранит и пересылает данные, в другом случае как вирус проникает в клетку сквозь клеточную мембрану.
В одном случае ты думаешь, как синхронизировать данные на разных узлах, в другом случае ты думаешь, как решить конкретный диффур из задачи Коши.
Суть одна. Разобраться, как что-то работает, и придумать, как что-то сделать.
>>1721527 Непривычность это не сложность. Это просто непривычность.
Читать числа на иностранном языке может быть непривычно, но несложно. Понял принцип и дальше уже не задумываешься.
А вот переводить сложный текст с языка на язык уже сложно, нужен огромный объём знаний, слов, конструкций, общепринятых выражений и т.п.
То же ФП не сложно, это просто чуть другой подход. В том числе для простых задач. А вот ООП сложно, потому что эта технология нужна для упорядочивания сложных задач, на простых задачах она прикладного смысла не имеет.
>>1722347 >В одном случае ты разбираться, как какая-нибудь система хранит и пересылает данные, в другом случае как вирус проникает в клетку сквозь клеточную мембрану.
Только в одном случае ты изучаешь законы природы, а в другом законы интерфейс/поведение очередного говнофреймворка написанного рандомными васянами.
Взять Хаскель, например, там напротив всё направлено на устранение сложностей. Потому что это язык программирования для нормальных людей, вроде физиков и математиков, а его сообщество заинтересовано в том, чтобы язык был максимально удобным и эффективным.
В скриптоговне, вроде Питона или PHP, тоже никаких сложностей нет. На то оно и скриптоговно, чтобы позволить любому девятикласснику-объебосу в любой стадии алкогольного опьянения прикрутить голосовалку к постам на каком-нибудь форуме и заработать свои 20 WMZ. Однако скриптоговно нацелено на duct tape programming, им хорошо по быстрому скрутить готовые блоки, но попытка разработки серьёзных вещей на нём ведет к неминуемым фейлам в виде гор невменяемого быдлокода, которые и создают иллюзию надуманных сложностей. Хотя на самом деле никаких сложностей в самом языке не создаётся.
В С/С++ действительно полно всяких искусственных сложностей. Но не потому что кто-то там их специально создал, а потому что с ними никто не борется (в язык бессистемно добавляют всякое новое говно не решая старых проблем, и он постепенно превращается в помойку). Такая уж философия у крестоблядей - страдать и нести свой крест. Любая попытка избежать страданий у них считается ересью и за ней сразу следуют обвинения в неосиляторстве и криворукости.
>>1723527 >В С/С++ действительно полно всяких искусственных сложностей. Но не потому что кто-то там их специально создал, а потому что с ними никто не борется (в язык бессистемно добавляют всякое новое говно не решая старых проблем, и он постепенно превращается в помойку) Это ты про С++ only. C не трогают почти, это новый кобол/фортран.
>>1724460 В C потому и возникают сложности, потому что его никто не трогает, а требования к ПО по всем фронтам всё растут и растут. И вместо нормальной эволюции мы получаем кривые системы, которые на продакшене после более-менее стабильной версии все боятся обновлять годами и бесконечно дырявые системные либы.
>>1722033 >ничто не сравнится с пикрилом Байтоебам завезли спред оператор с статическим выведением типов и они жиденько наделали себе в штаны? А потом еще что то про легкость жопаскрипта кукарекают.
Вот моя шкала (линейная).