|
Выбор пути ... Assembler или C ? |
|
|
|
Mar 3 2008, 19:02
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457

|
Всем добрый день! Недавно начал осваивать микроконтроллеры фирмы ATMEL. Первое с чем имел дело - AT90S2313, теперь перешёл на ATmega. Проэкты в основном небольшие (думаю это времено), пользуюсь AVR Studio. Язык, который использую - assembler. Часто посещаю форум, и особо часто попадаю на программы написанные на С. Так вот, хочу задать вопрос всем, кто чувствует себя уже уверенными пользователями обоих языков, вы не могли бы обьяснить начинающему:
1. почему люди переходят с assemblera на C? 2. какие плюсы и минусы языка С? 3. где без языка С нельзя обойтись? 4. лично ваше мнение относительно обоих? (ненормативная лексика принимается:-) Всем, кто отзовется, заранее благодарен!
|
|
|
|
|
 |
Ответов
|
Mar 4 2008, 07:10
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(rv3dll(lex) @ Mar 4 2008, 08:42)  на си этого сделать нельзя, задачи подобного рода не решаемы Ну, это и на тираж предполагаемый смотреть надо... Если ожидаемый тираж пусть 1000 штук, зарплата программиста пусть 1000 баксов, протолчётся на асме считая такты он пусть лишний месяц - итого можно спокойно брать процессор на 2 бакса дороже и спокойно писать на С. Это будет как минимум не убыточно (затраты на программиста больше получаемой им зарплаты, надо ещё о сопровождении подумать). Числа можно двигать туда-сюда и думать, стоит ли оно того. А также не мешает проштудировать "историю одного байта" и подумать о том, что время сейчас несколько другое, если вдруг плнадобится не 256, а 320 раз в секунду или не с 12 а с 16 каналов - разрабатывать всё заново? Конечно, есть крайние случаи - типа такого: тираж предполагается 10000/месяц, среднерыночная цена изделия так мала, что каждый цент на счету, из соображений потребления и быстродействия приходится каждый такт экономить - и это всё одновремённо. Но что-то мне говорит, что в большинстве случаев это не так, на асме пишется по привычке/из любвы к искусству и можно или всё написать на С, или только критические 5% написать на асме.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Mar 4 2008, 08:54
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(ReAl @ Mar 4 2008, 10:10)  Ну, это и на тираж предполагаемый смотреть надо... Если ожидаемый тираж пусть 1000 штук, зарплата программиста пусть 1000 баксов, протолчётся на асме считая такты он пусть лишний месяц - итого можно спокойно брать процессор на 2 бакса дороже и спокойно писать на С. Это будет как минимум не убыточно (затраты на программиста больше получаемой им зарплаты, надо ещё о сопровождении подумать). Числа можно двигать туда-сюда и думать, стоит ли оно того. А также не мешает проштудировать "историю одного байта" и подумать о том, что время сейчас несколько другое, если вдруг плнадобится не 256, а 320 раз в секунду или не с 12 а с 16 каналов - разрабатывать всё заново?
Конечно, есть крайние случаи - типа такого: тираж предполагается 10000/месяц, среднерыночная цена изделия так мала, что каждый цент на счету, из соображений потребления и быстродействия приходится каждый такт экономить - и это всё одновремённо. Но что-то мне говорит, что в большинстве случаев это не так, на асме пишется по привычке/из любвы к искусству и можно или всё написать на С, или только критические 5% написать на асме. тираж был единичный - 3 экземпляра - на самом деле это НИР другой процессор поставить и изготовить новый образец никто бы не дал - ВПК блин - он наверное там до сих пор стоит))) , да и стоимость его была не на 2 доллара больше речь о TMS2406 и TMS2812 5 лет назад они только появились. скорость написания - согласен знаковая арифметика не беспокоит функций навалом можно быстро написать работающий проект не беспокоясь о забытых переменных и LDP
|
|
|
|
|
Mar 5 2008, 08:05
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(rv3dll(lex) @ Mar 4 2008, 10:54)  да и стоимость его была не на 2 доллара больше речь о TMS2406 и TMS2812 5 лет назад они только появились. Ну так я же и говорю, что числа можно двигать. Тираж не 1000 шт, а 300шт - уже $6 разницы незаметно, тираж 100шт - уже $20 незаметно... Просто далеко не всегда это понимает руководство. А иногда и не только руководство. Я сам иногда "да чё там, ну назачем для такой прикидки ставить явно в 4 раза превышащий по ресурсам кристалл", а потом ну не так, чтобы мучаюсь, но неудобство испытываю  . Цитата(singlskv @ Mar 4 2008, 21:22)  что бы вам не говорили местные модераторы  но я пока еще не видел 32бит контроллеров с 6,8,14,20,28 ногами  Luminary Micro LM3S101/102 - 28 ног ARM, LM3S101-IRN20 ARM, 20MHz, 8kB flash, 2kB RAM, 2x32-bit Timers, RTC, 1xCCP, 1xUART, 1xSSI/SPI, 2xCMP, 2..18 GPIO, -40..+85C, 28-pin SOIC В Киеве (Элтис) ~11грн (5.05грн/$) за штуку, <10грн мелкий опт. По поводу велосипед vs мерседес. Ну, С как раз не мерседес. Мерседесы где-то там около питона. С - это склад всякого барахла, из которого можно при нужде по-быстрому слепить то фордик, то "Ниву" какую (уже можно найти на осенних сельских дорогах места, где велосипед и не пройдёт), то танк небольшой. И ехать по асфальту на форде быстрее велосипеда, и по наглухо заросшему кустарником склону (там, где велосипед едет верхом на велосипедисте - с асмом часто такая аналогия бывает) проехать на танке и ещё и после себя дорогу оставить, по которой в сухую погоду и велосипедисты поедут (это я об отладить быстро алгоритм на С, а при нужде выписать критические части на асме). Конечно, железа ;) это всё потребует больше, чем велосипед. Итого я на велосипеде катаюсь (в обеих обсуждаемых смыслах  ) для удовольствия и чтобы тонус не терять. А на работу... На метро  , в это время машины в пробках местами двигаются медленнее пешехода. Это если бы я катался пусть не на уровне участника тур-де-Франс, но где-то близко - то я бы велосипедом зарабатывал, а для развлечения что-то другое придумал бы
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
Сообщений в этой теме
Kalina Выбор пути ... Assembler или C ? Mar 3 2008, 19:02 zltigo Цитата(Kalina @ Mar 3 2008, 22:02)
Для н... Mar 3 2008, 19:15 Vladimir_J Добрейшее время суток!!!
В свое время ... Mar 3 2008, 19:37 SasaVitebsk Вот чисто практические данные.
http://electronix.r... Mar 3 2008, 19:41 Omen_13 Очередная религиозная война назревает?
На асм... Mar 3 2008, 21:03 zltigo Цитата(Omen_13 @ Mar 4 2008, 00:03) Очере... Mar 3 2008, 21:05 Omen_13 zltigo, см. выше!
Добавлю еще:
Асм как язык ... Mar 3 2008, 21:29 Дон Амброзио Цитата(Omen_13 @ Mar 4 2008, 00:29) наско... Mar 3 2008, 22:45 Дон Амброзио ИМХО, ассемблер - это база, которую ДОСКОНАЛЬНО до... Mar 3 2008, 22:31 608 Цитата(Kalina @ Mar 3 2008, 23:02) Всем, ... Mar 4 2008, 07:01 Baser У вас в корне неправильное понимание вопроса: ... Mar 4 2008, 07:13 Dog Pawlowa Цитата(Baser @ Mar 4 2008, 11:13) Вот и в... Mar 4 2008, 07:27 tntsasha Сначала писала на асме. После того как пробывал на... Mar 4 2008, 09:50 researcher По теме:
http://ru.wikipedia.org/wiki/Си_(язык_про... Mar 4 2008, 12:00  zltigo Цитата(researcher @ Mar 4 2008, 15:00) Ту... Mar 4 2008, 16:34 Carbon 1. Си очень сильно экономит время разработки, экон... Mar 4 2008, 15:10 rv3dll(lex) тойота - управляй мечтой
жигули не ссы доедем))))... Mar 4 2008, 16:43 Сергей Борщ Цитата(rv3dll(lex) @ Mar 4 2008, 18... Mar 4 2008, 17:09 Kalina Да, вы меня убедили, что всё-таки С изучать прийдё... Mar 4 2008, 17:27 singlskv Цитата(Kalina @ Mar 4 2008, 20:27) как вы... Mar 4 2008, 19:22 Omen_13 8 битники останутся, только их ниша может сократит... Mar 4 2008, 17:49 vshemm У Си есть еще один большой плюс - портируемость . ... Mar 4 2008, 17:57 DimaD Kalina привет!!! Надо знать и Си, и ас... Mar 5 2008, 07:26 Kalina Цитата(DimaD @ Mar 5 2008, 10:26) Проще т... Mar 5 2008, 08:10  Сергей Борщ Цитата(Kalina @ Mar 5 2008, 10:10) Это оз... Mar 5 2008, 10:19   Kalina Цитата(Сергей Борщ @ Mar 5 2008, 13:19) о... Mar 5 2008, 11:00    Сергей Борщ Цитата(Kalina @ Mar 5 2008, 13:00) Значит... Mar 5 2008, 12:05     zltigo Цитата(Сергей Борщ @ Mar 5 2008, 15:05) ... Mar 5 2008, 12:32      upc2 Цитата(zltigo @ Mar 5 2008, 15:32) Перефр... Mar 5 2008, 12:47 DimaD Приведу пример на тех двух программистах, которые ... Mar 5 2008, 08:34 upc2 Цитата(Kalina @ Mar 3 2008, 22:02) Всем д... Mar 5 2008, 10:46 DimaD Kalin@ смелее переходите на Си. Я уже мигаю светод... Mar 5 2008, 11:24 Kalina Цитата(DimaD @ Mar 5 2008, 14:24) Я уже м... Mar 5 2008, 15:14  Сергей Борщ Цитата(Kalina @ Mar 5 2008, 17:14) Но сам... Mar 5 2008, 15:59   Kalina Цитата(Сергей Борщ @ Mar 5 2008, 18:59) Я... Mar 5 2008, 17:05    singlskv Цитата(Kalina @ Mar 5 2008, 20:05) Проэкт... Mar 5 2008, 18:39     Kalina Цитата(singlskv @ Mar 5 2008, 21:39) Наве... Mar 5 2008, 19:06      singlskv Цитата(Kalina @ Mar 5 2008, 22:06) Сейчас... Mar 5 2008, 19:27  zltigo Цитата(Kalina @ Mar 5 2008, 18:14) Но сам... Mar 5 2008, 17:25 DimaD Цитата(Kalina @ Mar 5 2008, 19:05) С одно... Mar 6 2008, 06:28 mart-13 Цитата(DimaD @ Mar 6 2008, 09:28) Вот име... Mar 6 2008, 07:50 Kalina Цитата(DimaD @ Mar 6 2008, 09:28) по пово... Mar 6 2008, 08:22  zltigo Цитата(Kalina @ Mar 6 2008, 11:22) Но сам... Mar 6 2008, 09:21   Kalina Цитата(zltigo @ Mar 6 2008, 12:21) У как ... Mar 6 2008, 10:05    zltigo Цитата(Kalina @ Mar 6 2008, 13:05) Наскол... Mar 6 2008, 10:25     mart-13 Цитата(zltigo @ Mar 6 2008, 13:25) Нет. И... Mar 6 2008, 10:53      zltigo Цитата(mart-13 @ Mar 6 2008, 13:53) ... Mar 6 2008, 14:41 DimaD Давайте обсудим эту тему и многое другое за ... Mar 6 2008, 08:38 Kalina Цитата(DimaD @ Mar 6 2008, 11:38) Давайте... Mar 6 2008, 08:53 rv3dll(lex) БЛИН если на то пошло всю память 51 контроллера мо... Mar 6 2008, 09:06 Carbon Можно измерять период подсчитывая импульсы аппарат... Mar 6 2008, 12:02 Сергей Борщ Цитата(Carbon @ Mar 6 2008, 14:02) Таким ... Mar 6 2008, 13:05  Carbon Цитата(Сергей Борщ @ Mar 6 2008, 16:05) Е... Mar 6 2008, 14:36 rv3dll(lex) усложню задачу - без использования таймера сложени... Mar 6 2008, 13:23 rv3dll(lex) из своего процессорного опыта - это было по необхо... Mar 6 2008, 17:57 Сергей Борщ Цитата(rv3dll(lex) @ Mar 6 2008, 19... Mar 6 2008, 18:49  rv3dll(lex) Цитата(Сергей Борщ @ Mar 6 2008, 21:35) В... Mar 6 2008, 19:03  Прохожий Цитата(Сергей Борщ @ Mar 6 2008, 21:49) Е... Mar 6 2008, 19:14   Demeny Цитата(Прохожий @ Mar 6 2008, 22:14) К ст... Mar 7 2008, 07:30   mdmitry Цитата(Прохожий @ Mar 6 2008, 22:14) Кодi... Mar 7 2008, 09:04   andron86 Цитата(Прохожий @ Mar 6 2008, 20:14) К ст... Mar 7 2008, 09:16    Прохожий Цитата(andron86 @ Mar 7 2008, 12:16) я бы... Mar 7 2008, 19:51  Kalina Цитата(Сергей Борщ @ Mar 6 2008, 21:49) в... Mar 6 2008, 20:31   Прохожий Цитата(Kalina @ Mar 6 2008, 23:31) Если н... Mar 6 2008, 21:19 Kalina Уважаемые форумчане, большое спаисбо за тот опы... Mar 6 2008, 18:00 Прохожий Цитата(Kalina @ Mar 6 2008, 21:00) Уважае... Mar 6 2008, 18:31 Pyku_He_oTTyda ЦитатаПрохожий
Спасибо! Хороший магазин с демо... Mar 7 2008, 05:14 Algol По поводу эффективного программирования на Си и дл... Mar 7 2008, 07:51 Demeny Цитата(Algol @ Mar 7 2008, 10:51) По пово... Mar 7 2008, 08:17  zltigo Цитата(Demeny @ Mar 7 2008, 11:17) Я плак... Mar 7 2008, 12:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|