Не, ну так-то можно погуглить про программные ошибки, приведшие к жертвам и/или катастрофам.
Получается чисто эмоциональное сравнение профессий. Или посыл что профессия программиста переоценена? Да нет, тогда получается что другие профессии недооценены.
Да и вообще, у людей разный психический склад - значит есть предрасположенность к разным сферам деятельности, что хорошо для популяции в целом.
Я не понял, что вместо floating point предлагается? Не понятно, какое требование к языку предлагается предъявлять - писать математику не зная вычислительной математики? Современные программисты не могут порядок вычисления явно написать и с NaN справиться, язык за них должен думать?
С давнего времени использую кольцевые буфера. Функция write, если uart свободен, пишет в него, остальное в кольцевой буфер, если занят то все в кольцевой буфер, в функции запрещается прерывание только от этого uart. И забываем, дальше в прерывании буфер постепенно выгребается в железо. Размер буфера прикидывается из интенсивности обмена, если критично, то перед записью проверяем свободное место в буфере (при подобранном размере буфера переполнение практически невозможно, если только не превысить пропускную способность на данной скорости). Логи из других прерываний пишу только во время низкоуровневой отладки, да и то редко когда они дерутся между собой. А так - в прерывании ставим флаг - пишем только в фоне, в критической секции запрещаем не глобально, а конкретное прерывание. И никаких блокирующих функций!
Можно посмотреть движение колёсной техники на бездорожье. Потом посмотреть движение козликов по скалам. И бесперспективность колеса в живой природе будет очевидна.
Проблему отвода тепла, сконцентрированного на оси, кстати, рассматривали?
Есть явление в буквенной кириллической записи чисел, одинаковые по написанию и названию большие числа в "малом" и "великом" (тьма, легион итд) счёте отличаются на порядки.
По крайней мере, при первом упоминании термина и в списке терминов приводить типичные переводы.
И, если используются русскоязычные (хотя насколько "исконно русские" некоторые слова - это ещё та филологическая хохма), то выдерживать терминологию во всей книге. Чтобы boot и load, thread и stream явно обозначались разными словами.
И вообще, что плохого в англицизмах, если в русском словаре "измов" чуть ли не большинство.
Прям дежавю :) С COM-портами в былинные времена так извращались, то модемные линии как эрзац-GPIO использовали, то вообще "лишние" контакты не по назначению использовали (например, +5V подвести) :)
1 можно выбрать удобное внутреннее представление (те же секунды от некой эпохи), а пользователю пересчитывать в удобный для него формат. Сфер деятельности много и для каждого могут быть удобны разные представления.
2 есть ещё, например, "юлианская дата" - целая часть - сутки от начала эпохи, дробная часть - время внутри суток (час равен 1./24. итд). Смена суток в полдень (удобнее для классической астрономии).
3 увязка года, суток и атомной секунды совсем не тривиально и изменяется во времени, причем пока не предсказуемо.
Изучение явлений в движении (развитии) как раз фишка диамата. Хотя, любая философия, конечно, занимается фундаментальными законами мира, но каждая со своей колокольни.
Почему кривая блеска звёзды с экзопланетой - чистая синусоида? Там же довольно характерный сигнал по которому и можно предположить проход по диску в отличии от процессов другой природы.
Не, ну так-то можно погуглить про программные ошибки, приведшие к жертвам и/или катастрофам.
Получается чисто эмоциональное сравнение профессий. Или посыл что профессия программиста переоценена? Да нет, тогда получается что другие профессии недооценены.
Да и вообще, у людей разный психический склад - значит есть предрасположенность к разным сферам деятельности, что хорошо для популяции в целом.
Я не понял, что вместо floating point предлагается? Не понятно, какое требование к языку предлагается предъявлять - писать математику не зная вычислительной математики? Современные программисты не могут порядок вычисления явно написать и с NaN справиться, язык за них должен думать?
С давнего времени использую кольцевые буфера. Функция write, если uart свободен, пишет в него, остальное в кольцевой буфер, если занят то все в кольцевой буфер, в функции запрещается прерывание только от этого uart. И забываем, дальше в прерывании буфер постепенно выгребается в железо. Размер буфера прикидывается из интенсивности обмена, если критично, то перед записью проверяем свободное место в буфере (при подобранном размере буфера переполнение практически невозможно, если только не превысить пропускную способность на данной скорости). Логи из других прерываний пишу только во время низкоуровневой отладки, да и то редко когда они дерутся между собой. А так - в прерывании ставим флаг - пишем только в фоне, в критической секции запрещаем не глобально, а конкретное прерывание. И никаких блокирующих функций!
А HAL, значит, "доверенный код?
"Ррррр"?
Можно посмотреть движение колёсной техники на бездорожье. Потом посмотреть движение козликов по скалам. И бесперспективность колеса в живой природе будет очевидна.
Проблему отвода тепла, сконцентрированного на оси, кстати, рассматривали?
Кабан такой: "О, на этом участке камеры - не пойду сюда" :)
Есть явление в буквенной кириллической записи чисел, одинаковые по написанию и названию большие числа в "малом" и "великом" (тьма, легион итд) счёте отличаются на порядки.
А зачем своя функция чтения если можно стандартный memcpy() ? Тем более если размер не кратный 4, то хвост структуры не перепишется.
Так вроде запрещённого ничего в этом блоке нет :)
Картина маслом - кто-то открывает исходник, видит там b32 и, матеря автора, лезет в заголовочник, чтобы понять, что автор имел в виду.
const - по крайней мере в embedded вещь нужная.
Про возврат структур.
Вариант раз:
bool foo(int *dst, int src);
int dst;
if(foo(&dst, src))
{
}
вариант два:
typedef struct
{
bool ok;
int dst;
} EX_DST;
EX_DST ex_dst;
EX_DST foo(int src);
ex_dst = foo(src);
if(ex_dst.ok)
{
}
Мне кажется вариант с возвратом структур по всем параметрам сложнее - и по размеру исходного кода, и объектного.
Что толку от территории, если развалили в первую очередь экономику.
По крайней мере, при первом упоминании термина и в списке терминов приводить типичные переводы.
И, если используются русскоязычные (хотя насколько "исконно русские" некоторые слова - это ещё та филологическая хохма), то выдерживать терминологию во всей книге. Чтобы boot и load, thread и stream явно обозначались разными словами.
И вообще, что плохого в англицизмах, если в русском словаре "измов" чуть ли не большинство.
Прям дежавю :) С COM-портами в былинные времена так извращались, то модемные линии как эрзац-GPIO использовали, то вообще "лишние" контакты не по назначению использовали (например, +5V подвести) :)
1 можно выбрать удобное внутреннее представление (те же секунды от некой эпохи), а пользователю пересчитывать в удобный для него формат. Сфер деятельности много и для каждого могут быть удобны разные представления.
2 есть ещё, например, "юлианская дата" - целая часть - сутки от начала эпохи, дробная часть - время внутри суток (час равен 1./24. итд). Смена суток в полдень (удобнее для классической астрономии).
3 увязка года, суток и атомной секунды совсем не тривиально и изменяется во времени, причем пока не предсказуемо.
Так я не понял, Миландр производит 1986ве92 или нет? А то информация была что накрылось все.
Изучение явлений в движении (развитии) как раз фишка диамата. Хотя, любая философия, конечно, занимается фундаментальными законами мира, но каждая со своей колокольни.
Почему кривая блеска звёзды с экзопланетой - чистая синусоида? Там же довольно характерный сигнал по которому и можно предположить проход по диску в отличии от процессов другой природы.
Разница порядков для плавающей точки существенно влияет на сложение, при умножении шумит только самый младший бит.
А как .rc прикручивать к Линуксу?