Не, ну давайте уж не переходить на совсем неприличности =) лисп... вы бы еще MUMPS, не к ночи помянут, вспомнили у него тоже много интересных концепций... но чтобы читать минимально сложную программу - нужно быть слегка(а может и не слегка) психом
У меня в голове опилки и длинные слова меня только огорчают.
а чего это лисп - неприличность? его для ии создавали и юзали хз сколько лет! и кстати, вот на си шарпе можно написать ф-ию, принимающую или возвращающую ф-ии? на сях можно передать указатель, а шарпе?
Да, все это замечательно, но не выполняется правило о том, что я спрашивал про абстракцию, а не про функциональность. Генерация класса по wsdl-описанию это не абстракция - это функциональность среды программирования.
В Си - объектов нет. И соответственно сериализация делается не очень сложно. А как С# сериализует такой класс?
А давайте тогда определимся что такое абстракция в программировании? Я просто не программист, не знаю, может есть правильное определение термина... Лично для меня это возможность не думать о том, как будет работать то, что я делаю, как оно будет обеспечивать взаимодействие с другими системами, если я описал какие данные оно должно передавать при этом взаимодействии. В какой-то мере Finite State Machine. И как именно на него будут оказывать влияние - не мое дело. Будет он получать soap пакетики по http, или через MQ, или еще каким-то странным местом - не мои проблемы. И .net (или джава) мне это позволяет делать.. си - не очень Хотя для си, безусловно, есть применения, для реализации которых мне даже в голову не придет пользовать шарп или джаву... А бывают случаи(тока никому не говорите), когда я пишу на vbscript'е.. или на перле.. или на sed/awk.. или на баше.. и на том же мумпе приходилось... задача диктует решение, а не наоборот. И МСРС - решение для некоторой ниши робототехники..
Ну ладно, оставим вопрос с абстракциями т.к. это не сильно относится к делу.
Давайте дальше разбираться. Что в MSRS появилось полезного для робототехники такого, что сделает жизнь программиста проще? И давайте уже придумаем пример "высокоуровневой" задачи которая бы решалась с MSRS проще чем без нее и которая не требовала бы "реального времени"?
Добавлено спустя 34 секунды: Да, забыл... в C# указатели есть и ими можно пользоваться.
просто выскажу свое мнение - мне лично отталкивает эта MSRS, ничего сверхполезного в ней не вижу. Если алгоритм или конечный автомат правильно составлен - то с легкостью можно скомпилить программу в обычной среде разработки или просто скомпилить в WInAVR(ARM).
2Сергей, Виталий: Для меня в MSRS есть полезных две вещи: 1. Там есть мощный симулятор с физикой и моделями роботов с кучей готовых для этого симулятора объектов типа дальномеров, камер и т.п. 2. Там есть стандартизация интерфейса к роботу, позволяющая подключить либо симулятор, либо реального робота не переписывая софт.
Ради этих двух вещей я готов её изучать. А где еще есть это? Или вы её (MSRS) рассматриваете чисто как заменитель WinAVR? Тогда конечно WinAVR рулит.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Microsoft Robotics Studio provides a common development platform for robotics innovators to overcome one of their biggest remaining hurdles: the fragmentation of the robotics industry caused by today’s incompatible platforms.* BotMag.com, 2006 год
*) Microsoft Robotics Studio предоставляет общую платформу разработки новаторам робототехники для преодоления их наибольшего из оставшихся препятствий - фрагментация индустрии робототехники сегодняшней несовместимостью платформ.
Ну а многопоточные приложения - это отдельная головная боль, готорую пытаются ослабить этим готовым решением (CCR, насколько я помню, бесплатна для использования)
Я не гуру конечно, но как я себе представляю: Большинство задач решаеца прямым кодингом под камень, если нужна параллельность - RTOS. Если система сложная( ARM9, AVR32 ) - то можно поставить Linux.
2Сергей: А ты сейчас вообще о каких задачах? Ты MSRS чисто как язык программирования еще один воспринимаешь что ли?
Добавлено спустя 16 минут 35 секунд: Для меня критически важный пункт в MSRS - их система сервисов к которым достучаться можно через tcp/ip - это своего рода драйверы ко всем устройствам. Причём получающаяся система легко масштабируется на кластеры и обладает прочими прелестями типа врождённой возможности рулить реальным роботом или симулятором (на мощной машине) через интернет.
Расскажи как это сделать без MSRS или аналогичной системы (Player/Stage/Gazebo так же устроена в этом отношении) и мы тебе воздадим хвалу
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Виталий писал(а):Есть симулятор и модели компонент... принимается.
Я считаю что этого более чем достаточно.
Виталий писал(а):Стандартизованный интерфейс... не принимается, т.к. на деле этого нет.
Не понял, как это нет? Чего именно нет?
Виталий писал(а):Но в общем и целом, так и не привели пример "высокоуровневой задачи" которая бы с MSRS решалась лучше чем без нее. Интересно же.
Да один только симулятор позволяет в MSRS решать задачи которые без неё не решабельны почти - например вести разработку софта для робота распределенной по территории командой который есть в количестве 1 штука в институте каком-нибудь.
Виталий писал(а):В россии не занимаются разработкой MSRS. Российский майкрософт - это отдел продаж.
Типа наши парни на MS только в России работают? У меня есть несколько знакомых которые давно уже не в РФ на MS работают.
Проект [[Open Robotics]] - Универсальные модули для построения роботов