Re[2]: Тесты и с++
От: carpenter Голландия  
Дата: 30.08.07 11:29
Оценка:
Здравствуйте, R.O. Prokopiev, Вы писали:


ROP>А если придется переходить на другую железку?

Эт совершенно маловероятно ...

C>>Из реального — мне очень понравился такой метод тестирования —

C>>дали проект , компилер и мсдн и попросили убрать при компиляции все ошибки и
C>>варнинги и сказать свое мнение по части пары классов ( после тестирования меня брали но на предыдущей работе перебили цену).
ROP>Если ищешь работу — ориентируйся не на те тесты, которые нравятся, а на те — которые популярны.
ROP>Вряд ли кто-нибудь будет использовать такой тест, не очень это серьёзно как-то.

Тут я думаю так — что это более реальный способ выяснить что человек знает не теоретически ...
и насколько быстро можно решить проблему первый раз с ней сталкиваясь ..
Там пришлось разгребать хитро...пые ошибки связанные с динамической линковкой длл (ну и не только )

Если немного усложнить тест и привнести багу — дать отладчик и исходники и посмотреть как человек найдет и как
решит — я думаю это покажет более реальные знания и умение обращаться с инструментами чем теоретические тесты ...
ИМХО конечно
Весь мир — Кремль, а люди в нем — агенты
Re[6]: Да пребудет с тобой дукха
От: Erop Россия  
Дата: 30.08.07 11:42
Оценка: 1 (1) :))
Здравствуйте, Smal, Вы писали:

S>Вероятно. Но это дополнительный уровень косвенности. Его тоже надо отлаживать...

А шаблоны, прям вот, не дополнительный?
Только труднее посмотреть "чего там нагенерилось и почему"

ИМХО это такой спциальный способ улучшить скилы в медитации...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: К чорту полумеры!!!
От: Erop Россия  
Дата: 30.08.07 12:01
Оценка:
Здравствуйте, Аноним, Вы писали:

А>По скорости пофиг. Зато как потом будет плеваться человек переделывая ваш код под std::list...

Почему так скромно? От чего не на XXX::BTree?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: Тесты и с++
От: Smal Россия  
Дата: 30.08.07 12:05
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Smal, Вы писали:


S>>Я имел ввиду, что кодогенератор — это тоже отдельный проект, который будет требовать написания, отладки, должной инсталляции и поддержки.

WH>А гора мутных меташаблонов которая очень медленно компилируется и выдает огромные и малопонятные сообщения об ошибках типа написания, отладки и поддержки не требует?
Сами шаблоны отлаживать нет смысла — они уже работают . К тому же, при не котором понимании, шаблоны перестают быть малопонятными.

WH>Про инсталяцию вобще не понял ибо кодогенератор работает на этапе сборки проекта.

Ну, дык, он должен стоять на компьютере каждого разработчика. Хотя, ИМХО, эту проблему я выдумал — можно положить в репозиторий.
Именно так работает у нас один кодогенератор (он правда, почему-то не OCaml-e ).
Правда там средствами языка было не обойтись — нужно генерировать параллельные структуры на C++ и C#.
А тут все можно решать средствами языка. Зачем мучаться с кодогенератором? ИМХО, это лишнее.
С уважением, Александр
Re[9]: Тесты и с++
От: Alexander Pazdnikov  
Дата: 30.08.07 12:09
Оценка:
WH>А гора мутных меташаблонов которая очень медленно компилируется и выдает огромные и малопонятные сообщения об ошибках типа написания, отладки и поддержки не требует?

Есть ли ссылка, где можно посмотреть на реальное использование кодогенератора (желательно для "чайников") или to google?
Re[9]: Тесты и с++
От: Alexander Pazdnikov  
Дата: 30.08.07 12:10
Оценка:
В RTEMS'e используется кодогенератор, только слишком все наворочено, чтобы с этого начинать.
Re[7]: Да пребудет с тобой дукха
От: Smal Россия  
Дата: 30.08.07 12:13
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Smal, Вы писали:


S>>Вероятно. Но это дополнительный уровень косвенности. Его тоже надо отлаживать...

E>А шаблоны, прям вот, не дополнительный?
Под дополнительным уровнем косвенности я подразумевал дополнительное средство разработки.
Т.е. в добавок к компилятору появляется еще одно приложение, которое обрабатывает код.

E>Только труднее посмотреть "чего там нагенерилось и почему"

Некоторые вещи лучше не знать

E>ИМХО это такой спциальный способ улучшить скилы в медитации...

Скилы в медитации, ИМХО, не так уж плохи . Не все же время молотком гвозди забивать.
С уважением, Александр
Re[8]: Да пребудет с тобой дукха
От: Erop Россия  
Дата: 30.08.07 12:21
Оценка:
Здравствуйте, Smal, Вы писали:

S>Под дополнительным уровнем косвенности я подразумевал дополнительное средство разработки.

S>Т.е. в добавок к компилятору появляется еще одно приложение, которое обрабатывает код.

Ну компилятор C++ + boost::mpl -- это тоже подобное приложение. Только не очень удобное, как в работе, та ки в отладке.
Коенчо очень может быть, что на шаблонах написать было легко, а на кодогенераторе трудно, но в описанном случае мне так кажется, что это не тот случай.

E>>Только труднее посмотреть "чего там нагенерилось и почему"

S>Некоторые вещи лучше не знать
Даже если надо отлаживать?

E>>ИМХО это такой спциальный способ улучшить скилы в медитации...

S>Скилы в медитации, ИМХО, не так уж плохи . Не все же время молотком гвозди забивать.
Ну да, особенно если приятно и есть богатый инвестор. От чего бы за его счёт не повтыкать?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[10]: а если серьёзно...
От: Erop Россия  
Дата: 30.08.07 12:25
Оценка:
Здравствуйте, Smal, Вы писали:

S>А тут все можно решать средствами языка. Зачем мучаться с кодогенератором? ИМХО, это лишнее.

Не, ну если вы там медитацией наслаждаетесь, а от разработки простого довольно сишного проекта мучаетесь, и есть деньги на все эти удовольствия, то от чего бы и нет.

А если серьёзно, то свой кодогенератор имеет такое преимущество, что входной язык можно сделать весьма адекватным задаче, что позволит использовать на программировании "метакода" спецов в предметной области, а не в boost::mpl и продвинутых шаблонах C++. Например метакод можно локализовать, или вообще приделать визуальный редактор...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: Тесты и с++
От: Alexander Pazdnikov  
Дата: 30.08.07 12:26
Оценка:
Здравствуйте, WolfHound, Вы писали:

Нашел достаточно простой http://eao197.narod.ru/rucodegen/index.html от eao197

Напрашивается вопрос. Какова выгода от применения таких кодогенераторов, нужно метаязык этого генератора понимать
Re[10]: Где можно посмотреть
От: Erop Россия  
Дата: 30.08.07 12:26
Оценка:
Здравствуйте, Alexander Pazdnikov, Вы писали:

AP>Есть ли ссылка, где можно посмотреть на реальное использование кодогенератора (желательно для "чайников") или to google?


Насколько я понял речь шла о декларативном описании GUI, составленного из разнообразных компонент.
Смотри, например, как под классической MAC OS писался гуй под Powr Plant'ом.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: Да пребудет с тобой дукха
От: carpenter Голландия  
Дата: 30.08.07 12:27
Оценка:
Здравствуйте, Smal, Вы писали:


S>Скилы в медитации, ИМХО, не так уж плохи . Не все же время молотком гвозди забивать.


Млин докопались до молотка
Чтобы было красивее могу выразить мысль по другому —
В Японии давным давно существовало масса школ кендо(исскуство обращения с мечом)
Все практиковали различные хитро...пые стили ведения боя .
Но одной из самых лучших школ была та (сча точно не скажу какая )- где в начале обучения сенсей говорил —
Не надо искать изощренных методов — когда перед тобой стоит противник , а у тебя в руках меч — убей его ...
Возможно я немного не досконально привел текст ... но мысль я думаю ясна .

Можно еще позаимствовать фразу у WolfHound точнее у Энштейна ...
(она мне нравиться даже больше чем предыдущее сравнение)
где то я ее уже упоминал на рсдн

Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Весь мир — Кремль, а люди в нем — агенты
Re[11]: Где можно посмотреть
От: Alexander Pazdnikov  
Дата: 30.08.07 12:30
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Alexander Pazdnikov, Вы писали:


AP>>Есть ли ссылка, где можно посмотреть на реальное использование кодогенератора (желательно для "чайников") или to google?


E>Насколько я понял речь шла о декларативном описании GUI, составленного из разнообразных компонент.

E>Смотри, например, как под классической MAC OS писался гуй под Powr Plant'ом.
Спасибо.

А что можете сказать про embbeded системы? Про гуй и Power Plant почитаю на выходные.
Как использовать кодогенераторы для системных задач?
Re[9]: Да пребудет с тобой дукха
От: Smal Россия  
Дата: 30.08.07 12:33
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Ну компилятор C++ + boost::mpl -- это тоже подобное приложение. Только не очень удобное, как в работе, та ки в отладке.

Это так же относится и к кодогенератору.

E>Коенчо очень может быть, что на шаблонах написать было легко, а на кодогенераторе трудно,

E>но в описанном случае мне так кажется, что это не тот случай.
Возможно, что с кодогенератором было бы проще. Мы не пробовали.

E>>>Только труднее посмотреть "чего там нагенерилось и почему"

S>>Некоторые вещи лучше не знать
E>Даже если надо отлаживать?
А чего там отлаживать? Клиентский код остается без изменения. Отлаживайте сколько хотите.
А сами шаблоны отлаживать не нужно. Компилятся, значит работают. Функциональное программирование, однако.

E>>>ИМХО это такой спциальный способ улучшить скилы в медитации...

S>>Скилы в медитации, ИМХО, не так уж плохи . Не все же время молотком гвозди забивать.
E>Ну да, особенно если приятно и есть богатый инвестор. От чего бы за его счёт не повтыкать?
Да ладно, эта система позволяет очень быстро реализовать новый тип объектов на основе существующих "кубиков".
С уважением, Александр
Re[11]: Где можно посмотреть
От: Alexander Pazdnikov  
Дата: 30.08.07 12:33
Оценка:
И еще вопрос.
Кто-нибудь использовал прождающее программирование?
Начинал читать книгу про это дело, но идет она тяжеловато.
Или это и есть применеие кодогенераторов?
Re[11]: а если серьёзно...
От: Smal Россия  
Дата: 30.08.07 12:41
Оценка:
Здравствуйте, Erop, Вы писали:

E>А если серьёзно, то свой кодогенератор имеет такое преимущество, что входной язык можно сделать весьма адекватным задаче, что позволит использовать на программировании "метакода" спецов в предметной области, а не в boost::mpl и продвинутых шаблонах C++.

Весь метакод спрятан в макросы, так что непосредственно сложные mpl-ные шаблоны наружу не лезут.
Таким образом, можно человеку, плохо знающему шаблоны, просто сказать, что дык вот так записывается необходимый набор свойств.
Вот сюда писать интерфейсы. И т.п. Т.е. конечные пользователь может (в идеале) и не знать, что происходит внутри компилятора.

E>Например метакод можно локализовать, или вообще приделать визуальный редактор...

Визуальный редактор, это хорошо. Мы об этом думали. Эту проблему можно решить и без кодогенератора.
Опять же редактор просто расставляет необходимые макросы по "галочкам". И все.
С уважением, Александр
Re[10]: Тесты и с++
От: WolfHound  
Дата: 30.08.07 13:02
Оценка: +1
Здравствуйте, Smal, Вы писали:

S>Сами шаблоны отлаживать нет смысла — они уже работают .

А это:

По этим данным строится state-машина (возможно многоуровневая), генериуется таблица переходов, происходит подписка на event-ы

святой дух чтоли делает?

S>К тому же, при не котором понимании, шаблоны перестают быть малопонятными.

Меташоблонные извращения я знаю не хуже тебя.

S>Ну, дык, он должен стоять на компьютере каждого разработчика. Хотя, ИМХО, эту проблему я выдумал — можно положить в репозиторий.

Не можно, а нужно.
И не просто положить, а прописать в системе сборки чтобы она его собирала и если нужно запускала.

S>Именно так работает у нас один кодогенератор (он правда, почему-то не OCaml-e ).

Ну это уже извращения.

S>А тут все можно решать средствами языка. Зачем мучаться с кодогенератором? ИМХО, это лишнее.

Кодогенераторы проще, гибче, быстрее, переносимее...
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: Где можно посмотреть
От: Erop Россия  
Дата: 30.08.07 13:15
Оценка:
Здравствуйте, Alexander Pazdnikov, Вы писали:

AP>А что можете сказать про embbeded системы? Про гуй и Power Plant почитаю на выходные.

AP>Как использовать кодогенераторы для системных задач?

У нас в конторе есть много кодогенераторов. Верне не так. Используется много входных языков, оптимизированных под какие-топрикладные задачи.
Обычно такое решение состоит из трёх частей.
1) Поддержка сгенерированного кода из C++
2) Собственно кодогенератор
3) Простая среда разработки/отладки (можно ME например использовать или VS закастомайзить)
Ну и справка ко всему этому.

Это позволяет заниматься разработкой текстов, на входном языке кодогенератора, людям, которые хорошо разбираются в вопросе, который прогается, а не в шаблонах там или кодогенераторах...

Ну и поддержка сильно удешевляется, так как хорош разграничены зоны ответсвенности и компетенции...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: Тесты и с++
От: Smal Россия  
Дата: 30.08.07 13:25
Оценка:
Здравствуйте, WolfHound, Вы писали:

S>>Сами шаблоны отлаживать нет смысла — они уже работают .

WH>А это:
WH>

По этим данным строится state-машина (возможно многоуровневая), генериуется таблица переходов, происходит подписка на event-ы

WH>святой дух чтоли делает?
Это все уже внутри библиотеки делается. Конечному пользователю туда лезть незачем.

S>>К тому же, при не котором понимании, шаблоны перестают быть малопонятными.

WH>Меташоблонные извращения я знаю не хуже тебя.
Спорить не буду. Только интересно, откуда дровишки.. тьфу.. сведения?
Скорей всего ты знаешь даже лучше меня, ибо опыт у меня не большой. Но ИМХО, такие заявления бессодержательны.

S>>Ну, дык, он должен стоять на компьютере каждого разработчика. Хотя, ИМХО, эту проблему я выдумал — можно положить в репозиторий.

WH>Не можно, а нужно.
WH>И не просто положить, а прописать в системе сборки чтобы она его собирала и если нужно запускала.
Угу, согласен.

S>>Именно так работает у нас один кодогенератор (он правда, почему-то не OCaml-e ).

WH>Ну это уже извращения.
Почему? Парень набросал этот генератор за вечер. С тех пор и живем — забот не знаем.
Больше времени на разговоры потратили.

S>>А тут все можно решать средствами языка. Зачем мучаться с кодогенератором? ИМХО, это лишнее.

WH>Кодогенераторы проще, гибче, быстрее, переносимее...
В нашем случае о переносимости на другую операционку речи не идет (много COM-а).
К том уже, мы можем себе это позволить, ибо поставляем железо вместе с начинкой.
А под виндой, MSVC шаблоны и так прилично поддерживает.
С уважением, Александр
Re[13]: Где можно посмотреть
От: Smal Россия  
Дата: 30.08.07 13:27
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Alexander Pazdnikov, Вы писали:


AP>>А что можете сказать про embbeded системы? Про гуй и Power Plant почитаю на выходные.

AP>>Как использовать кодогенераторы для системных задач?

E>У нас в конторе есть много кодогенераторов. Верне не так. Используется много входных языков, оптимизированных под какие-топрикладные задачи.

E>Обычно такое решение состоит из трёх частей.
E>1) Поддержка сгенерированного кода из C++
E>2) Собственно кодогенератор
E>3) Простая среда разработки/отладки (можно ME например использовать или VS закастомайзить)
E>Ну и справка ко всему этому.

E>Это позволяет заниматься разработкой текстов, на входном языке кодогенератора, людям, которые хорошо разбираются в вопросе, который прогается, а не в шаблонах там или кодогенераторах...


E>Ну и поддержка сильно удешевляется, так как хорош разграничены зоны ответсвенности и компетенции...

Хорошо вам. Сильно на системы с Лиспом смахивает.
С уважением, Александр
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.