Инженеру не требуется распараллеливание работы над одной кодовой базой
Это не единственная причина, почему используется СКВ. СКВ имеет смысл использовать для сохранения истории, привязки изменений в коде к задачам. Даже если работает один человек. Это — тоже документирование. Считайте, журнал изменений.
но каждый над своими модулями
Вполне возможно, что код настолько плох, что инженеры просто не могут работать с кодом друг друга. Особенно весело, если речь идет о библиотечном модуле, а коллега, который ответственен за него, в отпуске или на больничном.
Или если человек поменялся и новому нужно посмотреть, почему внесено то или иное изменение.
Вы отстаиваете устаревшие методы, обосновывая тем, что вам и так неплохо, и устаревшие методы подходят вашим процессам. Вы не задумывались, что сами процессы И не могут быть иными при описанном подходе? «он должен обратится к модератору проекта с докладной запиской» — это не от хорошей жизни. Иначе будет невозможно понять, зачем принято то или иное решение. При современном подходе достаточно краткого устного или письменного (телеком) согласования. А «бамашка» и не нужна — вся фиксация с персоналиями осталась в СКВ и системе отслеживания задач. А изменение можно и откатить, причем частично.
Вообще, подобное отношение «спустя рукава» характерно для «железячников», считающих ПО чем-то вторичным и побочным.
Очень смешно. Процесс разработки в нормальных компаниях документирован. Применение в нем вообще «чего либо»-«шаг вправо-шаг в лево» требует внесение изменения в значительное количество документации
Это разовое мероприятие, как я писал выше.
переобучение персонала и последующую переаттестацию этого персонала, согласно новым методам разработки
Это разовое мероприятие и само обучение — не сложное. Вы пытаетесь, используя канцеляризмы, придать процессу весомость и несуществующую сложность. Такими формулировками очень удобно оправдываться перед несведущим начальством, здесь это неуместно.
У любого решения есть цена. Если какой то механизм не позволяет вам увеличить производительность в конкретных условиях но требует ресурсы для поддержания существования в виде набора знаний и компетенций — его цена отрицательная.
Применение СКВ требует разового вложения на изучение методов работы с ней. Поддержание — около нуля.
даже если это возможно — лаптоп не опечатан, доступ к модулям памяти не требует значительных усилий — только единицы готовы взять в свои руки инициативу и решить ситуацию в свою пользу здесь и сейчас
Это передергивание.
Здесь нет никакой неинициативности, нет никакой «инвестиции в себя» — это не твой компьютер, ты работаешь не на себя. Ты работаешь на организацию, и она выдает тебе рабочий инструмент.
Докупать память за свой счет — это что-то сродни «приносить свои бинты и шприцы в больницу» — т.е. априори дичь, хотя и случается. Следующая стадия — это платить за право приходить на работу.
Работодатель платит зарплату — т.е. покупает твою рабочую силу.Рабочая сила — это способность совершать работу определенного вида. Если ты не можешь ее делать результативно из-за того, что работодатель не обеспечил тебя инструментом — это его проблема на 100%, т.к. свою рабочую силу ты предоставил в полном объеме.
А вот размер памяти в ноутбуке — наверное, совсем не прописан?
Наличие туалетной бумаги в туалете тоже не прописано в договоре, а поди ж ты — наличие считается нормой.
Да нет. я хочу все перед глазами видеть. Вносить только какие-то законченые куски кода, особенно если они довольно большие. Тут ничего большого нет.
Зачем, если можно сделать из отдельных блоков, каждый из которых — закончен и может гипотетически использоваться отдельно? Вам удобнее писать в stream стиле — пожалуйста. По мне, так читается не очень хорошо.
Вообще, интересный маятник с течением времени получается. От разбиения и сокрытия всего чего только можно и обратно к «давайте весь код будет здесь, одним куском, так нагляднее, но со stream'ами, чтобы не размазывать».
Потому что вводить миллион переменных и раздувать код в 3 раза тут совершенно не нужно.
Так не раздувайте. Вот у вас готовый push итератор, вот ваш custom коллбэк.
А давайте пример, сравним, так сказать, подходы.
В итоге получится, что ваш пример тоже недостаточно сложный, чтобы нехорошесть коллбэков (лямбд) была видна и далее будут дополнения «а если нам надо так, а если еще вот так и вот так». Но хорошо, давайте в псевдо-коде:
iterateList внутри — просто foreach с вызовом
listItem=>[] — лямбда, которая захватывает внешний контекст, включая outList. Если на чистых коллбэках — будет указатель на коллбэк и переменная контекста с cast'ом, как в старом С.
Я не говорю, заметьте, что ваш способ чем-то ужасен. Я говорю, что старый не так плох. Я бы мог писать и в потоковом стиле, и в императивном, но императивный мне нравится больше чисто субъективно.
«Я не выбирал» попытка перенести свое я во время и место где этого я еще не было
Так в этом и суть — поскольку перенос этот невозможен, взывание к долгу за рождение заведомо манипулятивно. Долг этот не взят сознательно, поскольку перенос обратно во времени невозможен.
И он все эти года живет и каждую секунду делает выбор жить
Нет. Несовершение суицида — это не выбор жить, это оставление всего как есть, сохранение статуса-кво, проплывание по течению.
Другое дело, когда человек на самом деле должен приложить усилия к тому, чтобы остаться в живых, и он их совершает.
Если человек сознательно самовыпиливается — это выбор.
Если течение времени предполагает его смерть (например, он один в лесу на морозе и смерть — закономерный итог этого состояния), но он делает усилие, чтобы выбраться и жить — это выбор.
А если человек просто проживает ситуацию, как есть (замерзает в лесу или в других обстоятельствах просто живет, не самоубиваясь) — это сохранение статуса-кво.
а потом когда пора содержать родителей — я не выбирал
Суть в том, что этот человек, как предполагается, заведет своих детей, и будет вкладывать силы в них. Это его долг по отношению к детям, которых он выбрал родить. Он выбрал, принял решение — у него возник долг. У ребенка долга от факта рождения не возникло.
Это скорее вопрос человеческой взаимопомощи вообще, нежели отношений родители-дети.
По поводу «долг не за рождение, а за выращивание» — выращивание — это следствие рождения, следствие решения родителя завести ребенка. Никакого долга тут по-прежнему нет — будет у ребенка свой ребенок, он тоже будет о нем заботиться.
Совершенно необязательно. Никто же не мешает выносить «скучный» технический код, разбавляющий общий смысл деталями, в отдельную функцию.
Это, пожалуй, дело вкуса. Не далее чем год назад имел спор именно по поводу читаемости stream-стиля, не хочется повторять его по тем же аргументам.
Предлагаете делать 4 вложенных коллбеков?
Почему вы раз за разом упираете на вложенность? На каждом уровне мы работаем только со следующим, какая там дальше вложенность — никого не волнует.
В данном случае у вас будет один CB, имеющий доступ к входному и выходному спискам — для каждого элемента — возведение в квадрат, добавление к выходному списку и добавление ноля (или добавление в начале).
Всё, по окончании итерации — удаление лишнего ноля.
Тем кто это дело любит, даже в выгоревшем состоянии интересно заниматься компами, просто не тем, что нужно сделать срочно к дедлайну, а чем-то другим.
Это «что-то другое» — то же самое. От переключения задачи не меняется род деятельности.
Я пришел в профессию искренне любя программирование, «когда это еще не было мейнстримом»(с). Только вот после работы уже не хочется заниматься тем же самым — пилить какие-то features из tasklist'а, просто своего.
Вот если я в отпуске, то могу заниматься своими проектами — с удовольствием, и бОльшим, чем на работе. Но после работы опять втыкать в монитор — спасибо, нет. У меня не хватает здоровья. Ни физического, ни психического.
Некоторые считают это должным, мол, если ты TrueЪ, то должен и вне работы быть на работе, иначе несчитово. Но нет, смешивать нельзя. Надо стремиться все же строить всё так, чтобы учиться для работы на работе в рабочее время, а не в личное.
Делать это на коллбеках значит иметь ~10 уровней вложенности на ровном месте.
Да, но каждый уровень относится к следующему как к готовому кирпичу, черному ящику. Какая разница, сколько там дальше будет уровней вложенности? (В разумных пределах, конечно, стек не бесконечный и так далее).
С классическом коллбэком-функцией — у вас часть логики будет в коллбэке, часть — в основной функции. Уже начинаются проблемы с читаемостью.
Такое может быть, но надо смотреть конкретный вариант. Если функции относительно небольшие и коллбэк описан рядом с основной функцией, то это не такая проблема.
Но это лайтовый вариант. Теперь представьте что из коллбэка вам нужно вызвать другой итератор, который будет дергать другой коллбэк, а из него — третий. Как в предложенной задаче с тремя циклами.
Не вижу проблемы, потому что первый CB будет работать с (условно) ComposeAnotherList() функцией, а чем она там внутри пользуется, есть у нее свой (второй) CB или нет — уже не наше дело. Для нас это просто готовый кирпич, который мы используем. Нам важен результат, который мы запросили из первого CB.
Вполне допускаю, что есть ситуации, где это может быть запутанным, но умозрительно можно сделать читаемо и отлаживаемо.
Как бы да, но с другой стороны представим, что мне нужен список троек. Значит мне надо создать пустой список, написать колбек, который добавляет тройку в этот список, дернуть генератор, передав ему коллбек (и список, возможно).
Так и на здоровье — обернем создание списка, вызов итератора в одну функцию/процедуру, пусть будет callback с context'ом или лямбда — кому как нравится.
Код получится простой, читаемый.
И в вырожденном случае начинает напоминать классическое асинхронное приложение, где коллбеки ездят на коллбеках и коллбеками погоняют.
Не совсем. Если это одна функция с лямбдой, в которую все завернуто, то никакого размазывания нет. Четко видно, к чему лямбда относится.
Друзья, простите за нескромный вопрос — почему изначальную проблему повторного использования нельзя решать обычным callback'ом? Сгенерировал тройку, дернул вызов — что там будет делаться — код генерации троек не интересует.
Многих раздражает слово «должен». Но все любят слово «права».
В этом перекос пока в информационном поле поколения.
Здесь нет раздражения. Это ваше видение, ваше окружение. При том, что слово «долг» в русле беседы вы употребили первым, я лишь задал вопрос, опираясь на вашу же формулировку, не выказывая отрицательного отношения к понятию долга.
Вы путаете неприятие концепции долга как такового и конкретного долга. Или специально подменяете одно другим в полемических целях.
Ну так вот же ответ и решение проблемы.
Вы сами все и сформулировали.
Это — причина — очевидно всем, кто над этим хоть сколько-то размышляет, и это объективные обстоятельства. Но при этом именно вы разводите руками в стиле «не знаю, почему так получается; что они жалуются, мы же пахали и не жужжали».
В чем решение-то? В том, чтобы искусственно создать трудности? Это не решение, а процесс ради процесса.
ще один хороший прием: а кто нас таких «молодых» воспитал то, а? Вот вы (опять прошлое поколение) и виновато. А у нас молодых, своего ума то уже и не хватает, обдумать ситуацию и что то поправить, мы «выгорели» уже к 25 годам.
Я вижу в этом симптомы желания спихнуть ответственность на других.
Кто воспитывал наше поколение? Да никто столько с нами не возился.
Это подмена тезиса: я говорил о старшем поколении вообще. Так или иначе среда, в которой варятся молодые, сформирована старшими. Непосредственно — если это родители или косвенно, если это люди, чьи решения изменяют среду проживания. Но так или иначе, это предыдущие, уже дееспособные поколения. Да, возмужав, молодое поколение начнет что-то менять, но с определенным временным лагом — и тогда это уже не будет молодежь. База же закладывается в юном возрасте тем, что есть вокруг. Бытие определяет сознание.
Далее жалобы: Эти старперы, заняли все хлебные места и не двигаются. Мы «молодняк» не желаем годы добиваться такого положения, принцип «Сначала добейся» — на помойку… так сразу и «выгорание».
Это передергивание. Я сказал «сперва добейся — на помойку» не о положении и должностях, а о вашем высокомерном «вы жизни не видали, откуда вам знать? Вы сами на все грабли понаступайте, потом поговорим». Я и ответил в плане что нам легче учиться на чужих ошибках.
Про хлебные места вы опять перевираете, или делаете вид, что не понимаете, о чем речь. Речь шла не о желании сделать карьеру и хлебных местах, а о том, что костный «старпер» как вы говорите, ответственный за принятие решений по работе много опаснее молодого безграмотного, но с амбициями. Потому что он принимает решения. В отличие от молодого.
Вот кто его приводит, реально двинули человечество в науке?
А если нет, то он должен растить детей?
Достаточно (пока нет бессмертия) у человечества, что бы одно поколение не произвело себе замену и все, разум умер. Да и для экспансии в космос и расширения, тоже нужны люди. Т.е. выращивание нового поколения — это базовая задача. Остальное — надстройка. Думаю так.
Столкнувших с проблемой, они думают как жить дальше и живут, без лишней рефлексии.
Младшие поколения — они несколько избалованы и изнежены, и ноют, требуют к себе внимания и жалости.
У младшего поколения, в силу технического прогресса и доступности базовых жизненных благ, просто-напросто есть время на эту «лишнюю рефлексию». Когда жрать нечего — не до рефлексий, вкалывать надо.
Мне кажется, здесь имеет смысл говорить о наемных работниках вообще, а не о одном конкретном.
Капиталист покупает рабочую силу (в марксистском, политэкономическом смысле), и если сейчас, в аврале он готов за нее платить больше, это значит, что он недокупил рабочей силы до того, чтобы не было аврала — в целом он так и так потратит одну сумму. Это аналогично поговорке о том, что геройство одного — это преступление другого.
Простите, но я говорил об объективных основаниях. Личный опыт таковым не является — это лишь ваша выборка и видение. Так же как наблюдаемое вращение солнца вокруг Земли.
Нет и нет — если вы говорите сугубо по своему опыту, то здесь спорить не о чем. Просто ваше заявление выше звучало с претензией на объективность, учитывая слово «корреляция».
Если говорить об опыте, то мой — противоположен. Три семьи из родственных живут в Москве, две — в сталинках. Все — работяги, инженеры, один врач.
Так ведь никто не неволит, все пути открыты, бога ради. Но чего то никак не может сформулировать, чего ей хочется.
Для этого человек должен себя пробовать в разных делах еще со времен старшей школы, если не раньше. Задача пинать ребенка и заставлять искать, оплачивать его пробы — целиком на родителях.
Девочкам тут хуже — с ними больше церемонятся (сугубо ИМХО, никакого сексизма), пестуя их лень.
А есть ситуация, когда некомпетентные молодые люди, не желающие учится, желают получать много денег и мало работать, разве таких мало? Еще вопрос кого больше, костных старперов или некомпетентного, ничего не делающего для развития молодняка.
В каких-то отраслях — несомненно. Но ваш вопрос был в том, почему-де молодые брюзжат о некомпетентных старших. Потому что старшие в среднем — на «старших» позициях. По закону Паркинсона — они уже доросли до уровня некомпетентности. А некомпетентные молодые еще только заходят с улицы, они не принимают решений.
Так и о жизни рассуждают, не прожив, эту самую жизнь, не попав в различные жизненные ситуации. «Теоретически» так сказать.
«Сперва добейся» — на помойку.
А с чего молодое поколение решило, что мысли о бездетности не «вбиты» в их головы.
Даже если и вбиты — их ценности формировались позже, чем ваши, они адекватнее времени.
А для остальных «не счастливчиков», наступит банкротство
Люди это понимают, потому и выгорают.
Так что нужно соизмерять расходы и доходами.
Не работает этот модуль в мозгу. Нет его или не функционален.
Она: — Задолбало учится, всякую чушь приходится изучать.
Я: — Так брось это дело иди работай.
Она: — Да куда иди работать без опыта и навыков в Макдональдс?
Я: — А что ты хочешь? Не учится и не работать, типа чтобы я тебя содержал, пока ты в контактах сидишь?
Разговор немого с глухим.
Возможно, ей просто подойдет профессионалное, возможно средне-специальное образование, где дают осязаемые сразу практические навыки вместо более академичного высшего.
Никакого «хочу, чтобы все было и ничего за это не было» тут не видать.
Ну так не выгорайте, уменьшите свои претензии к материальному обеспечению, быть может?
А это вообще законно возможно?
Я к тому, что «претензии к материальному обеспечению» берутся не на пустом месте — они сравнивают себя со сверстниками, даже более молодыми, меряют себя их успехом. Они видят, что принцип «надо сначала тяжело учиться, потом много работать» срабатывает, мягко говоря, не каждый раз. И не потому, что у них с личными качествами что-то не задалось. В 50х что у нас, что за океаном на самом деле можно было выучиться, заниматься Делом и при этом получать соответствующее вознаграждаение. Но с годами что у нас, что у них это несколько сошло на нет. Молодые видят, как живут другие, и не хотят, как их родители впрягаться и тянуть лямку, не видя света ради ни-че-го в перспективе.
Еще смешно читать комментарии выше о «гениальных молодых работниках», которых зажимают старперы на работе.
Есть ситуации, когда это именно так. Косность, некомпететность, нежелание учиться, досидеть бы до пенсии — валом таких работников 50+. Понятно, что с годами учиься тяжелее по чисто физиологическим причинам, но выходит это боком всем, когда такие люди принимают решения.
Пример из жизни, относительно недавно:
Небольшое приборостроительное предприятие, КБ. Имеющее славную историю, связанное с космосом. Имеет заказ на разработку и производство малой серией ~~ сотни блоков по заданным спецификациям.
Проходит время, блоки начинают производить. Молодые сотрудники — двое — на этапе сборки (их не привлекали к разработке в этот раз) обнаруживают, что блок по физическим показателям разработан «на грани» и надо провести дополнительные испытания и возможно перепроектировать крепление, пока еще блоков не так много произведено. Это предложение отклоняется. Далее идет производство мелкой серией, которое по разным причинам (в том числе и из-за малой работоспособности старшего поколения) растягивается дольше плана, в итоге возникает аврал. На этапе финального тестирования выясняется, что по одной из комбинации сигналов (редкой, но тем не менее возможной) блок отрабатывает некорректно. Произведено при этом примерно 80-85% блоков. Молодые, которые обнаружили это, находят решение, предлагают исправить проблему в кратчайший срок, для чего надо поработать в выходные. Из 5 человек старшего поколения, нужных для этого, трое отказываются — кому-то на дачу, а кто-то на рыбалку едет. Это те же люди, что допустили ошибку. Но они Имеют Право, Выходные Священны. Оставшиеся принимают решение оставить как есть «и так сойдет, уже не успеваем».
На приемо-сдаточных испытаниях все испытываемые блоки потеряли работоспособность, не выдержали ударной и вибрационной нагрузки — о чем и говорилось с самого начала. Также они не прошли тесты по той самой комбинации сигналов.
Теряется репутация, платится неустойка. И таких заказов — не один и не два. Спустя какое-то время это КБ перестает получать заказы вовсе, молодые уходят на другие места, старшие оказываются на улице и ворчат как «все разворовали, страну развалили, наше уютное КБ тоже».
Старшее поколение свою миссию по выращиванию молодого поколения выполнило
Секундочку, так это вы — старшее поколение — вырастили (воспитали) молодых такими «нехорошими». Очень удобная позиция — как требовать — это «мы вырастили», а как нести ответственность — вырастили (по вашему мнению) фигню — так это вы ни при чем.
«Выгорание» — это такой удобный термин для оправдания лени.
Выгорание — это отсутствие отдачи от прикладываемых усилий, а не лень. В том числе, отсутствие отдачи в перспективе.
Желает получать эндорфины здесь и сейчас
Именно потому что у многих нет перспектив. Смысл убиваться сейчас, в молодости, если в старости будет тот же унылый круг работа-магазин-дом?
Так может старшее поколение умеет распределять силы, что бы пройти длинную дистанцию, а не забег на 100 метров?
Если о молодом поколении — это лень, а если о старшем — это умение распределять силы. Ок, так и запишем.
Это не единственная причина, почему используется СКВ. СКВ имеет смысл использовать для сохранения истории, привязки изменений в коде к задачам. Даже если работает один человек. Это — тоже документирование. Считайте, журнал изменений.
Вполне возможно, что код настолько плох, что инженеры просто не могут работать с кодом друг друга. Особенно весело, если речь идет о библиотечном модуле, а коллега, который ответственен за него, в отпуске или на больничном.
Или если человек поменялся и новому нужно посмотреть, почему внесено то или иное изменение.
Вы отстаиваете устаревшие методы, обосновывая тем, что вам и так неплохо, и устаревшие методы подходят вашим процессам. Вы не задумывались, что сами процессы И не могут быть иными при описанном подходе? «он должен обратится к модератору проекта с докладной запиской» — это не от хорошей жизни. Иначе будет невозможно понять, зачем принято то или иное решение. При современном подходе достаточно краткого устного или письменного (телеком) согласования. А «бамашка» и не нужна — вся фиксация с персоналиями осталась в СКВ и системе отслеживания задач. А изменение можно и откатить, причем частично.
Вообще, подобное отношение «спустя рукава» характерно для «железячников», считающих ПО чем-то вторичным и побочным.
Это разовое мероприятие, как я писал выше.
Это разовое мероприятие и само обучение — не сложное. Вы пытаетесь, используя канцеляризмы, придать процессу весомость и несуществующую сложность. Такими формулировками очень удобно оправдываться перед несведущим начальством, здесь это неуместно.
Применение СКВ требует разового вложения на изучение методов работы с ней. Поддержание — около нуля.
Это передергивание.
Здесь нет никакой неинициативности, нет никакой «инвестиции в себя» — это не твой компьютер, ты работаешь не на себя. Ты работаешь на организацию, и она выдает тебе рабочий инструмент.
Докупать память за свой счет — это что-то сродни «приносить свои бинты и шприцы в больницу» — т.е. априори дичь, хотя и случается. Следующая стадия — это платить за право приходить на работу.
Работодатель платит зарплату — т.е. покупает твою рабочую силу. Рабочая сила — это способность совершать работу определенного вида. Если ты не можешь ее делать результативно из-за того, что работодатель не обеспечил тебя инструментом — это его проблема на 100%, т.к. свою рабочую силу ты предоставил в полном объеме.
Наличие туалетной бумаги в туалете тоже не прописано в договоре, а поди ж ты — наличие считается нормой.
Зачем, если можно сделать из отдельных блоков, каждый из которых — закончен и может гипотетически использоваться отдельно? Вам удобнее писать в stream стиле — пожалуйста. По мне, так читается не очень хорошо.
Вообще, интересный маятник с течением времени получается. От разбиения и сокрытия всего чего только можно и обратно к «давайте весь код будет здесь, одним куском, так нагляднее, но со stream'ами, чтобы не размазывать».
Так не раздувайте. Вот у вас готовый push итератор, вот ваш custom коллбэк.
В итоге получится, что ваш пример тоже недостаточно сложный, чтобы нехорошесть коллбэков (лямбд) была видна и далее будут дополнения «а если нам надо так, а если еще вот так и вот так». Но хорошо, давайте в псевдо-коде:
iterateList внутри — просто foreach с вызовом
listItem=>[] — лямбда, которая захватывает внешний контекст, включая outList. Если на чистых коллбэках — будет указатель на коллбэк и переменная контекста с cast'ом, как в старом С.
Я не говорю, заметьте, что ваш способ чем-то ужасен. Я говорю, что старый не так плох. Я бы мог писать и в потоковом стиле, и в императивном, но императивный мне нравится больше чисто субъективно.
Так в этом и суть — поскольку перенос этот невозможен, взывание к долгу за рождение заведомо манипулятивно. Долг этот не взят сознательно, поскольку перенос обратно во времени невозможен.
Нет. Несовершение суицида — это не выбор жить, это оставление всего как есть, сохранение статуса-кво, проплывание по течению.
Другое дело, когда человек на самом деле должен приложить усилия к тому, чтобы остаться в живых, и он их совершает.
Если человек сознательно самовыпиливается — это выбор.
Если течение времени предполагает его смерть (например, он один в лесу на морозе и смерть — закономерный итог этого состояния), но он делает усилие, чтобы выбраться и жить — это выбор.
А если человек просто проживает ситуацию, как есть (замерзает в лесу или в других обстоятельствах просто живет, не самоубиваясь) — это сохранение статуса-кво.
Суть в том, что этот человек, как предполагается, заведет своих детей, и будет вкладывать силы в них. Это его долг по отношению к детям, которых он выбрал родить. Он выбрал, принял решение — у него возник долг. У ребенка долга от факта рождения не возникло.
Это скорее вопрос человеческой взаимопомощи вообще, нежели отношений родители-дети.
По поводу «долг не за рождение, а за выращивание» — выращивание — это следствие рождения, следствие решения родителя завести ребенка. Никакого долга тут по-прежнему нет — будет у ребенка свой ребенок, он тоже будет о нем заботиться.
Совершенно необязательно. Никто же не мешает выносить «скучный» технический код, разбавляющий общий смысл деталями, в отдельную функцию.
Это, пожалуй, дело вкуса. Не далее чем год назад имел спор именно по поводу читаемости stream-стиля, не хочется повторять его по тем же аргументам.
Почему вы раз за разом упираете на вложенность? На каждом уровне мы работаем только со следующим, какая там дальше вложенность — никого не волнует.
В данном случае у вас будет один CB, имеющий доступ к входному и выходному спискам — для каждого элемента — возведение в квадрат, добавление к выходному списку и добавление ноля (или добавление в начале).
Всё, по окончании итерации — удаление лишнего ноля.
Это «что-то другое» — то же самое. От переключения задачи не меняется род деятельности.
Я пришел в профессию искренне любя программирование, «когда это еще не было мейнстримом»(с). Только вот после работы уже не хочется заниматься тем же самым — пилить какие-то features из tasklist'а, просто своего.
Вот если я в отпуске, то могу заниматься своими проектами — с удовольствием, и бОльшим, чем на работе. Но после работы опять втыкать в монитор — спасибо, нет. У меня не хватает здоровья. Ни физического, ни психического.
Некоторые считают это должным, мол, если ты TrueЪ, то должен и вне работы быть на работе, иначе несчитово. Но нет, смешивать нельзя. Надо стремиться все же строить всё так, чтобы учиться для работы на работе в рабочее время, а не в личное.
Да, но каждый уровень относится к следующему как к готовому кирпичу, черному ящику. Какая разница, сколько там дальше будет уровней вложенности? (В разумных пределах, конечно, стек не бесконечный и так далее).
Такое может быть, но надо смотреть конкретный вариант. Если функции относительно небольшие и коллбэк описан рядом с основной функцией, то это не такая проблема.
Не вижу проблемы, потому что первый CB будет работать с (условно) ComposeAnotherList() функцией, а чем она там внутри пользуется, есть у нее свой (второй) CB или нет — уже не наше дело. Для нас это просто готовый кирпич, который мы используем. Нам важен результат, который мы запросили из первого CB.
Вполне допускаю, что есть ситуации, где это может быть запутанным, но умозрительно можно сделать читаемо и отлаживаемо.
Так и на здоровье — обернем создание списка, вызов итератора в одну функцию/процедуру, пусть будет callback с context'ом или лямбда — кому как нравится.
Код получится простой, читаемый.
Не совсем. Если это одна функция с лямбдой, в которую все завернуто, то никакого размазывания нет. Четко видно, к чему лямбда относится.
Нет. Пуля, ружье, m1V1=m2V2 вот это все.
Здесь нет раздражения. Это ваше видение, ваше окружение. При том, что слово «долг» в русле беседы вы употребили первым, я лишь задал вопрос, опираясь на вашу же формулировку, не выказывая отрицательного отношения к понятию долга.
Вы путаете неприятие концепции долга как такового и конкретного долга. Или специально подменяете одно другим в полемических целях.
Это — причина — очевидно всем, кто над этим хоть сколько-то размышляет, и это объективные обстоятельства. Но при этом именно вы разводите руками в стиле «не знаю, почему так получается; что они жалуются, мы же пахали и не жужжали».
В чем решение-то? В том, чтобы искусственно создать трудности? Это не решение, а процесс ради процесса.
Это подмена тезиса: я говорил о старшем поколении вообще. Так или иначе среда, в которой варятся молодые, сформирована старшими. Непосредственно — если это родители или косвенно, если это люди, чьи решения изменяют среду проживания. Но так или иначе, это предыдущие, уже дееспособные поколения. Да, возмужав, молодое поколение начнет что-то менять, но с определенным временным лагом — и тогда это уже не будет молодежь. База же закладывается в юном возрасте тем, что есть вокруг. Бытие определяет сознание.
Это передергивание. Я сказал «сперва добейся — на помойку» не о положении и должностях, а о вашем высокомерном «вы жизни не видали, откуда вам знать? Вы сами на все грабли понаступайте, потом поговорим». Я и ответил в плане что нам легче учиться на чужих ошибках.
Про хлебные места вы опять перевираете, или делаете вид, что не понимаете, о чем речь. Речь шла не о желании сделать карьеру и хлебных местах, а о том, что костный «старпер» как вы говорите, ответственный за принятие решений по работе много опаснее молодого безграмотного, но с амбициями. Потому что он принимает решения. В отличие от молодого.
А если нет, то он должен растить детей?
Planet is fine, people are fucked ©. Человек, как вид — растет в численности. Уже сколько? 7+ млрд?
У младшего поколения, в силу технического прогресса и доступности базовых жизненных благ, просто-напросто есть время на эту «лишнюю рефлексию». Когда жрать нечего — не до рефлексий, вкалывать надо.
Капиталист покупает рабочую силу (в марксистском, политэкономическом смысле), и если сейчас, в аврале он готов за нее платить больше, это значит, что он недокупил рабочей силы до того, чтобы не было аврала — в целом он так и так потратит одну сумму. Это аналогично поговорке о том, что геройство одного — это преступление другого.
Нет и нет — если вы говорите сугубо по своему опыту, то здесь спорить не о чем. Просто ваше заявление выше звучало с претензией на объективность, учитывая слово «корреляция».
Если говорить об опыте, то мой — противоположен. Три семьи из родственных живут в Москве, две — в сталинках. Все — работяги, инженеры, один врач.
Для этого человек должен себя пробовать в разных делах еще со времен старшей школы, если не раньше. Задача пинать ребенка и заставлять искать, оплачивать его пробы — целиком на родителях.
Девочкам тут хуже — с ними больше церемонятся (сугубо ИМХО, никакого сексизма), пестуя их лень.
В каких-то отраслях — несомненно. Но ваш вопрос был в том, почему-де молодые брюзжат о некомпетентных старших. Потому что старшие в среднем — на «старших» позициях. По закону Паркинсона — они уже доросли до уровня некомпетентности. А некомпетентные молодые еще только заходят с улицы, они не принимают решений.
«Сперва добейся» — на помойку.
Даже если и вбиты — их ценности формировались позже, чем ваши, они адекватнее времени.
Люди это понимают, потому и выгорают.
Не работает этот модуль в мозгу. Нет его или не функционален.
Разговор немого с глухим.
Возможно, ей просто подойдет профессионалное, возможно средне-специальное образование, где дают осязаемые сразу практические навыки вместо более академичного высшего.
Никакого «хочу, чтобы все было и ничего за это не было» тут не видать.
А это вообще
законновозможно?Я к тому, что «претензии к материальному обеспечению» берутся не на пустом месте — они сравнивают себя со сверстниками, даже более молодыми, меряют себя их успехом. Они видят, что принцип «надо сначала тяжело учиться, потом много работать» срабатывает, мягко говоря, не каждый раз. И не потому, что у них с личными качествами что-то не задалось. В 50х что у нас, что за океаном на самом деле можно было выучиться, заниматься Делом и при этом получать соответствующее вознаграждаение. Но с годами что у нас, что у них это несколько сошло на нет. Молодые видят, как живут другие, и не хотят, как их родители впрягаться и тянуть лямку, не видя света ради ни-че-го в перспективе.
Есть ситуации, когда это именно так. Косность, некомпететность, нежелание учиться, досидеть бы до пенсии — валом таких работников 50+. Понятно, что с годами учиься тяжелее по чисто физиологическим причинам, но выходит это боком всем, когда такие люди принимают решения.
Пример из жизни, относительно недавно:
Небольшое приборостроительное предприятие, КБ. Имеющее славную историю, связанное с космосом. Имеет заказ на разработку и производство малой серией ~~ сотни блоков по заданным спецификациям.
Проходит время, блоки начинают производить. Молодые сотрудники — двое — на этапе сборки (их не привлекали к разработке в этот раз) обнаруживают, что блок по физическим показателям разработан «на грани» и надо провести дополнительные испытания и возможно перепроектировать крепление, пока еще блоков не так много произведено. Это предложение отклоняется. Далее идет производство мелкой серией, которое по разным причинам (в том числе и из-за малой работоспособности старшего поколения) растягивается дольше плана, в итоге возникает аврал. На этапе финального тестирования выясняется, что по одной из комбинации сигналов (редкой, но тем не менее возможной) блок отрабатывает некорректно. Произведено при этом примерно 80-85% блоков. Молодые, которые обнаружили это, находят решение, предлагают исправить проблему в кратчайший срок, для чего надо поработать в выходные. Из 5 человек старшего поколения, нужных для этого, трое отказываются — кому-то на дачу, а кто-то на рыбалку едет. Это те же люди, что допустили ошибку. Но они Имеют Право, Выходные Священны. Оставшиеся принимают решение оставить как есть «и так сойдет, уже не успеваем».
На приемо-сдаточных испытаниях все испытываемые блоки потеряли работоспособность, не выдержали ударной и вибрационной нагрузки — о чем и говорилось с самого начала. Также они не прошли тесты по той самой комбинации сигналов.
Теряется репутация, платится неустойка. И таких заказов — не один и не два. Спустя какое-то время это КБ перестает получать заказы вовсе, молодые уходят на другие места, старшие оказываются на улице и ворчат как «все разворовали, страну развалили, наше уютное КБ тоже».
Секундочку, так это вы — старшее поколение — вырастили (воспитали) молодых такими «нехорошими». Очень удобная позиция — как требовать — это «мы вырастили», а как нести ответственность — вырастили (по вашему мнению) фигню — так это вы ни при чем.
Выгорание — это отсутствие отдачи от прикладываемых усилий, а не лень. В том числе, отсутствие отдачи в перспективе.
Именно потому что у многих нет перспектив. Смысл убиваться сейчас, в молодости, если в старости будет тот же унылый круг работа-магазин-дом?
Если о молодом поколении — это лень, а если о старшем — это умение распределять силы. Ок, так и запишем.