Pull to refresh
18
0
Андрей @Lau

User

Send message

Хорошая статья, все по делу и все нужное, согласен с каждым пунктом.
Когда то давно была вот такая статья:
https://habr.com/ru/post/340882/

Сейчас в полку прибыло и в проекте есть библиотека для микроконтроллеров, все пункты из статьи в ней реализованы :)

Простите, когда вы говорите батареи перерабатываются - вы имеете в виду замкнутый цикл когда из старой батареи можно сделать новую? или когда ей дают вторую жизнь как банка энергии, но после этого смерть?

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

Хорошо, ваши примеры, как я понимаю, вы не относите к крайностям и их можно использовать для сравнения?
Бух учет — сколько ему учатся, какие дисциплины и сколько учиться инженер программист и какие у него/нее дисциплины? Это сравнение, беспристрастное — даст вам представление о сравнении сложности.
Почитайте:
Бухгалтерия: www.masu.edu.ru/education/additional/programs/bukhgalterskiy-uchet-analiz-i-audit
Компьютерные науки (Основные учебные курсы): spbu.ru/postupayushchim/programms/bakalavriat/matematika-i-kompyuternye-nauki

Если мы говорим про хирурга — учатся еще дольше, риски выше как и ответственность и да, на мой взгляд хирургия (если это конечно не порезы штопать) сложнее и более стрессовая область чем программирование, как и многие другие области.

Играть в игру мы тут все победители, достаточно участвовать наверно это слишком. Какие то профессии простые, какие то сложнее, а какие то доступны лишь не многим, так было, есть и будет.

И конечно я согласен, что заходить в специальность с возрастом сложнее, но опять же смотря в какую, везде свой порог и свои особенности. После 40 вы уже не станете физиком теоретиком почти наверняка, дворником легко.
На первом курсе универа наша группа насчитывала 35 человек, к концу года было 20, к концу 4-го курса из 3х групп сформировали 1 из 22 человек, впереди было еще 2 года учебы и люди отсеивались не потому что были не мотивированы, а потому что не тянули нагрузку.
Я к чему это — мало запоминать, мало быть хорошистом/отличником, нужно иметь определенное мышление и способности, уметь держать здоровые модели в голове и оперировать абстракциями. Если для вас любое начинание дается легко — я могу только за вас порадоваться, но не все такие.
В ворде можно научиться писать всем, простенькие скрипты писать тоже, сейчас в профессию затягивают как пылесосом, лишь бы хоть что-то мог, но не стоит по средней температуре в палате вычислять нормальную температуру тела.
Во Франции есть хорошее разделение на кодеров, которые пишут функции и участки кода по четко сформулированным инструкциям, все вокруг уже покрыто тестами… как квест легенький пройти.
И SW инженеров.
Первые могут пройти 3х месячные курсы после какой нибудь другой вышки, а вторые были выдраны в хвост и гриву в течении 5-7 лет жесткого обучения.
Первые в индустрии обычно ограничены ростом, только если конечно не гений, но таких 1 на тысячи, а вторые почти не ограничены.
Это хорошая иллюстрация разделения на просто и сложно. Для первых все просто, для вторых все уже очень не просто, т.к. они заглянули в кроличью нору и знают ее глубину.

Недавно тут проскакивала статья о человеке пытавшемся устроится в яндекс, он не мог оценить О алгоритма, гордился тем что не использовал эту нотацию в своей карьере предыдущей. Тета нотация к примеру скорей всего в этом контексте фантастика.

Есть другой хороший маркер в професии — производительность, почему она от одного человека к другому может меняться в десятки раз, а иногда в бесконечность. Кто-то может за неделю, кто-то за месяц, а кто-то и за год не может, хотя все вроде знают предмет.

Ну и последнее — люди в первых комментариях спрашивали определение сложно и примеров по возможности:
Сложно — это количество знаний в разных областях (алгоритмы, математика, архитектура, аппаратное обеспечение, физика и тд и тп), которое требуется чтоб принять взвешенное решение в каждой новой задаче которая появляется перед вами.

Если вы думаете, что я преувеличиваю позвольте привести пример — представьте что ваша компания разрабатывает ASIC ваша задача как инженера SW помочь аппаратной команде разделить функцинал между аппаратными частями и программными, помочь спроектировать интерфейсы взаимодействия, переложить часть алгоритмов в софт с жесткими ограничениями по сложности, памяти. Там вам понадобятся и О большое (тета и омега), математика, физика…
Все просто пока вы выполняете однотипные задачи по шаблону/инструкции, но как только нужно выйти за эти рамки и делать что-то новое тут начинается сложное — чтоб принять правильное решение нужно огромное количество знаний и уметь ими пользоваться и стэк оверфлов тут уже не поможет, если нет образования и кругозора Вы даже не будете знать какие ключевые слова гуглить.

комментарий удален автором. Хабр не политический блог и уж тем более не место для Украино-РФ дискуссий.

