Необходимость в ОС обычно появляется с момента, когда нужно реализовать длительно выполняющийся алгоритм в конкуренции с основным потоком и прерываниями. Например, если мы непрерывно рисуем что-то на графическом индикаторе и параллельно должны вести расчеты и отправлять результаты, то использование ОС сильно упрощает по крайней мере один из процессов.
В более простых случаях многопоточность не нужна, но могут быть полезны примитивы, предоставляемые ОС. Кроме того, если ОС многоплатформенная, то несколько упрощается задача портирования как внутри семейства МК, так и при более радикальных изменениях. В случае автора статьи, я бы не стал изобретать велосипед, а просто бы попробовал написать обертку, скажем, для ChibiOS.
Так же как и пичкать vim всеми плагинами, для всех языков.
В этом и есть ваша проблема в понимании идеологии vim'a: без плагинов, это просто мощный редактор, причем по умолчанию, многие возможности ни на какие хоткеи не повешены. А вот последующая конфигурация и плагины уже позволяют навертеть все что угодно.
Причем совершенно необязательно делать универсальный комбайн в рамках одной конфигурации: можно создавать «рабочие места» под любые задачи. Например, отдельно для C/C++, отдельно для Python, отдельно для PHP/JS/HTML, а по умолчанию иметь простой и удобный редактор с табами.
Статья основана на изначально неверном посыле: phpstorm, clion, intellij и прочие, это заточенные изготовителем на конкретные задачи инструменты. Причем один не может полноценно стать другим. vim/neovim — это платформа, которую можно заточить самому (или по руководствам) на выполнение необходимых функций. Например, с помощью плагина coc.nvim можно подключить кучу coc-расширений, включая coc-phpstan.
Кроме того, можно создать несколько конфигураций разные задачи, и в тоже время иметь под рукой легковесный редактор для правки всякой мелочевки.
А вот потом уже можно сравнить фичи, скорость, потребление памяти, и обнаружить, что уже не все так однозначно.
Это так. Но полагаю, что обработка состояния энкодера в них сделана по таймеру, или аппаратно, с защелкиванием по тактовым импульсам на частоте опроса. Вешать 3 дребезжащих контакта на прерывание, это верный путь к проблемам.
Для этого охраннику нужно назвать или дать просканировать с удостоверения свой ИИН (аналог ИНН). Этим вариантом пользуются, в основном, пенсионеры. В принципе, во время очередной волны ковида мера работала, и даже давала эффект в виде штрафных сборов.
За 30 с лишним лет работы в IT, ни разу не встречал женщин-программистов, которым было бы некомфортно в смешанных, или даже преимущественно в мужских, коллективах. Зато видел, как быстро распадаются группы, которые пытались формировать только из женщин. Поэтому полагаю, что «школа программирования для женщин» — чистой воды хайп.
Если вам нужны значения за каждый период (50 раз в секунду), то здесь уже кажется что вы строите электростанцию или электросчетчик.
Так оно так и было: хотел сначала сделать простой девайс для контроля потребляемого от сети тока, затем потребовалось и напряжение, а потом, естественно было подсчитать и мощность, да поточнее. С другой стороны, какой бы дикий ужас теперь не творился в сети как по току, так и по напряжению, показания хорошо коррелируют с TrueRMS ваттметром.
Вы считаете все компании должны поменять традицию?
Нет, не считаю, т.к. в данном случае речь идет о частном случае. Мы же тоже говорим «написать прошивку» для МК, а не программу. А под программированием понимаем перенос прошивки в ПЗУ.
Вот что устаканится лет через сто, то и примем за правильный вариант.
HTML — это язык разметки, изначально неполный по Тьюрингу. Его можно считать своего рода программой для обработчика этого HTML. С другой стороны, язык TeX полон по Тьюрингу и его можно назвать как языком программирования, так и языком разметки.
То есть вы идеологически против аппаратно-программного дуализма?
Ну да, он несколько надуман: раньше вещи выполненные в «железной» логике (на восьми 155ТМ2, в данном случае), не считали процессором, а по сути, это он и есть, просто очень маленький и с «масочно» зашитой жесткой логикой. А то, что он прекрасно описывается на Верилоге, лишь довершает стройную картину.
Для разнообразия, возьмите более сложную систему типа навороченного фазового детектора: там будет и память, и машина состояний, и обработка ошибок.
Так или иначе: эти два D-триггера — это просто две конструкции из кремния
Тем не менее, описание на верилоге может быть как «скомпилировано» в кремний, так и исполнено на интерпретаторе (симуляторе), или преобразовано в подпрограмму обработки прерываний, скажем, мелкого МК.
Такая аппликация — это программа? Ее составитель — программист?
Почему нет? Если абстрагироваться от конкретного применения, то аппликация есть один из способов описания программы для специфичной реализации в кремнии на очень низком уровне. Для примера можно привести всякие блок-схемы, UML и прочее графическое представление из области «большого» программирования.
Вот чисто по логике: приведенный вами модуль на двух триггерах, это, в терминах программирования, поток, который пробуждается по фронту сигнала CLK, копирует две переменные, и засыпает до следующего события. Так что, написавшего такой модуль можно считать программистом. Просто программа выполняется не миллионами транзисторов, а несколькими десятками.
Мой комментарий касался исключительно тракта воспроизведения, который должен быть максимально чистым и не вносить дополнительных артефактов. Если отдельному индивидууму для восприятия требуются дополнительные шумы и искажения, то он всегда может использовать дополнительную обработку по своему усмотрению.
Давайте отделять мух от котлет. Шум в паузе, это шум в паузе. Меня его отсутствие не напрягает. А вот нелинейные искажения, это повреждение информации, и оно реально раздражает. Если мы слушаем студийную запись, то она должна звучать как студийная, без дополнительных артефактов.
В более простых случаях многопоточность не нужна, но могут быть полезны примитивы, предоставляемые ОС. Кроме того, если ОС многоплатформенная, то несколько упрощается задача портирования как внутри семейства МК, так и при более радикальных изменениях. В случае автора статьи, я бы не стал изобретать велосипед, а просто бы попробовал написать обертку, скажем, для ChibiOS.
В этом и есть ваша проблема в понимании идеологии vim'a: без плагинов, это просто мощный редактор, причем по умолчанию, многие возможности ни на какие хоткеи не повешены. А вот последующая конфигурация и плагины уже позволяют навертеть все что угодно.
Причем совершенно необязательно делать универсальный комбайн в рамках одной конфигурации: можно создавать «рабочие места» под любые задачи. Например, отдельно для C/C++, отдельно для Python, отдельно для PHP/JS/HTML, а по умолчанию иметь простой и удобный редактор с табами.
Кроме того, можно создать несколько конфигураций разные задачи, и в тоже время иметь под рукой легковесный редактор для правки всякой мелочевки.
А вот потом уже можно сравнить фичи, скорость, потребление памяти, и обнаружить, что уже не все так однозначно.
Вот что устаканится лет через сто, то и примем за правильный вариант.
Для разнообразия, возьмите более сложную систему типа навороченного фазового детектора: там будет и память, и машина состояний, и обработка ошибок.
Тем не менее, описание на верилоге может быть как «скомпилировано» в кремний, так и исполнено на интерпретаторе (симуляторе), или преобразовано в подпрограмму обработки прерываний, скажем, мелкого МК.
Почему нет? Если абстрагироваться от конкретного применения, то аппликация есть один из способов описания программы для специфичной реализации в кремнии на очень низком уровне. Для примера можно привести всякие блок-схемы, UML и прочее графическое представление из области «большого» программирования.
Я ценю ваши минусы.
Мой комментарий касался исключительно тракта воспроизведения, который должен быть максимально чистым и не вносить дополнительных артефактов. Если отдельному индивидууму для восприятия требуются дополнительные шумы и искажения, то он всегда может использовать дополнительную обработку по своему усмотрению.
Вопросы мастеринга, это отдельная большая (и больная) тема. С моей стороны речь идет о формате записи.