Нил Гейман, вообще весь. Американские боги уже упоминались, от себя добавлю Никогде (или Задверье, в другом издании) и Звезная пыль. Жанр: современная сказка.
Добавлю ещё, что я совсем не против плюсов, в случаях, когда:
1. Позволяют ресурсы памяти
2. Код получается более простым и ясным, чем на С, а не наоборот.
Это так, если вам критичны микросекунды скорости отклика на прерывание. В моих приборах такой задачи не стояло, поэтому я листингов специально не смотрел, и даже если компилятор кладёт все регистры на стек, то и пусть себе. Хотя ассемблерный листинг в IAR виде сразу же при запуске, и проблем с его просмотром нет никаких. К тому же IAR имеет очень интеллектуальный оптимизатор.
Задачи, требующие очень быстрой и предсказуемой до такта реакции, лучше решать на DSP, и там реально имеет смысл писать на асме руками (особенно простые, но очень быстрые алгоритмы).
Если вы пишете под микроконтроллер без ОС, на «голом железе», то вы имеете полный контроль над оборудованием и на С и на С++, т.к. все регистры, отображаемые на память, доступны. Если проект пишется под какую-либо ОС (RTOS), то часть аппаратных ресурсов может быть занята системой, и они могут быть не доступны напрямую, опять же независимо от языка.
Что касается документации, я придерживаюсь идеи самодокументируемого кода, то есть все переменные должны иметь ясные и развёрнутые имена, алгоритм должен ясно прослеживаться, никакого спагетти-кода. На ассемблере следовать этим принципам затруднительно.
На С++ оверхэд есть, и большой, я с трудом впихал свой проект в память Cortex M3 (LPC1768), хотя предыдущая версия, написанная на С, размещалась без проблем. Больше всего был расход ОЗУ: кучи и стека, их С++-программа ест гораздо больше чистого С.
А ассемблер — зло. Неподдерживаемый и немодифицируемый код.
Утверждение 1: «есть электронные градусники»
Утверждение 2: «точность измерения у таких устройств оставляет желать лучшего.»
Утверждение 3 «точность этого устройства весьма высока»
Мне одному кажется, что здесь нарушена логика?
Термометр на MSP430F2013, 16-битный сигма-дельта АЦП.Для доктора физмат. наук как-то простенько, не находите?
Смотрю на прайс нашей «Техносвязи», и не понимаю, откуда взялись цены, написанные в посте. Разве что за срочность? Но я бы, например, подождал бы две недели вместо одной, зато изготовление существенно дешевле.
1. Позволяют ресурсы памяти
2. Код получается более простым и ясным, чем на С, а не наоборот.
Задачи, требующие очень быстрой и предсказуемой до такта реакции, лучше решать на DSP, и там реально имеет смысл писать на асме руками (особенно простые, но очень быстрые алгоритмы).
Что касается документации, я придерживаюсь идеи самодокументируемого кода, то есть все переменные должны иметь ясные и развёрнутые имена, алгоритм должен ясно прослеживаться, никакого спагетти-кода. На ассемблере следовать этим принципам затруднительно.
Писать на асме не стоит затраченных усилий.
А ассемблер — зло. Неподдерживаемый и немодифицируемый код.
Заранее спасибо.
Утверждение 2: «точность измерения у таких устройств оставляет желать лучшего.»
Утверждение 3 «точность этого устройства весьма высока»
Мне одному кажется, что здесь нарушена логика?
Термометр на MSP430F2013, 16-битный сигма-дельта АЦП.Для доктора физмат. наук как-то простенько, не находите?