Да, пулы в этом плане решают многие проблемы.
Вы молодцы, двигаете хороший проект, особенно прекрасно, что могут учиться студенты.
Так как Вы явно знаете эту RTOS — могли бы Вы ответить на пару вопросов? Они не относятся к данной статье на прямую, но мы сейчас рассматриваем варианты нескольких RTOS и возможно ваши ответы могли бы склонить наш выбор в пользу Embox:
— какой уровень зрелости Embox? (скажем могли бы вы рекомендовать ее для мед устройств?)
— есть ли готовая и протестированная поддержка Risc-V
Скорее вопрос был посвящен тому что если часто вызывать malloc free то в какой то момент память кучи будет фрагментирована и даже если у вас там есть свободный килобайт скажем, выделить 1КБ вы не сможете т.к. он раздроблен на микро-фрагменты в куче.
Проблема обычно решается просто — заказываешь при старте и в когда контроллер крутится уже заказом-освобождением памяти не пользуешься. Но на сколько это реально в рамках данной статьи утверждать не берусь
Вы упомянули статью «Сравнение библиотек логирования» на хабре, я взял пример от туда.
Глава «Производительность», там есть «Исходный текст».
Вставил в пустые места создание логгеров и по 1 строчке логирования — вот и вся магия.

Очень странные результаты если честно.
Несколько минут назад прогнал результаты для SpdLog и для P7.
Размер памяти 1мб под очередь сообщений, я даже не говорю про 1 гигабайт.

Условия:
  • I7 870, Samsung 960, DDR 1600MHz — куда более старое железо по сравнению с тем что используется в статье
  • Windows 10, Visual studio 2019, O3
  • 5,000,000 messages
  • 4 & 1 thread


Вот результаты:
  • SpdLog, 1 thread => 1.7 seconds
  • SpdLog, 4 threads => 1.3 seconds (метки времени перемешаны в выходном файле)
  • P7, 1 thread => 0.6 seconds
  • P7, 4 threads => 1.1 seconds (метки времени по порядку)


Расхождение с цифрами в статье в несколько раз.
Честно говоря теряюсь в догадках от куда такое соотношение.
В слове гении не было и тени иронии, они реальные молодцы и вытягивали эту индустрию уже не 1 десятилетие и то что сейчас идет пробуксовка винить их не в моей компетенции.
Хех, много шума, много споров :)
Я может не прав, но статья не о настоящем, пока железо со скрипом, но справляется
Вход в нашу индустрию для новичков прост и недавние новички создают давление на систему своими предпочтениями, выбирая одни инструменты вместо других.
Статья скорее о будущем, о том что «ребята, время халявы кончается, будущее где придется над кодом думать много и оптимизировать уже за следующей дверью, воспользуйтесь этим знанием и прокачайтесь»
Я давненько работаю в индустрии где ASIC это не матерное слово, а насущная необходимость, где код вынуждены вылизывать и клиентов со временем у таких компаний все больше и больше. Нет больше запросов — сделайте мне из говна и палок, все больше — «сделайте так чтоб на этом железе помимо вот этого еще поместился лунапарк и продажные женщины»
Еще 10 лет назад картина была принципиально другой.
Гении из Интела и АМД пока не справляются с тем что производит индустрия софта и тенденция такова, что ситуация становится все хуже.
Сейчас у многих людей в индстрии есть уникальный шанс — тренд понятен и нужно успеть подготовиться, а дальше дело каждого — адаптироваться или надеяться на лучшее. Кто прав покажет время.
Меня все больше смущает куда двигается индустрия создания софта и как это повлияет на наше будущее.
Парадигма «сделай красиво, а оптимальность это на сладкое» зародилась во времена когда делать производительный код было дороже чем подождать годик и гении из Интел подгонят новое железо на котором код будет работать в 2 раза быстрее.
Эти времена прошли. Может еще вернутся, но пока мы живем в реальности другой.
Целые новые поколения инженеров-программистов оперируют парадигмой которая была создана в ныне не существующей реальности. Похмелье после этого праздника будет горьким.
Я согласен с автором в утверждении, что не нужно ставить производительность во главу угла, но оперировать красотой как чем то универсальным — это путь тупиковый.
Мы должны думать о производительности, это наша работа, чтоб помимо того чтоб у пользователя работал наш софт, он должен работать так чтоб пользователь не чувствовал «у меня украли время, почему он работает так медленно?!»
А с современным валом статей и размышлений «лишь бы красиво» мы уже находимся в ситуации когда банальный софт сжирает память и процессор без сожалений, просто потому что текущие инструменты и языки кажутся инженерам удобными и они приносят в жертву интересы пользователей.
Сложная эта тема «оптимизация» и много споров было. Сделать оптимизированно — дорого. Сэкономить вроде незаметно, а потом баз у тебя уже 30 процессов крутится и каждый думает «ну я чуть чуть тут ЦПУ отъем, ни кто и не заметит» и вот у тебя уже график загрузки ядер выше 80%.
Недавний пример — есть железо, капчит аудио в буфер в памяти, сотф его разбирает т.к. аудиосэплы упакованы в AES3, на 4х аудио потоках дышит хорошо, на 8 кашляет и вид имеет бледный. Инженеры говорят — проц слаб, нужно чтоб парсило ауидо поток железо! Точка!
Электронщики чешут репу и начинают что-то шаманить с поникшим видом, так как стоимость сделать «красиво» на их стороне существенно выше.
На следующем код ревью выясняется, что ради красоты доступ к аудио был орагинзован не по 4 байта, а по битам, кажый раз когда нужно было проверить бит — его снова ивзлекали из байта, с блекджеком и ночными бабочками масками и сдвигами.
Две крайности — оптимизировать все всегда и максимально или делать красиво — ни кто просадку производительности не заметит.
Первый дорог, второй имеет отложеный эффект, когда есть 100 функций, вроде каждая нормально работает, а все вместе уже сущесвтенно влияют и не пойми что оптимизировать, переписывать надо.
Рост мощностей CPU закончился, мода на производительный код будет медленно, но верно возвращаться.
Какой то баланс нужен, разумный :)
Пора закругляться :)
Обычно новые научные истины побеждают не так, что их противников убеждают и они признают свою неправоту, а большей частью так, что противники эти постепенно вымирают, а подрастающее поколение усваивает истину сразу.
Нет. Они не будут «драйвером роста». Они скорее тормозом будут. «Драйвером роста» станут новички — со временем. Ровно как у Планка.

Вам видимо виднее… скажу коллегам, что их время вышло.
Заодно закопаем С/С++ с его базой инженеров.
В Python тоже полно «невыполненных обещаний» — просто, возможно, вы не так близко к сердцу их принимали, потому их невыполнение вами не так остро переживается…

Возможно, не буду спорить. Это субеъективная зона в которую мы вступаем.
Чем это отличается от поведения разработчиков в Rust, которые некоторые вещи действительно отвергают с подобными же оправданиями?

Было разделение коммерческих обещаний и реакции и комментариев сообщества и инженеров.
У Раста полное взаимопонимание, коммерческие материалы распространяются как инженерные самими инженерами.
А при выявлении несогласных начинается подавление.
Далее вступает в силу обратная связь когда здравомыслие это порок и люди с опытом по вашим заявлениям должны отмереть… по таким критерями формируется сообщество, какой итог будет у такого отбора вопрос открытый.
Удачи вам.
Почему вы так уверены? И почему вы считаете, что те, кого таким образом удалось отвратить — более полезные для экосистемы, чем те, кого этим удалось привлечь?

Вам не нужны инженеры с стажем в 10-20 лет? Люди которые делают реальное железо, спокойные, которым ничего не нужно уже доказывать, но они будут реальными драйвером роста? :)
Около 10 моих коллег ранее были впечатлены марекетинговыми заявлениями по расту в плане безопасности, скорости разработки и все в итоге разочаровались, это те люди которых вы потеряли.
Это «агрессивное продвижение» — это просто фаза.

Да все что мы говорим просто буковки и слова со знаками препинания.
Фанатизм и евангелизм это как раз то состояние в котором способность слышать отключается и появляется уверенность.
Надеюсь мы с вами не в этой реальности находимся?
Даже Python через эту фазу прошёл, несмотря на мягкость и аккуратность самого Гвидо.

Питон поднимался на моих глазах и там даже близко не было тех обещаний который раздает сообщество Раста.
Питон ругали — он улучшался, но было отличие — способность слышать.
Люди отворачиваются т.к. эта способность с самого начала была задавлена агрессивным маркетингом, апологетом которого видимо являетесь и Вы.
Ладно, как заметил мой предыдущий собеседник комментов уже настрочили много, сказали все что хотели, тот кто хочет — услышит.
Удачи вам.
И на чтение чужих комментариев время тоже не тратится? Да на эту тему можно больше чем на обсуждаемое видео потратить.

Хм, думаю час где то суммарного времени.
Раз пошел отсчет времени и придирки к мелочам :)) (это ирония если что)
Кто мы? Лично я? Лично мне — пофиг. Мне за код на расте деньги платят, а не за евангелизм.

Походу платят Вам за евангелизм, т.е. не хотят, а платят. Рабочее же время :)
И если пофиг, чтож вы со мной переписываетесь пассивно-агрессивно.
Ладно, это риторический вопрос :) Удачи Вам и пусть действительно Раст вам помогает в работе.
:) Вы заметели что на хабре регулярно при упоминании Раста тред разрастается до немыслимых масштабов? Интересно почему…
Есть такая полезная штука — рефлексия, говорят помогает взглянуть на вещи под другим углом.
А в сраче, если посмотреть статистически, мои жалкие 10 коментариев (этот 11ый) капля в море.
Жаль, вы стольких людей таким стилем подачи материала отвратили… молодо, зелено.
Мед сектор, хирургия, мало-инвазивные операции — С микроконтроллепры и драйвера, С++ обвязка повыше.
С/С++ это индустриальный стандарт сейчас и уже давно.
1
23 ...

Information

Rating
Does not participate
Location
Paris, Paris, Франция
Date of birth
Registered
Activity