Реализация оконных приложений.

программирование C++ C# framework

Вопрос достаточно большой и абстрактный. Просто, не понимаю возможностей и областей применения языков и прошу немного прояснить ситуацию.
Знаком с многими языками. Не затрагивая сейчас веб-программирование, возьмем простейшую ежедневную задачу - необходимо написать не слишком сложное оконное приложение, работающее на большинстве машин. Я использую в таком случае C# WinForms. Однако, всё чаще сталкиваюсь с тем, что необходимость установки фреймворка на машине конечного юзера невозможна или несоразмерно неудобна. К тому же его скорость выполнения... Соответственно, взор обращается в сторону ближайшего его родственника - C++. Сразу, на выбор куча возможных способов реализации, и что выбрать - абсолютно неясно. Простейший - с помощью CLR - насколько я понял, также требует установленного фреймворка. Чуть-чуть более "низшего уровня" - MFC - требует ли он фреймворка? Или на выходе опять же получается исполняемый файл, не работающий без доп. библиотек?
ВинАпи. Именно с его помощью реализуется, как я понимаю, основная часть программ.(и +АСМ) Например, работа с 3д графикой. Однако, можно ли на нем эффективно(по времени разработки) сделать простейшее оконное приложение? Ведь для реализации простейшей кнопки нужно вручную создавать с нуля её класс, задавать все методы, их реализации... И так для каждого из типов элементов.

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

Как реализовать неконсольные приложения на чистых C/ASM я не представляю. По-крайней мере затраченный время будет несоотвествовать результату точно.
Дельфи - по функциональности, насколько я понимаю, аналог С++. Слова питон и перл - вообще дикий лес, единственное, что мне по ним известно - статьи в вики.

Существуют еще некоторые фреймворки типа Qt. Вообще, как работают фреймворки? По сути, это сторонние библиотеки, реализующие некоторые функции, чтобы не изобретать самому каждый раз велосипед? Требуют ли они установки на машину конечного юзера?

В общем, имея сейчас некоторый минимальный опыт, и полный бардак в голове, хочется как-то упорядочить все в единую систему. Огромная просьба поправить меня там, где я ошибаюсь в рассуждениях. Если тяжело осилить весь вышенаписанный бред, я буду весьма благодарен и за ответ хотя бы на один вопрос. Ссылки на полезные статьи по теме приветствуются.
Ответы:
.Net framework это теперь составляющая ОС Windows, нет смысла её не использовать.
Самый простой кроссплатформенный язык это java. Испольняющая среда java устанавливается быстрей всех и поддерживает оконные приложения. Но вот производительность хромает.
MFC - это библиотекА. одна. При линковке проекта в большинстве случаев она вшивается в исполняемый файл (статическая линковка) и вам ничего кроме своей программы распространять не придётся.
WinApi - это часть windows, поэтому тоже безо всяких предустановок.
Про .net составляющая виндоус, это ерунда, есть к примеру mono, и да, он достаточно стабилен и поддерживает практически все возможности .net 3.0
Про питон и перл - зря, там гуи-шные штуки в несколько строчек реализуются, но, само собой, интерпертатор нужен. Зато кросплатформенность.
Винапи - действительно, если написать это будет работать хоть под 3 ей виндой, но обьём кода превосходит все ожидания.
Как уже сказали про MFC, можно вшить библиотеку в тело программы и прекрасно будет работать.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.