| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Перспективы MFC |
| Автор: Xtkjdtu999 28.2.2007, 09:29 |
| Стоит ли продолжать писать свои приложения с использованием MFC или уже надо помаленьку переходить на C# и .Net? Вдруг в следующей версии VisualStudio исчезнет "MFC Application". Да и странно как-то, зачем компании MS надо было создать язык(C#), уж сильно притянутый за уши к платформе Windows. |
| Автор: Nuzur 28.2.2007, 13:42 | ||
| _hunter, Навряд на других платформах, был проет монотоне вроде, но его вяло развивали, и что-то я о нем больше не слышал. Все мы там будем ет точно я уже изучаю Xtkjdtu999, Я всегда думал что выбо инструментария зависит от поставленых задач, ошибаюсь? МФС никто не отмнял и я не думаю что в ближайшие лет 5 не отменят.
Его под .НЕТ именно и создавали, проблема с++ в его еволюции уж слишком долго шел он к теперешнему виду, а сие означает что надо было тянуть как новые технологии так и старые, сам понимаеш не совсем хорошо енто. |
| Автор: Xtkjdtu999 28.2.2007, 20:45 | ||||||
Дык, все-таки MFC - это библиотека, а C# - язык.
Ну пока что да, но дело уже идет к тому, что виндовс когда-нибудь будет целиком на основе .Net, а обычные(без .Net) проги будут исполняться в каком-нибудь режиме совместимости, как щас в XP старые Win16. MS же может вообще убрать поддержку C++ и сделать использование использование своих технологий платным. И останется всего один нормальный язык(ну еще в пригрузку VB для самых умных). И ведь будут же платить, т.к. винда - фактически единственная ОС, под которую написан полезный софт. Вот и будет полная монополия(даже хуже, чем сейчас): один язык для коммерческих приложений под одну ОС. Не судите строго. Это просто прогноз аццкого параноика
Конечно, можно было бы создать язык с наворотами: 1) хорошая виртуальная машина (т.е. для кроссплатформенности) программа на псевдокоде компилируется под нужное железо X86, POWER и т.д. всего один раз при первом запуске (а то нехорошо увесистое приложение или библиотеку пересобирать перед запуском много раз подряд) 2) возможность генерации кода и конструирования произвольных типов данных на лету: программа пишет сама себя, выполняет написанное, то самое написанное еще чего-нибудь создает и т.д. (гы. написание полиморфных вирусов станет доступным прыщавым 13 летним школьникам) 3) поддержка ООП с учетом косяков других языков и предыдущего пункта 4) огромная стандартная библиотека, готовые шаблоны всевозможных классов и алгоритмов дополнительно должна содержать полезные функции, которые нужные, но в других языках пока нет. регулярные выражения. аццкая поддержка математики (MathCAD must die простые функции работы с СУБД(сделать как в PHP, только без префикса в имени) через всего один класс. поддержка всяких DirectX(ограниченная, ибо MS не спешит делиться исходными кодами), OpenGL, потому что 3D ускорение лишним не будет работа со звуком и стандартная распознавалка речи для голосового управления 5) некий стандартный абстрактный графический интерфейс для виртуальной машины с поддержкой всевозможных кнопок, тексбоксов и еще ранее не применявшихся элементов управления(выявить их при опросе ламеров, чего бы они хотели от компьютера). стандартная поддержка стерео для подлинно трехмерной графики(на всякий случай... для будущего) ведь именно из-за графики и простоты работы сейчас столько пользователей сидят под виндой(кстати, и сам я тоже многодокументные приложения, использование тулбаров и т.д. не забыть про полноэкранный режим 7) поддержка многопоточности, вычислений на кластере (с возможностью использования разных архитектур железа) 8) предельная простота языка, насколько это возможно 9) родная визуальная среда разработки(написанной на этом же языке еще такой наворот, как использование ограниченного подмножества естественного языка(некоторые слова из русского и english) для того, чтобы описать задачу, а машина "поймет" текст и напишет программу под эту конкретную проблему или выдаст сообщение, что либо задача некорректная, либо в базе знаний чего-то не хватает (попалось новое слово, которому надо дать толкование, опираясь уже существующие и стандартные слова). (в таком случае проги делать сможет и ламер, который не знает ни одной конструкции самого языка программирования) 10) шаблоны готовых приложений: экранная заставка, программа для работы с БД, заготовка "hello world" 11) хорошая документация на нормальном языке: не на Олбанском, без слов вроде "ИМХО"(касается многих GNU-тых программ) и не сильно заумная(как MSDN) с наличием примеров 12) библиотека для взаимодействия виртуальной машины с "вражеской ОСью": получить список устройств, насрать в реестре, поменять пароль администратора, перезагрузиться и т.п. 13) написать трансляторы с других языков (чтобы тормозом для распространения не стало "сбережение ранее вложенных инвестиций") перевести коммерческий софт с фортрана, кобола в СПМЯ (супер пупер мега язык). тоже потом сделать для C++ и даже VB. Если вот это все 1) удастся создать, 2) производительность не упадет ниже плинтуса, 3) язык не получится более громоздким, чем C++, 4) появится на рынке вовремя, 5) кто-то захочет переучиться с VB, C/C++, Pascal/Delphi, 6) заинтересованность хотя бы одного ОЧЕНЬ крупного клиента, то конкуренты курят в сторонке и сосут не нагибаясь Кстати, почему бы и нет? З.Ы. Да, знаю, что оффтоп, многа букаф и вообще кг/ам. |
| Автор: _hunter 1.3.2007, 11:58 |
| не совсем понятно к чему ты это... все, тобой описанное, произойти, конечно, может (вот сан обрадуется) но я сомневаюсь что твое решение о переходе/не переходе как-то повлияет на эти события. вот если бы ты спросил "учить яву или .нет" было бы понятно... |
| Автор: Nuzur 1.3.2007, 17:07 |
| Xtkjdtu999, А как ты думаеш на чем винда написана, не на С++ ли случайно? С чего ты взял что все идет к тому? Телепатия? |
| Автор: Greeen 1.3.2007, 17:59 |
а не на C |
| Автор: Dray 2.3.2007, 00:39 |
| С++ еще долгое время уж точно никуда не денется. А вот МФС вполне может исчезнуть в будущем. Просто у С++ есть задачи в решение которых его никто сместить не сможет. А вот UI это уже к .NET постепенно. |
| Автор: Любитель 4.3.2007, 00:43 |
Ядро - да. 90% прог (в том числе вистовских) - плюсы. Просто винда поставляет каким-то монолитным нечто чем-то, тяжело сказать есть ли часть винды Notepad, WMP, IE, Windows Explorer, etc. Ан ничё подобного. Посмотрим в сторону MS. Её последние проекты с неплохим интерфейсом WMP 11, Office 2007 - .Net и не пахнет. Впрочем и MFC тоже. Там собственные либы, частично через плюсовые классы (у кого есть средства андекорейта для VC++ увидят там экспортируемые класс вроде CWindow (точность не обещаюю, сейчас не помню - я про суть), а частично (больше) через извратные ком-компоненты написанные на тех же плюсах. Кстати подобные темы ни раз обсуждались - мне кажется, что хватит плодить... |
| Автор: Kostt 4.3.2007, 10:01 |
| Ну может и извратные, но COM-компоненты это хорошо. Возможности интегрировать свое приложение с Excel, Word, etc. - это же прекрасно! |
| Автор: Greeen 4.3.2007, 11:48 |
| Автор: Любитель 4.3.2007, 12:46 | ||
По сути ты говоришь про OLE или IDispacth. Реализовать всё сие можно и без COM. Да и в COM - идеи неплохие, но реализация через нечто что-то. Да и сами MS "учат" девелоперов, мол, дотнет рулит. А сами толком не юзают. Странно это... |