[an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено dxp 08 марта 2005 г. 19:22
В ответ на: Нет, уважаемый, любой серьезный язык программирования основан на строгой формальной модели. отправлено Oldring 08 марта 2005 г. 16:10


[...]

Oldring> И, кстати, со временем С++ не утратил той красоты, которая ему была
Oldring> присуща с самого начала. Другое дело, что он разросся, возможно,
Oldring> чрезмерно,
Oldring> и требование совместимости с С с самого начала породило
Oldring> ряд компромиссов, которых лучше бы в плюсах не было.
Oldring> В старой литературе встречается мнение, что очень популярный
Oldring> в 70-х PL-I со временем так оброс всевозможными "удобствами",
Oldring> что им совершенно стало невозможно пользоваться. Вам
Oldring> это ничего не напоминает?

С++ устроен так, что от пользователя совсем не требуется знать его весь,
тащить все его средства. Наличие RTTI, исключений мне совершенно не мешает при
работе с МК. Хотя тамошние компиляторы и не поддерживают этих средств. Но даже
если бы и поддерживали, то это бы ничего не изменило. Вся эта "толстость"
просто предъявляет требования к производителям компиляторов, которые должны все
это реализовывать. Но существует немало реализаций (в основном для embedded),
где прямо сказано, что, например, RTTI и исключения не реализованы. И это
никому не мешает. Можно, конечно, сказать, что это тогда не С++, но от этого
все равно ничего не меняется.

Oldring> В случае с SystemC ситуация несколько иная. Насколько
Oldring> я могу судить по доступным мне документам, пока что
Oldring> нет ни четкого описания языка, ни теории, на основе
Oldring> которой решения были бы вполне очевидны. Я так понял,
Oldring> что Вы говорите "пусть, формальной теории нет - но я
Oldring> пятым чувством чувствую, что по С++ программе можно
Oldring> породить эффективное железо". Так вот, этого пятого
Oldring> чувства - мало. Бет четкой теории в программировании
Oldring> конфетку не сделаешь - обязательно выйдет говно.

Нет, я не такого не говорил. :) Т.е. я не говорил ни про "пятое" чувство
(кстати, почему пятое? Основных и так пять, обычно называют шестое или даже
седьмое :), ни про "программу на С++, по которой породить эффективное железо".
Я говорил лишь то, что написано в читанной мной документации по SystemC, а
именно, что на основе языка С++ создается описание системы параллельно
работающих процессов. Наподобие многозадачной ОС. Теперь стоит лишь задача
имплементировать эту систему в железе.

Oldring> Простите, но когда дела касается вопроса, можно ли описывать
Oldring> SystemC процесс в виде наследования - то это Вы как
Oldring> поборник решения должны привести цитату из спецификации
Oldring> SystemC, где бы явно утверждалось, что можно. Я, например,
Oldring> не видел достаточно детального документа, в котором
Oldring> бы описывался синтез SystemC конструкций. Если же такой
Oldring> цитаты нет, а есть только примеры, в которых используются
Oldring> макросы - то, извините, это означает ровно одно: разработчики
Oldring> SystemC не довели свою идею до состояния, при котором
Oldring> этот инструмент допустимо использовать в мало-мальски
Oldring> серьезном проекте. И доведут ли когда-либо до такого
Oldring> состояния - неизвестно.

Формально Вы правы, если четко не сказано, что так можно, то все догадки
остаются догадками. Но в равной степени Вашу вышеотквоченную цитату сентенцию
можно (и должно :) применить к Вашему же утверждению, что описание задается с
помощью макросов препроцессора. В моем распоряжении было только User Guide и
FuncSpec. В этих документах не рассматривается синтез и ничего не сказано про
синтезируемое подмножество. Но достаточно примеров, где тот же sc_module
используется напрямую, как базовый класс для пользовательских. Т.е.
препроцессор тут не при чем. Оно и понятно - ведь на основе этого описания
реализуется моделирование программными средствами, т.е. это описание должно
успешно компилироваться и порождать работающий исполняемый файл.

Насчет того, как воспринимает синтезатор имена с префиксом sc_, можно долго
гадать, но это занятие бессмысленное. Надо либо найти документ, четко
специфицирующий синтезируемое подмножество, либо хотя бы разведать, как делает
живой синтезатор. Самое простое - это попросить SM проверить этот момент.

[...]

Oldring> Мне рассказали, что писатели игрушек в последнее время перешли с
Oldring> плюсов на Java - потому что разработка с приемлемым качеством
Oldring> получается дешевле в _несколько раз_.

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

Oldring> Да, плюсы - очень мощный инструмент, но во многих случаях его мощь
Oldring> обходится слишком дорого. Кстати, автомобиль без ремней безопасности
Oldring> эксплуатировать запрещено.
Все пронизано компромиссами. С++ не заставляет вас пользоваться никакими
его средствами против вашей воли. Если средство не устраивает, не используйте
его. Вообще, эта нить обсуждения (про ЯП и их достоинства/недостатки), имхо, не
очень по теме конфы и чревата флеймом, которого бы ни в коем случае не хотелось
бы. :)


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

Ответы


Отправка ответа

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

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

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru