Как стать автором
Обновить

Комментарии 20

Уж извините. Сочетание «С железом дружу хорошо.» и «Но я не знаю Си! Вообще. Всю жизнь писал только на Pascal/Delphi.»
Сразу вызывает когнитивный диссонанс.

Программирование микроконтроллеров и «С/С++» — «синонимы» уже давно.

Статья заинтересовала только как «удаление гланд через анальное отверстие».

С каких пор «дружу с железом» — всенепременно программирование микроконтроллеров?
В статье ни слова о другом контексте жаргонизма «железо» (аналоговые/цифровые схемы и пр.).
Только контекст микроконтроллеров.
Учитывая, что человек говорит о МК как об «одном проекте», это что-то иное. Вот, мой пример: увлекался радиолюбительством, собирал множество аналоговых устройств. Скоро собираюсь собрать и наладить радиолюбительский Радио86-РК. Для этого тоже надо «дружить с железом». но там Си и близко нет — голый Intel 8080 ассемблер.
> Скоро собираюсь собрать и наладить радиолюбительский Радио86-РК.

В 89 году, использовал кросс С (MS DOS) для сборки программ на Z80.
Кажется там был вариант и для 8080 набора команд.
При наличие доступных корпусов Z80, использовать более дорогие (на тот момент) 8080 необходимости не было.

Но… простите, в 2015 году собирать что то на 8080. Хотя и писать на ассемблере для него как раз в русле темы «собрать и наладить радиолюбительский Радио86-РК».
Можно еще и ламповый телевизор спаять по схеме из журнала Радио…

Не осуждаю и не критикую, просто не понимаю.

В 89 году, использовал кросс С (MS DOS) для сборки программ на Z80.
Кажется там был вариант и для 8080 набора команд.

Да, у меня есть этот компилятор. Но это «кросс», это «не честно». А целиком в 32 Кб ОЗУ он не поместится.

При наличие доступных корпусов Z80, использовать более дорогие (на тот момент) 8080 необходимости не было

Зато 580ВМ80А — под рукой.

Не осуждаю и не критикую, просто не понимаю.

Люблю ретро. Это просто разминка, потом буду собирать следующий ПК собственной конструкции, для т.н. demo.
Это просто был пример «железа».
«Удаление гланд» — это из личного опыта?
Не обижайтесь, но есть вещи, где С (в любой его реинкарнации) вызывает, как уже говорил кто-то ниже, бешеную потерю времени на отладку. У Вас оно есть — я рад. Высказывание Шерлока Холмса помните? Ему было все равно, Земля вращается вокруг Солнца или наоборот. Для его работы это знание бесполезно. На его чердаке не свалена куча бесполезного хлама (пару версий компиляторов или библиотек, зачастую не работающие при смене версии языка или окружения), а есть только набор всего необходимого, но в безукоризненном порядке.

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

И не все железо — это С. Есть вещи, где либо ассемблер (я их знаю 8), либо еще попроще (переключатели).
Если бы я не сопровождал и не разрабатывал практически каждый день на работе (а данное время):
1. C (ПО платежных терминалов, которое лень/нет смысла на C++ переводить)
2. C++ (сервисы Windows + сервисы Unix + FM модуль SafeNet HSM + АРМ curses Unix)
3. PL-SQL функционал для Unix сервисов и Web.
4. python для скриптов
5. Java (Swing приложения + Web (SOAP) сервисы + Web gwt + JavaCard)

и не работал раньше с lisp (Autocad), fortran, perl, v.basic и Pascal (Delphi) довольно долго, то может и захотел бы продолжить этот спор.

А так — какая мне разница. Пишите на чем хотите. Меня забавляют выступления апологетов конкретных языков программирования.

Лично мне все равно какой язык использовать. Принципы везде одинаковы. Программирование это не знание конкретного языка…

А данном же контексте — тратить время на поиск экзотичного компилятора вместо того что бы потратить час на то что бы глянуть на синтаксис С!
Все же С++ не так уж от Object Pascal отличается, а C вообще прост.
Для ARM (STM32) вообще C++ в принципе не использую. Не так уж там много ОЗУ, что бы на динамическую память тратить.

Область Pascal==Delphi ограничена исключительно тем, на что мертвый Borland обращал внимание. Отсюда и порядок. Как на кладбище!

P.S. насчет слабоумия — это вы мой пост с каким то другим перепутали…
Вы меня то же с кем-то перепутали. Я не заставляю писать на чем-то одном.
Мое «детство» в программировании началось с блок-схем. Потом ушло в Бейсик, в классе 8-м (BBС-ий больше всего нравился, хотя выучил штук 6 диалектов — благо литература была, хоть и при СССР). Да и матчасть (ДВК-1/2 и Искра-1030 позже) не особо позволяла. А вот на низком уровне писать приходилось чаще — ЕС/СМ. Потом в институте пригодилось — старый плоттер подключили к 286-й — и чертежи на диплом не надо рисовать.
Потом были PDP и НР, micro VAX (создание терминала).
Довелось работать и на аналоговых машинах (вот вам настоящая ОС РВ).
Кассовые аппараты, терминалы — только ASM. Иначе потом в коде получаются пустоты и многочисленные лишние телодвижения на сотню-другую тактов (в лучшем случае), а в некоторых сферах это не применимо.
Писал на С, Prolog'e, Яве, Графорте. Баловался Модулой и Адой.
И поэтому я не ратую ни за один из языков. И тех, что описал, и тех, на которых сейчас пишу/сопровождаю. У каждого — своя ниша.
Но я не знаю Си! Вообще. Всю жизнь писал только на Pascal/Delphi. Учить язык? Вы пробовали учить язык когда вам более 40 лет возраста?

Ни прибедняйтесь! После Pascal на C вы перейдете без проблем и в 60. Ведь речь не о Lisp и не о Haskell.

Причем это сделать полезно — меньше риск развития слабоумия в старости.
Что вы накинулись на человека со своим «Си»? Он просто дал иной способ написания кода. И сделал это блестяще!
Автору спасибо за интересную статью и ждём продолжения!
Поддерживаю. Перед автором стоит инженерная задача, для решения которой у него есть ресурсы, в том числе время. При наличии знакомого инструмента, который позволит решить ту же задачу, тратить время на изучение неизвестного для разовой работы просто потому что так принято — нерационально.
Помнится, был еще Бейсик, от этой же конторы…
Он и щас есть (в моём случае для AVR). С удовольствием пишу в BASCOM и не нарадуюсь, что он ещё развивается.
Хотя знаю и «Cи». Но часто, например, проще, быстрее и приятнее написать 2 строчки в Basic, чем кучу непонятного кода в «Си», а потом ловить пол дня ошибки.
Что-то код в листингах плохо скопировался/вставился — всё в одну строку.
Неужели нельзя было проверить/поправить перед постингом статьи?
Вы не поверите — тщательно «вылизал» и проверил. Но это моя первая статья. Пока статью не одобрят — я её не вижу. При редактировании — все красиво. А при публикации совершенно неожиданно вылезла эта проблема.

Спасибо за сообщение — подправил страницу для правильного отображения кода.
Так гораздо лучше! ))
Не нравится Си — есть Rust.
Все равно что-то придется учить — Паскаль безнадежно устарел.
Ещё раз спасибо за статью! Открыл для себя MikroBasic ARM. Улётная вещь! Прощайте сотни строк ST-шного пестрящего кода! Теперь я могу думать над идеей устройства, а не ломать голову «Си» и сотней глючных h-файлов. Таким и должен быть язык программирования.
Сотней глючных h-файлов? Надеюсь, это была шутка.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.