Пример "на пальцах" и "конкретнее некуда". UPD Берёшь трёх студентов, суёшь их в дотнет. Кому чего: C#, ++, Ява, VB, F# ...(питон, луа... много чего, правда с плясками).
В любой комбинации, главное - дотнет.
Одному даёшь задание: напиши мне ПРИЛОЖЕНИЕ, которое обеспечивает передачу сообщения по USB (com, 485, BT, сетке...).
Весь детект, конфиг и монитор железа - на тебе. Размер формы - такой-то, цвета такие-то.
Для упражнений - вот модуль, с которым сообщаться.
Второму: напиши мне ПРИЛОЖЕНИЯ, обеспечивающее управление модулями (список модулей, список команд) с помощью
простеньких форм с кнопками-рукоятками-лампочками. По одному приложению на модуль. Размер - такой-то, цвета такие-то.
Третьему - вот у меня наработки на Делфи(......), примени интерфейсы и создай ПРИЛОЖЕНИЕ, реализующее наработки.
Обработка ошибок внутри Делфи - на тебе. Размер, цвета.
Как ваши ПРИЛОЖЕНИЯ будут общаться друг с другом и с физическими модулями - договоритесь на уровне свойств-методов и (если нужно) классов.
И не ебите мне мозги мелочами!!!
(Вариант: этот шаг можно пропустить)
Пишите на чём угодно, работайте где угодно, через две недели ко мне на сборку.
Через две недели.
Первому:
показывай (на твоём ноуте), как сообщения циркулируют.
Так, здесь гавно, а здесь ты не понял, часа хватит? Получилось? Хорошо.
(Вариант: теперь набросай мне вот такие public методы-свойства, полчаса хватит?)
Теперь скинь мне на флешку *.exe. Нет, больше мне ничего не надо, исходники скинешь потом.
Второму:
показывай (на твоём ноуте).... (Вариант:....) Теперь скинь...
Третьему:...
Потом берёшь экзешники, подключаешь в свой проект, вызываешь ИЗ СВОЕЙ ФОРМЫ/ПРИЛОЖЕНИЯ конструкторы
из студенческих приложений и получаешь ПОЛНЫЙ ФУНКЦИОНАЛ (включая формы) этих самых студенческих
приложений, а также доступ ко всему, чего хотел (и будь осторожен в своих желаниях, они исполнятся!).
Никаких согласований, драйверов, библиотек и прочих танцев (кроме дотнет), только релиз-комплекты от студентов.
СОВМЕСТИМОСТЬ ЖЕЛЕЗОБЕТОННО ГАРАНТИРОВАНА СРЕДОЙ ДОТНЕТ.
В космос вряд ли, но и такого достаточно.
Предельно примитивно, но показательно.
И это я ещё не трогал делегаты, рефлексию, работу с коллекциями (поддержка встроена в дотнет), сборку мусора,
да дохерища чего. Вменяемая и удобная поддержка потоков (threads) НА УРОВНЕ ЯЗЫКА!
Согласен, все "популяризаторы" пишут про разные чудеса, но не понимают, с каких простых (и не менее важных) вещей
нужно начинать агитацию.
ЗЫ Популяризаторы не понимают ещё одного, насчёт языка C#: выбор ИМЕННО ЭТОГО языка обусловлен не тем,
что он чем-то лучше других, а тем, что C# создавался одновременно с дотнет, вместе с дотнет и ДЛЯ дотнет. То есть,
сишарп - это реализация философии дотнет на неплохом языке программирования. Поэтому, выбираешь дотнет -
выбираешь сишарп.
UPD.
Всё, что написано выше, относится к периоду "до настоящего времени".
Дотнет объявлен в 2002, в 2005 появился 2.0, ОЧЕНЬ мощный релиз.
Это объясняет победное шествие дотнет по миру.
В то время никакими Qt ещё и близко не пахло.
А теперь подробнее о том, почему Евгений_ЦД воет воплями и почему я ему подвываю:
.NET Core для Линукс - состоявшийся факт.
Немного фантазии (недалёкое будущее):
Беру я свою наговнокоденую под Вин прогу (екзешник!),
вставляю в Линукс - РАБОТАЕТ!!!
Непонятно?
Да нахуя мне изучать кишки Восхитительного Линуха,
вникать в его Высокие И Строгие Правила, Продиктованные Веками Мудрости?
Я налабаю говнокод в MSVS на шарпе, да и суну в машинку с Линуксом,
раз уж так надо... или вовсе ныть начну: дайте мне MSVS для Linux...
После этого все преимущества Линукс перестают существовать.
Защита от вирусов? - не, не слышали...
Устойчивость ядра? Изоляция пространств? Да мне легче от устойчивости
ядра, если моя прога не пашет?
Я же говорил, юзеры "сделают рынок...
Я же говорю, МСы взорвали Линукс...
И да, никакой Qt не сравнится с мощью Microsoft.
МСы запинают любого конкурента, раз уж речь зашла о Перспективных Рынках и Больших Деньгах.
Мир классического привычного ПО таки рухнул!