[an error occurred while processing this directive]
(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Рэйлвэй_Каген 29 августа 2006 г. 11:31
В ответ на: Концепция нового языка программирования для MCU (in engl.) отправлено eugeneh 29 августа 2006 г. 09:38

1. "ограниченные возможности существующих средств разработки" - обычно это от недостатка времени и желания внимательно изучать документацию на применяемые cpu/mcu/ide.

2. выразить все ассемблерные команды на с, рascal и т.д. (с шарпом или без) конечно можно, на то они и языки высокого уровня, но теряется смысл и целостность(sic!) исходной концепции языка высокого уровня.
Поясню:
а. программер пишет WaitForSingleObject, эмбеддер пишет прерывание;
б. программер пишет delay, эмбеддер юзает таймер или пишет цикл, ну или "nop;nop;nop" - на худой конец.

Разница сохранится до тех пор, пока не появится эффективный непротиворечивый транслятор аппаратных ресурсов применяемого cpu/mcu + индивидуальной периферии разработчика в какую-то общую для всех разработок(sic!) модель, понимаемую компилятором. При этом модель, по всей видимости, должна заниматься разделением ресурсов зависимости от использования их компилятором(см. п.2.б. - кто решит юзать таймер или цикл в конкретном месте программы?). Попробуйте представить программирование на языке высокого уровня хотя бы для сотни разных типов/архитектур компов. Противно, да? Именно конечному разработчику придется добивать в модель свою периферию, исправлять чужие ошибки
и добавлять свои.. В общем получается неоправданное размножение возможных ошибок, да и квалификация разработчика потребуется более высокая.
Вывод: пришли к обратному - хотели заменить эмбеддера программером, а получили, что ни тот, ни другой не смогут без дополнительной подготовки выполнять прежнюю работу. Какой там нафиг бизнес, чистое искусство осталось :)
Поэтому появляются и будут появляться подобные концепции, представляющие по сути не языки высокого уровня,
а макро-языки - т.е. эмуляторы ассемблера на c,java,pascal и т.д. Определенный смысл в этом, конечно есть - человеку, уже писавшему на языке высокого уровня становится легче переключится на эмбеддерство.

3. этим грешат почти все опенсорсные модели языков высокого уровня - не надо смешивать объектный и процедурный типы в пределах одного контекста: myfile[mybit] и myfile.test (правильнее было бы myfile.bits[mybit])

4. разбираться в художественных изысках английского нет желания, зато есть предложение постить в конфу на японском =)

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание