Основной недостаток программирования на С-большой код

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

sema писал(а): вообще-то если брать начинающего, то код на асме у него получится ничуть не меньше чем на си (на си наверное даже меньше). причина проста - запомнить все команды (мнемоники) асемблера с ходу + одновременно разобраться с железом = отобьт всякое желание у большинства разобраться до конца.
О чем я и говорил, 99,9% начинающих (что само собой подразумевает определенный возрастной порог) пишут на Си.
И что меня больше всего добивает в подрастающем поколении - полное нежелание самообразовываться, не у всех конечно, но уж больно часто мне попадались как раз те что не хотят.

Ради прикола придется Си освоить, чтобы не быть динозавром :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

ARV я же писал:
Посмотрю я тогда на "абстрагировавшихся" от железа.
Вас я знаю с другой стороны.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср апр 16, 2008 13:22:54
Откуда: Приднестровье, Тирасполь

Сообщение Goodefine »

GP1 писал(а): О чем я и говорил, 99,9% начинающих (что само собой подразумевает определенный возрастной порог) пишут на Си.
И что меня больше всего добивает в подрастающем поколении - полное нежелание самообразовываться...
Да кто же Вам сказал, что писать сложные программы на Си легко? И любой начинающий берет так запросто и пишет... Программы начинающих видны сразу - как правило все в одном файле, нет модульности, много ненужных глобальных переменных, прямолинейный код, отсутствие полезных квалификаторов, практически не используются указатели, алгоритм далек от оптимальности, использование плавающей арифметики без нужды, гигантские обработчики, неумение разложить одну задачу на несколько и увязать их, использование малой доли возможностей языка... Список можно продолжать. Это от языка не зависит. Только от способа мышления. Есть такой стиль написания на Си - как на Асм. Куча goto, меток, нет модульности, сплошная каша... Обычно так программеры переходят с ассемблера на Си. Это ужас а не программы. Неудивительно что они потом возмущаются, что писать столько же, да еще и код большой. Писать надо уметь. Силу и элегантность языка надо прочувствовать... А когда переход обратный - с Си на Асм, тут совсем другая картина, в коде порядок...
Насчет само образовываться - как раз Си и помогает идти дальше, учиться видеть грань между инструментом и задачей.
Те программисты, которые утверждают что портирование кода на асм, занимает почти столько же времени, вероятно серьезного ничего не писали. Поднимите хотя бы простенький web-сервер на новой платформе, даже если асмовский исходник будет, для другого семейства..
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Мудрый кот
Аватара пользователя
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород

Сообщение sema »

GP1 писал(а):
sema писал(а): вообще-то если брать начинающего, то код на асме у него получится ничуть не меньше чем на си (на си наверное даже меньше). причина проста - запомнить все команды (мнемоники) асемблера с ходу + одновременно разобраться с железом = отобьт всякое желание у большинства разобраться до конца.
О чем я и говорил, 99,9% начинающих (что само собой подразумевает определенный возрастной порог) пишут на Си.
И что меня больше всего добивает в подрастающем поколении - полное нежелание самообразовываться, не у всех конечно, но уж больно часто мне попадались как раз те что не хотят.
вообще то я имел в виду другое - стартовать проще на си, а после этого если поймешь что это твое, что оно тебе нужно, уже копать глубже. если понимаешь как работает железо и как работает компилятор то объем hex-са практически не зависит от языка программирования :wink:
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

ARV писал(а): получил массу дельных советов, после которых проект стал на 2% меньше, чем был при "старом" компиляторе! и этот процесс (оптимизация всеми средствами) не менее увлекателен, чем ассемблерные изыскания :) так что любителям искать оптимум рекомендую искать его и в Си :)))
даже в холиварных темах можно извелечь профит
чего там тебе такого подсказали?
я вот несколько лет назад заменил цикл for на while и выиграл 56 байт в гцц
был в шоке
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18786
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

ну, на счет for <--> while я не могу утверждать категорично, но по-моему в настоящее время при одинаковых исходных условиях повторяемости цикла GCC делает абсолютно идентичный по размеру код (и иногда даже по командам асма).

а посоветовали мне ряд ключиков компилятора, которые иной раз очень сильно влияют на результат. в GCC же ключей оптимизации столько, что все их даже перечислить непросто :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»