• ЕГЭ по информатике или страдания длиною в года
    0
    Мне видится, что в таком случае наиболее востребованной частью математики будет «составление приближённых моделей».

    Поскольку хоть вальфрам альфа и лучше получает решения сформулированных выражений (хотя иногда численно), но вот проконтролировать, что «решение уравнений» и «решение исходной задачи» это одно и то же должен именно человек.

    И тут уже должен быть навык понять «туда ли мы идём вместе с компьютером».
  • Из чего состоит знание иностранного языка
    0
    Замечательная статья.
    По-моему она была бы лучше, если добавить некоторой конкретики связанной с Хабром.

    Всё-таки можно выделить какие-то конкретные сценарии, более востребованные для здешних посетителей + советы.

    Условно (про меня): программист, понимаю манулаы, во всём остальном мой уровень примерно никакой (beginner).
    Хочется:
    — читать научные статьи по computer sciense
    — смотреть простейшие подкасты на компьютерную тематику.
    — разговаривать на условном «туристическом» уровне \ мочь хотя бы понять что от тебя «в принципе» хотят где-нибудь за границей.

    Какой наиболее разумный для меня сценарий изучения языка?
    Где (в какой момент и в каком объёме) мне нужны очные занятия (насколько индивидуальные? онлайн или оффлайн)?

    ПС
    И в моём понимании небольшое число таких сценариев (3-5?) покрывает потребности очень значительной части местной аудитории.
  • Александр Плющев про политизацию интернета, цифровизацию власти и роботов, которые заменят журналистов (но это не точно)
    0
    >> Я бы послушал интервью с каким-нибудь политиканом. В идеале — с Яровой, Луговым и прочими клишасами.

    Ну было же интервью Яровой Познеру. Посмотрите.

    ПС
    Хотя если резюмировать личные впечатления, то одно из самых слабых (я бы даже сказал провальное) интервью Познера. Как говорится «к такому его жизнь не готовила».
  • Оптимизации в JIT-компиляторе для .NET 5
    0
    Про хороший инлайн, не могу не заметить, что тут надо уметь как «правильно инлайнить», так и «правильно не инлайнить» из-за потенциально экспоненциального разрастания кода на фазах оптимизации его дублирующих (для ООО-архитектур это не так критично, поскольку многие фазы дублирования кода не нужны совсем или дают незначительный эффект).
  • Монады как паттерн переиспользования кода
    +2
    Ох как тяжело, с этими статьями на Хабре (хотел расширить кругозор, а теперь ничего не понимаю).

    Вот пол-месяца назад я думал, что почти разобрался с Haskell.
    Потом прочитал 4 «лонгрида», с обсуждениями call\cc и продолжениями и связей с монадами и перестал что-либо понимать (окончательно?).

    Объясните пожалуйста если кто-то найдёт в себе силы и время.

    Попробую по-порядку:
    I. Вот моё представление о Haskell (до прочтения заумных комментариев на хабре):
    0. Expressions (в смысле ссылочно-прозрачные функции) это хорошо при прочих равных.
    Но:
    1. «statement» часто обладает более насыщенной семантикой, чем «expressions» (сравните изменение элемента дерева в Haskell с императивом. А изменение 1го узла графа!?).
    2. Чтобы FP-программы не оказались многословнее потребовались способы «более сильной» комбинации выражений, в сравнении с промышленными языками
    3. Вот «из-за 1 и 2» и ввели такие понятия, как аппликативные функторы и монады (монады, также, оказались удобны для сокрытия внутри IO, почему так — надо разобраться (*)).

    Это было очень удобно, хотя и оставались «мелкие» вопросы, с которыми оставалось разобраться:
    I.a. Правда ли, что "<-" из do-нотации «невыразима без do-нотации сама по себе» (хотя любые законченные функции в do-нотации могут быть альтернативно выражены через комбинирование).
    I.b В какой именно момент происходят вычисления монадических функций (как сами значения, так и эффекты)?
    I.b.ii Для монады IO применяется общее правило про время вычисления функций (с учётом зависимости по данным через «переменную RealWorld») или нет?

    Это примерно моё представление о Хаскель 2 недели назад оно «не бесповоротно неправильное»?
    Можно же чуть-чуть доразобраться и идти дальше?

    II.
    Вот пришло время разобраться почему: «монады, а не аппликативные функторы?», «IO как монады, а не отдельный механизм», а также «I.a, I.b, I.b.ii»,
    Прочитал 4 больших статьи на хабре с обсуждением и зарубами специалистов по ФП на 200+ комментариев, несколько статей со ссылками на новые понятия…

    Итак я узнал (spoiler: и офигел понял что ничего не понял):
    II.a do-нотация зачастую многословнее, чем комбинирование через >>=. Но писать надо всё равно через do (а не вырабатывать интуицию «функционального подхода» на >>=), — я думал ровно наоборот
    II.b монады это «просто» реализация паттерна call/cc, — это вообще как? Ну т.е. что такое паттерн call/cc я прочитал (передаём функцию «досрочного» возврата в лямбду).
    II.c монады реализуют ту же семантику, что и async\await, — тут я опять ничего не понял. Какое это имеет отношение, к ФП или Хаскелю (кроме исторически-дизайнерского legacy)? Чистые же функции с ленивыми вычислениями и так распараллелены по данным? Зачем нам мыслить категориями async\await?
    II.d IO через монады это сознательный дизайн хаскеля, — но зачем!? Это же IO надо связать в последовательность, для этого надо между IO-вызовами передавать «скрытую переменную RealWorld». Неужели такое дизайнерское решение чем-то хорошо, я вот СОВЕРШЕННО не понимаю чем (эти «кишки элементов реализации наружу» мне какие-то лабораторные опытные образцы напоминают).

    Резюмируя: знающие товарищи (если у вас найдётся на это время):
    — поправьте меня, если я совсем не прав в своих предварительных представлениях (I.1 — I.4).
    — если же мои предварительные представления о ФП «не совсем неправильные»:
    — объясните как сделано — I.a — I.c
    — а также какое отношение «II.a — II.d» имеет к действительности и зачем сделано именно так.

    ПС
    Извините за сумбур, если я недоразобрался.
    Спасибо за внимание, если прочитали, и за внимание и потраченное время, если найдёте время и силы ответить!
  • История моей трудовой деятельности в ООО «Опен Продукт»
    +3
    В ПФР до 100тыр (ну там 106тыр или что-то около того) платится полная ставка (23% вроде) и с этого идёт вам пенсия.

    Со всего что выше — платится 10%. И это, как бы лучше выразиться, благотворительность.
  • Монады как паттерн переиспользования кода
    +1
    Вместо update:
    Про продолжения и call/cc нашёл статью достаточно начального для меня уровня на русском (перевод):
    fprog.ru/lib/ferguson-dwight-call-cc-patterns

    Про cps-преобразование, эффекты (и почему монады это упрощённое call/cc) вопросы однако остались.
  • Монады как паттерн переиспользования кода
    +2
    У вас тут такой интересный разговор, а можно ссылочку (для базового уровня, лучше на русском, чем нет), что такое cps.
    Ну и сразу что есть «эффекты», что «продолжения».

  • Почему мы испортили индикаторные светодиоды и что нужно менять
    0
    Действительно вброс.
    У меня там стоит увлажнитель воздуха. На момент покупки был оптимален по ТТХ под мои требования, за исключением наличия неотключаемого синего индикатора работы.
  • Функциональное программирование — то, что вам (наверно) рассказывали. Если вы слушали
    +3
    Раз уж у нас публичный «камминг аут» на тему ФП, то присоединюсь к нему.

    ФП в «дельта-окрестность моего информационного поля» попало с год назад, в основном благодаря статьям на хабре / ЖЖ. Изучать его я начал 2.5 месяца назад на новогодние каникулы (и поставленных целей, на мой взгляд добился, хотя впереди ещё «типы в языках программирования» и «чисто функциональные структуры данных»).
    Забавное уточнение: попытка изучить ФП пол-года назад в мультипорадигменном Python у меня провалилась (что такое map\recude\filter я и так знал, а всё остальное в Python проще написать… мультипарадигменно (*)).

    По результатам скажу так: если вы не знаете ФП то не читайте (с целью получить общее представление) статьи о нём в популярных источниках, — скорее всего получите превратное понимание.
    Лучше возьмите любую книгу (или курс на любом ресурсе) и изучите\пройдите до конца. Мне понравилось «изучай Хаскель во имя добра» (например 14 занимательных эссе о Хаскель куда хуже легли лично на моё понимание).

    Также хотелось бы… не то, чтобы «кинуть камень в огород» функциональщиков, но предупредить начинающих:
    В книге Криса Окасаки «Чисто функциональные структуры данных» прямо во введении говорится, что для ряда структур данных не существует (в ряде случаев это доказано) функциональных алгоритмов, столь же эффективных, что и «мутирующих данные» (наши обычные алгоритмы). Просто помните, что это, пожалуй, та цена, которую вы платите за всю ту красоту функционального подхода, которой вы пользуетесь.

    *) Тут есть интересный вопрос: а есть ли ФП для начинающего (вопрос в том, чтобы изучить) за пределами Хаскеля? Я его не обнаружил и сложности, на мой взгляд тут вот в чём:
    — по более идеоматичным ФП-языкам (agda, idris) на порядок сложнее найти вводные материалы
    — для мультипарадигменных сложно выбрать хороший курс (не вида: how to use map\filter\recude) и если курс найден, дойти его до конца, искуственно ограничивая себя функциональным подходом в мультипарадигменном языке.
  • Почему стоит делать совещания во время прогулок? Доказано наукой, подтверждено мафией
    0
    >> Исследование Стэнфордского университета (2014) говорит о том, что за магией стоят строгие научные выкладки.

    На мой взгляд слишком громкое заявление для наличия банальной корреляции (подтверждённого механизма действия нет, даже в помине).
  • Собеседование здорового человека
    0
    наибольший (вар. наименьший) элемент за каждый проход становится на своё место?
  • Собеседование в Додо Пиццу
    –1
    Человек, который может остаться писать код вечером, потому что понимает, что если он его не напишет сейчас — сроки сдачи проекта отложатся, и прибыль компании будет меньше, работает эффективнее, чем человек, который приходит в 10, а в 18 собирает сумку и уходит домой, потому что трудовой кодекс.


    А откуда конкретные проекты с горящими сроками во внутренней разработке (у вас там водопадная модель что-ли (я, конечно, утрирую, но не сильно))?

    И ещё в целом по моему опыту у разработчиков есть ответственность, радение за проект, понимание, что зарплату нам платят за результат, в конце концов. Поэтому говорить о 45-50 часах под конец проекта обычно нужны нет.
    Но вот если дошло до агиток с корпоративными ценностями, — то скорее всего проблема не в производительности конкретно программистов, выше (в процессе разработки ПО, оценке сроков и функциональности, принятия стратегических решений что разрабатываем).

    Ну и зачем логичному рациональному человеку (мы о программистах от уровня middle говорим же), — связывать свою карьеру с компанией с откровенно плохими процессами? Чтобы всё время работы (в этой кампании) грудью закрывать амбразуру от чужих ошибок? Увольте.
  • Монады как паттерн переиспользования кода
    +1
    Товарищи объясните пожалуйста.

    Вот я беру Хаскель, пишу в нём `:k (->)` и вижу:
    Prelude> :k (->)
    (->) :: * -> * -> *
    Но почему (->) имеет два параметра и результат (три `*`), а не один параметр и результат?

    Я, видимо, не понимаю чего-то очень базового, но я «не понимаю чего именно я не понимаю» :(

    Ну и второй (но скорее уже факультативный) вопрос: а зачем вообще делать функцию экземплярами классов Functor \ Applicative \ Monad?

  • Границы для пограничников: суд США установил правила для проверки устройств — обсуждаем ситуацию
    +1
    >> возможность загрузки двух систем, одну для себя такого, как есть, другую для себя белого и пушистого с котиками на обоях.

    Вот это как раз является весомой причиной заинтересоваться вами куда подробнее.
  • Нет, динамические системы типов по своей сути не более открыты
    0
    хм… а я разве этот тезис оспаривал?

    Оспаривал-то утверждение "(помимо неопределённого размера) if внутри runtime-типизации ломает аппаратные оптимизации".

    Нет не ломает (есть средства чтобы не ломались) хД
  • Нет, динамические системы типов по своей сути не более открыты
    0
    Всегда нужно валидировать и валидировать много. Это постоянные if-ы, явные или не очень, при любом обращении к объекту. Сильно ломает уже оптимизации железные.


    Вообще подчёркнутое предложение в общем случае не верно. В смысле оверхэд на if, конечно остаётся, но «железные оптимизации» в нормальном языке это не ломает. Т.к. если вы пишите в языке с требованиями к производительности, то у вас должен быть какой-то аналог assert или unlikely / never макросов, — выравнивающий поток управления (т.е. штатный код всегда должен делаться по провалам, т.е. без джампов).
  • Мы приближаемся к пределу вычислительных мощностей – нам нужны новые программисты
    0
    Честно говоря довольно однобокий подход.
    В сегодняшних условиях, когда производительность условного «core i3» более не растёт со сменой поколений просматривается аж несколько подходов к возможности и дальше писать всё более и более «привлекательный» для пользователя (т.е. красивый и функциональный) код.
    При этом, конечно, каким будет конечное решение: какой-то «чистый» подход, смешанный подход либо решение придёт «со стороны» сегодня не понятно:
    — многопоточное программирование — тот же серверный ARM в терафлопсах уже свою производительность меряет (да мерялка не идеальна). Проблем у этого подхода много: отсутствие устоявшихся и боле-менее универсальных подходов и инструментов, проблемы при написании «монолитных» приложений, плохое распараллеливание (зависимость по данным или real-time требования, или ещё что-то) для части приложений, возрастание простоев (lock-free и wait-free алгоритмы всё равно не бесплатны) с увеличением числа потоков, необходимость достаточно производительного потока для пользовательского интерфейса и т.д.
    — специальные ускорители — тут мобильные устройства, в массовом сегменте, пионеры. Графика (даже 2Д)? Звук? Кодаки? Шифрование — пожалуйста воспользуйтесь спец. устройством и ни в чём себе не отказывайте.
    ИМХО комбинирование этих двух подходов (для «прожорливых» задач выделенное устройство, всё остальное хорошо распараллелено) на приличное время компенсирует отсутствие роста производительности «условного core i3»
    — переход с «условной Java[Script]» на «условный Rust» — ну поскольку прирёрло (или скоро припрёт) и мощности реально почти не растут, то придётся пересаживаться. Переход на С \ С++ выглядит нереальным.
    — обучение массового программиста писать алгоритмически производительный код — да мне видится, что заявленный в статье метод решения проблемы «процессоры больше не становятся быстрее» стоит где-то здесь, после многопоточности, спец-вычислителей, перехода на rust…

    Ну а совсем фантастичных сценариев, типа выполнения всего в облаках через G5 — выше уже накидали, но, по ряду причин, слабо верится ;)
  • Прощай, чистый код
    0
    Я бы (если бы позволила задача) наверное просто поместил бы фигуру в «user interface rectangle». И отдельно менял положение фигуры внутри этакого «интерфейс-контейнера» \ отдельно положение контейнера во фрейме — тогда перетаскивание маркеров вправо\влево вверх\вниз делалось бы вообще одной строкой.
    Но после этого дисклеймера могу выступить адвокатом дьявола:

    1. Насколько я помню (но не понимаю, только видел разъяснения) модели при замене i на -i не полностью эквивалентны. Может быть у ребят именно настолько чувствительная к математической обработке модель.

    2. 10 строчек кода при перетаскивании левого (правого \ верхнего \ нижнего...) края могут появиться, если это действие определено (условно) как scale + сохранение геометрического центра — ну то есть тогда надо сначала раздвинуть размеры фигуры по оси, найти новое положение центра, переместить новое положение центра, пара комментариев, пара пустых строк… 10 наверное наберётся
    // не спрашивайте меня — не знаю ей богу откуда берётся одновременно 10 строк кода для перемещения левого края и отдельная функция для каждого действия.
  • Ускользающий талант: Россия теряет лучших ИТ-специалистов
    0
    Да и вообще «вложения в экономику» (просто индекс ММВБ) за 12 лет выросли примерно на 60% в рублях, это 4% годовых.

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

    Честно говоря раз уж пошли такие уловки — наверное эта ветка себя исчерпала.
  • Ускользающий талант: Россия теряет лучших ИТ-специалистов
    0
    В смысле калькуляции солидарная система очень близка к накопительной.
    Я бы даже сказал к лучшим реализациям накопительной — при которой отчисления идут в акции (т.е. приобретается «кусочек экономики») а не в какие-нибудь облигации и т.п.

    Значительную разницу я вижу только в том, что при солидарной действительно возникает желание «усреднить» пенсии — т.е. вместо того, чтобы платить соц.пособия бывшим тунеядцам платят полноценные пенсии за счёт работавших (естественно всё делается через математический оператор «отложенного платежа» хД)
  • Ускользающий талант: Россия теряет лучших ИТ-специалистов
    0
    да на то, что сверх налогооблагаемой базы платят 10%.

    Т.е. я вас понял так:
    1. до 100тыс/месяц обложение 23% (или сколько там). Но с этих денег хотя бы мне пенсию будут платить. В целом ± честно.
    2. сверх 100тыс/месяц баллы не идут (проверял в пенсионном калькуляторе) и это чистая благотворительность (в пользу тех моих одноклассников, которые побухивали вместо уроков, когда я сидел и ботал математику с IT)

    Про пункт 2 я просто не знал и просил подтверждающую ссылку.
    И был несколько удивлён этим фактом, т.к. периодически поглядывал одним глазом за пенсионной реформой (хотя бы в формате «хватит ли пенсии на кусочек хлеба, если считать что 'всё будет ± как сейчас'»)/

    ПС
    Да лучше на такие мусорные сайты, которые мешают читать и вымогают почту ссылок не давать.
    Вот по 2020 году сразу ищется ссылка
  • Facebook заставляет модераторов документировать своё рабочее время с точностью до секунды — даже походы в туалет
    +1
    Проблема в том, что соц.сети являются естественными монополиями.
    Действительно если 60% друзей и потребляемого условным Джоном контента в ФБ — он перейдёт на ФБ (*)

    И пока соц.сети являются естественными монополиями — рассказы о «частной цензуре» в существенной степени фарисейство (т.е. формально в сферическом вакууме верны, но по сути издевательство).

    *) Решается это крайне сложно (как пытаются в Династии) через открытый API взаимодействия между «хранением» и «отображением» информации. Но получается неповоротливый монстр из комитетов по работе с комитетом по работе со стандартом описания протокола…
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    Спасибо за совет.

    Ну общаться на уровне SO это попроще чем книгу по незнакомой области читать (как минимум я надеюсь что «незнакомость» в этом случае не будет так сильно вылазить).
  • Недочёты, часто встречающиеся в программировании, которых стоит избегать
    +6
    1. Смешение табов и пробелов куда хуже чем отдельно табы или пробелы.

    2. Табы «в целом» скорее уходящая CodeStyle конвенция. Но например в Linux Kernel Code Style они родимые (не заменяются пробелами, да ещё и по 8 символов) — а оттуда зачастую попадают в CodeStyle контор занимающихся системным ПО.

    ПС
    Абсолютно с вами согласен, что увольнять! джуниара! вместо того чтобы объяснить! — это совсем какой-то моветон.
    Джун на то и джун, чтобы учиться на работе, а не с ходу выдавать желаемый код.
  • Разработчики — никакая не элита, а голые короли индустрии
    +1
    Спасибо за такой подробный ответ.

    На практике наверное действительно лучше «начинать с середины». Особенно в ситуации когда некому задать FAQ (воспользоваться чужой интуицией).
    Просто мне вот всегда было комфортнее когда понимаешь на пару уровней абстракции вглубь что делается.

    Вот скажем той же интуиции в «функциональном стиле программирования» у меня совсем нет (вернее есть неправильно работающая унаследованная от императивщины).
    Скажем написал «решето эратосфена» в функциональном (в смысле «filter \ list» а не в смысле «без сайд эффектов») и с ходу ошибся в О-сложности работы.

    >> Пишите код, показывайте его людям, получайте фидбек.
    А куда показать-то свой (достаточно тупой чтобы было интересно другим людям) код. Так чтобы сходу не послали на…
    Вот интересно что раньше-то никогда в такой ситуации не бывал…
  • Ускользающий талант: Россия теряет лучших ИТ-специалистов
    0
    >> введение отчислений 10% с зарплат выше суммы отсечения в пенсионный фонд

    Серьёзно?
    Ссылкой поделитесь?
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    Спасибо.

    Да вероятно я неверно понял β-редукцию (или читал про упрощённый пример исчисления).
    Я её понял просто как раскрытие (уж не помню корневой или листовой) \-функции
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    >> любая функция принимает ровно 1 аргумент,
    Вещь теоретически крайне красивая.

    Но.
    В \- исчислении (тех местах, что я видел, я конечно тот ещё специалист) пишут же:
    \ xyz.M(...) — т.е. явно в сигнатуре (до точке) указывают 3 аргумента.

  • Разработчики — никакая не элита, а голые короли индустрии
    0
    Спасибо вам за ваш блог, отчасти он подвигнул меня начать учить FP (в частности остановился на Haskell, хотя есть вещи немного смущающие).

    >> ИМХО лучше с практики начинать.
    Ну в метро-то надо что-то делать. Тем более в теории я не глубоко (всего лишь главы про \-исчисление и комбинаторы книги «14 занимательных эссе о хаскел»).
    Просто удивляет что не очень понимаю что там написано (собственно подозреваю что там пара базовых моментов недообъяснена для совсем новичка).

    Можно я не в подходящей для этого теме вас немного помучаю:
    1. Оптимизации в движке Haskell:
    — они в основном на AST делаются (или в IR)?
    — все далаются в compile-time или сам бинарник (exe\elf) занимается оптимизацией и (JIT\интерпретацией) — где-то видел такую версию, но неправдоподобно по скорости.

    2. Зачем нужно каррирование? Как отдельная и важная парадигма отличительная черта парадигмы FP?
    Пока вижу лишь «сахар» для «абстрактных фабрик» или виде затыкания дыр там где по синтаксису нужна функция 1й переменной, типа:
    map ( (\x y -> x /= y) param_var) param_list
    Который (сахар / поддержка паттернов) на отдельное важное свойство парадигмы не тянет

    3. Что лучше из (относительно теоретического) почитать для улучшения скила в FP (важное дополнение — на русском).
    Наверное тут тоже два вопроса:
    — в какую сторону (теория типов \ CT \ частично рекурсивные функции \ ещё что-то)?
    — на какой именно книге стоит остановиться?
  • Разработка чрезвычайно быстрых программ на Python
    0
    1. Преждевременные оптимизации — зло.
    Узнай место, которое замедляет программу, реализуй его на C(*).
    Собственно про профилирование кода сказали, а дальше свернули куда-то не туда и стали говорить про всякие микрооптимизации, зачем?
    *) по аналогии — мало кто пишет весь код сейчас на assembler, если узкое место CPU находят самую прожорливую ф-ию и переписывают её и только её (например используя параллельность по данным через SSE инструкции)

    2. Не упоминуть про CPython (и другие интерпретаторы байткода), почему?

    3. На фоне 1,2 то что описано в статье даст весьма незначительные улучшения.

    3.1 Вот это чрезмерная оптимизация, даже в сравнении с остальными пунктами статьи.
    >> Как это возможно? Дело в том, что при обработке большого набора данных без использования генераторов (итераторов) данные могут привести к переполнению L1-кэша процессора, что значительно замедлит операции по поиску значений в памяти.

    Даже на фоне присутствующих в статье советов это уж совсем экономия на спичках.
    Интерпретатор всё равно загрузится в L1-instraction-cache (который свой для кода\данных).
    А уж пара промахов по data-cache дадут доли процентов на фоне общей неспешности внутренних мехазинмов python, типа __getattribute__ (которые вовсе не для производительности так проектировались).
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    >> Перспективы не радужные, все мужское население, которое остается без работы идет в строительство или перевозки.
    Понял да, удачи вам.
    Вот я сейчас в (чем-то) похожей ситуации.
    Решил учить FP (решил ознакомиться с базисом — лямбда и комбинаторным исчислениями) и чувствую себя таким тупым, как те «троечники» которые в студенчестве вечно какие-то очевидные вещи не понимали.
    И вот думаю то-ли я действительно тупее стал, то-ли требуется «период въезжания» в практически полностью новую тему.

    >> до них сложно доходит понятие профессионализм и почему надо платить больше, чем бригаде забулдыг.
    Ну я, конечно, в Мск а не провинции.
    Но по моим понятиям профессионалы берут столько же сколько и забулдыги. Просто профессионалы (с хорошо налаженным конвейром работы и инструментом) делают работу за 1 день, а забулдыги за 3.
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    >> >> В моём понимании, при наличии заказчиков и прямых рук, конечно

    >> а когда накосячили то платили за день исправлений… побелка с потолка осыпалась прямо в момент финальной приемки, не говоря уже о кривых стенах

    Во-первых мы обсуждаем (условно) профессионалов не ниже некоторого среднего уровня что в IT, что в строительстве (см ремарку); соответственно неизбежные косяки не столь часты.
    Во-вторых такие профессионалы ценят своё время и предварительно оценивают трудоёмкость работ профессионально <=> обычно адекватно.
    В третьих человек идёт из опытного строителя в неопытного IT-шника (т.е.косячить в IT будет больше по определению).

    ПС
    Если хотите обсудить «уровень последствий для исполнителя» — то в IT он в среднем ниже чем в строительстве (хотя удивительно уровень ответственности выше и это нельзя сбрасывать со счетов).
    Хотя в разработке каких-нибудь аэрокосмических систем не исключаю что и посадить могут (т.е. как всегда есть нюансы).
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    хм… вот с моей стороны (как заказчика) очень по-другому это выглядит.

    Т.е. когда делал ремонт, то отдавал примерно по 10-25 тыр за человекодень (двери \ окна \ шкафы \ кондиционеры \ потолки....) за монтаж.
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    >> Подобные фишки упрощают код и удивляют коллег.

    Это, конечно, хорошо обсудить за обедом.
    Но тащить код способный удивить коллег, который потом читать (и желательно понять потратив не очень много времени) и при необходимости модифицировать, в средний-большой проект так себе идея (средний-большой условно если все разработчики проекта не сидят в одной комнате).
    А С++ к этому если не принуждает, то активно подталкивает.
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    А как же офигенные истории?
  • Разработчики — никакая не элита, а голые короли индустрии
    +1
    >> Как в таком случе с вашей точки зрения должен быть запрограмированн именно ваш автопилот: чтобы спасти своего пассажира или чтобы спасти максимальное количество людей?

    Очевидно (для бизнеса) чтобы спасти своего пассажира.
    Иначе такую машину никто не купит ;)
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    Ну надо отметить, что 3 и 4 уровни автоматизации (по SAEJ3016) работают весьма фигово.

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

    Да два уточнения:
    1. В авиации с автоматизированием работы пилота ещё как-то справляются, за счёт выделения отдельных часов для пилотов, когда они они обрабатывают нештатные ситуации. В вождении личного ТС будет совсем не так.
    2. Наиболее вероятный сценарий аварии, на 4 уровне автоматизации будет выглядеть так:
    «еду за рулём пью кофе 'готов в любую секунду взять на себя управление ТС при нештатной ситуации' вдруг (редкое событие или цепочка высоковероятных событий...) авто едет не туда, во рту бутерброд, в руке кофе, как управлять авто я уже подзабыл, а как управлять во внештатной ситуации никогда и не знал… бумц… хорошо хоть подушки безопасности есть»
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    >> Я сейчас учу Java (работал в банках, занимаюсь строительством коттеджей, 2 вышки)

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

    Ну т.е. в моём понимании уходить из строительства (при наличии наработанной клиентской базы) на ± начальные позиции в IT смысла особого нет.
  • Разработчики — никакая не элита, а голые короли индустрии
    0
    >> Тем не менее это всё не значит, что нужно уже сейчас платить программерам как водителю автобуса

    Несомненно. Я подчёркиваю лишь две вещи не надо думать что схватил бога за тестикулы:
    а) не надо забывать, что нам просто повезло «оказаться в нужное время в нужном месте»
    б) спрос на разработчиков может и упасть.