[an error occurred while processing this directive]
Нет, уважаемый, любой серьезный язык программирования основан на строгой формальной модели.
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено Oldring 08 марта 2005 г. 16:10
В ответ на: Блин, опять ж... С угловыми скобками траблы... (+) отправлено dxp 08 марта 2005 г. 11:50

С++ - не исключение. Его модель не всегда была стандартизована, но, даже в самом начале развития языка, либо все детали были четко описаны, либо были очевидны _на основе_ теории, разработанной задолго до создания С++ - начиная с Фортрана и Алгола, и на основе существовавшего тогда достаточно подробной спецификации Си. И, кстати, со временем С++ не утратил той красоты, которая ему была присуща с самого начала. Другое дело, что он разросся, возможно, чрезмерно, и требование совместимости с С с самого начала породило ряд компромиссов, которых лучше бы в плюсах не было. В старой литературе встречается мнение, что очень популярный в 70-х PL-I со временем так оброс всевозможными "удобствами", что им совершенно стало невозможно пользоваться. Вам это ничего не напоминает? Да и для некоторых новых областей применения (разработка COM-компонент) плюсы оказались не вполне предназначенные - конечно, COM-объекты можно писать на плюсах, и очень многие пишут - но без встроенной поддержки COM в язык как-то слишком много времени тратится на нормальное обслуживание требований к COM интерфейсам.

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

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

И немного о программировании вообще. Конечно, жесткий менеджмент программных проектов является обязательным для их успеха. Но тут опять возникает компромисс. Для того, чтобы программист со знанием плюсов и некоторым опытам работы на нем начал писать так, как требуется в жестко администрируемом проекте - необходимо его обучение. Такое обучение стоит денег. Точно так же, как в хорошем языке программирования должны быть инструменты, позволяющие программировать безопасно, в хорошем языке программирования должны быть средства для обеспечения качества в рамках проекта с разумными затратами. Мне рассказали, что писатели игрушек в последнее время перешли с плюсов на Java - потому что разработка с приемлемым качеством получается дешевле в _несколько раз_. Да, плюсы - очень мощный инструмент, но во многих случаях его мощь обходится слишком дорого. Кстати, автомобиль без ремней безопасности эксплуатировать запрещено.

Что касается шаблонов - взгляните, например, на исходники класса basic_string в седьмом MSVC и скажите, какие методы требуются у параметра этого шаблона _Traits? И при отсутствии каких из них какие методы basic_string не будут компилироваться? Сложно? А все потому, что нет никакого средства типизации параметров шаблонов. Perl, кстати, тоже довольно популярный язык.

Я не оспариваю, что Verilog и VHDL первоначально создавались как язык моделирования логического железа, а не его синтеза.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru