Подскажите соответствующую технологию в Linux (и если можно класс в Qt).
OLE
COM DCOM
OSI
Кроме того (см ниже) что за класс в MFC моделирует типа интерпретатора формальных языков
Взято из министерской программы. Целью является разработка программы для студентов
на примере библиотеки Qt.
СД.01.01 ПРОФЕССИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ (на примере MS Visual C++ и др.).
Библиотека классов Microsoft Foundation Classes (MFC). Иерархия классов.
Классы приложения и поддержки потоков. Классы окон, элементов управления,
вывода на экран и печать. Классы для работы с файлами, базами данных, в
Internet, в сетях, с OLE, обработки исключений. Создание многодокументных
приложений. Класс CDC. Классы графических объектов. Классы элементов
управления. Архитектура Документ/представление. Меню. Наборы свойств.
Вкладки. Мастера. Редактор текстов. Обработка исключений. Написание программ
типа интерпретаторов формальных языков. Основы технологий СОМ и DCOM. Формат
программных файлов на платформе Windows. Модель OSI сетевых компонентов
операционных систем. Протоколы TCP/IP. Программирование Sockets. Модель
программирования RPC. Создание справочной системы и дистрибутива.
Здравствуйте, Аноним, Вы писали:
А>Подскажите соответствующую технологию в Linux (и если можно класс в Qt).
А>OLE А>COM DCOM А>OSI
COM есть, но его почти не используют, остального нет, но могу и шибаться
А>Кроме того (см ниже) что за класс в MFC моделирует типа интерпретатора формальных языков
А что это?
Так в программы все про MFC сказано. Под линукс такого нет (хотя вроде некоторый mainsoft предлагает решение, но его пользуют для портирование вроде). А qt, имхо, даже не похожа. И что за необходимость? Под линуксом надо родные методы использовать, тем более, что они как правило гораздо проще, чем аналоги от ms
Re[2]: сопоставление технологий
От:
Аноним
Дата:
30.10.06 12:17
Оценка:
Здравствуйте, __MasteR__, Вы писали:
__M>Так в программы все про MFC сказано. Под линукс такого нет (хотя вроде некоторый mainsoft предлагает решение, но его пользуют для портирование вроде). А qt, имхо, даже не похожа. И что за необходимость? Под линуксом надо родные методы использовать, тем более, что они как правило гораздо проще, чем аналоги от ms
Так я про аналоги и спрашиваю для OLE, COM [DCOM] и OSI (что это такое вообще OSI сокетный интерфейс?) Подскажите если знает.е
А насчет необходимости Что за необходимость в MFC? Б. Qt более логична и проста в использовании! Мне больше в Qt нравится писать GUI.
Здравствуйте, Аноним, Вы писали:
А>Так я про аналоги и спрашиваю для OLE, COM [DCOM] и OSI (что это такое вообще OSI сокетный интерфейс?) Подскажите если знает.е
Не знаю. А что за необходимость поюзать все это под линукс? В жизни проблем мало?
А>А насчет необходимости Что за необходимость в MFC? Б. Qt более логична и проста в использовании! Мне больше в Qt нравится писать GUI.
Ну так и пиши гуи на ней. Так почему необходимы именно эти "технологии".
Re[4]: сопоставление технологий
От:
Аноним
Дата:
30.10.06 17:17
Оценка:
Здравствуйте, __MasteR__, Вы писали:
__M>Ну так и пиши гуи на ней. Так почему необходимы именно эти "технологии".
Так в программе министерской они есть (похоже просто содрали оглавление какого-то учебника ).
А я разрабатываю курс "Профессиональное программирование" но на примере Qt. Не думаю что слушатели
сильно пострадают разобравшись с программированием на C++ с библиотекой Qt а не с MFC.
Курс будет проходить лицензирование и если вдруг чиновник не увидит совпадение по словам то завернет.
потому хочу посвятить лекцию тематике : Платформо-зависимые технологии.
PS непонятно почему министерство образования навязывает microsoft и крекнутое ПО. Наврятли ВУЗы и др
учебные заведения имеют бабло на покупку лицензионной Wind-ы или VStud.
Re: сопоставление технологий
От:
Аноним
Дата:
30.10.06 20:55
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Подскажите соответствующую технологию в Linux (и если можно класс в Qt).
А>OLE А>COM DCOM
В принципе есть аналоги, но они довольно редко используются
Здравствуйте, Аноним, Вы писали:
А>PS непонятно почему министерство образования навязывает microsoft и крекнутое ПО. Наврятли ВУЗы и др А>учебные заведения имеют бабло на покупку лицензионной Wind-ы или VStud. У нас вот весь универ собрались на линукс переводить, кроме компьютерщиков, так как для них (тех кто изучает программирование под винду) Microsoft особые скидки делает. А тебе очень тяжело будет с курсом, так как все это очень чуждо линуксу, да и бесполезны эти знания под ним.
Здравствуйте, Аноним, Вы писали:
А>>OSI
А>А это вообще ни к Windows, ни к Linux, ни к Qt не имеет ни малейшего отношения.
А>Модель OSI
Более того, она вообще в чистом виде не реализована. Сам по себе OSI- это конь в вакууме.
Самая распространенная реализация подобных моделей — TCP/IP (в нем всего 4 уровня вместо 7-и OSI-шных), вот его и юзай.
Здравствуйте, Аноним, Вы писали:
А>Кроме того (см ниже) что за класс в MFC моделирует типа интерпретатора формальных языков
Из классов MFC ничего не моделирует интерпретатор для неизвестного языка.
"Написание программ типа интерпретаторов формальных языков. " — требуется написать программу — интерпретатор. MFC сбоку лежит и окошки к этой программе рисует.
А>Взято из министерской программы. Целью является разработка программы для студентов А>на примере библиотеки Qt.
Можно увидеть ссылку на эту "министерскую программу"?
А>Библиотека классов Microsoft Foundation Classes (MFC). Иерархия классов. А>Классы приложения и поддержки потоков. Классы окон, элементов управления, А>вывода на экран и печать. Классы для работы с файлами, базами данных, в А>Internet, в сетях, с OLE, обработки исключений. Создание многодокументных А>приложений. Класс CDC. Классы графических объектов. Классы элементов А>управления. Архитектура Документ/представление. Меню. Наборы свойств. А>Вкладки. Мастера. Редактор текстов. Обработка исключений.
Это все должно быть в qt.
А>Написание программ А>типа интерпретаторов формальных языков. Основы технологий СОМ и DCOM.
Замени на unix IPC. Например unix socket.
A>Формат А>программных файлов на платформе Windows.
Замени на формат ELF файлов.
A> Модель OSI сетевых компонентов А>операционных систем. Протоколы TCP/IP. Программирование Sockets.
Опиши модель OSI и намекни, что такой монстр некому не нужен. Плавно переходи к стеку TCP/IP, как наиболее успешной и популярной реализации стека протоколов. + Примеры: socket API. Еще можно рассказать про сокеты в qt.
A> Модель А>программирования RPC.
Все равно какая система.
А>Создание справочной системы и дистрибутива.
Структура типичного документа на программу и как это можно оформить на HTML.
Re[2]: сопоставление технологий
От:
Аноним
Дата:
31.10.06 09:14
Оценка:
Здравствуйте, DerBober, Вы писали:
DB>Можно увидеть ссылку на эту "министерскую программу"?
(ну насколько "министерская" она не знаю но мне пояснили что слова не менять)
А>>Библиотека классов Microsoft Foundation Classes (MFC). Иерархия классов. А>>Классы приложения и поддержки потоков. Классы окон, элементов управления, А>>вывода на экран и печать. Классы для работы с файлами, базами данных, в А>>Internet, в сетях, с OLE, обработки исключений. Создание многодокументных А>>приложений. Класс CDC. Классы графических объектов. Классы элементов А>>управления. Архитектура Документ/представление. Меню. Наборы свойств. А>>Вкладки. Мастера. Редактор текстов. Обработка исключений. DB>Это все должно быть в qt.
согласен Так и поступаю (правда без OLE)
А>>Написание программ А>>типа интерпретаторов формальных языков. Основы технологий СОМ и DCOM. DB>Замени на unix IPC. Например unix socket.
Интерпретаторы думаю лекцию bison (может + flex) посвящу. + калькулятор простой на лабе.
Может потянут слушатели?
Может история MS от DDL к DCOM? А затем unix IPC и пояснения почему COM в Unix не нужен /пока сам не осмыслил до конца потому и спросил/?
A>>Формат А>>программных файлов на платформе Windows. DB>Замени на формат ELF файлов.
+
A>> Модель OSI сетевых компонентов А>>операционных систем. Протоколы TCP/IP. Программирование Sockets. DB>Опиши модель OSI и намекни, что такой монстр некому не нужен. Плавно переходи к стеку TCP/IP, как наиболее успешной и популярной реализации стека протоколов. + Примеры: socket API. Еще можно рассказать про сокеты в qt.
+. Сокеты Qt проще!
A>> Модель А>>программирования RPC. DB>Все равно какая система.
Согласен
А>>Создание справочной системы и дистрибутива. DB>Структура типичного документа на программу и как это можно оформить на HTML.
Ну да QTextBrouser + QWathsThis и др
Re[2]: сопоставление технологий
От:
Аноним
Дата:
31.10.06 09:27
Оценка:
Кстати обнаружил в Qt класс:
The QCopChannel class provides communication capabilities between several clients.
Похоже решает проблему взаимодеиствия междук приложениями. Наверно можно им заменить COM?
Здравствуйте, Аноним, Вы писали:
А>согласен Так и поступаю (правда без OLE)
Одобряю!
А>>>Написание программ А>>>типа интерпретаторов формальных языков. Основы технологий СОМ и DCOM. DB>>Замени на unix IPC. Например unix socket.
А>Интерпретаторы думаю лекцию bison (может + flex) посвящу. + калькулятор простой на лабе. А>Может потянут слушатели?
Смотря какие слушатели. А калькулятор в его info готовый лежит, оно надо дублировать?
А>Может история MS от DDL к DCOM? А затем unix IPC и пояснения почему COM в Unix не нужен /пока сам не осмыслил до конца потому и спросил/?
Чтобы понять почему он не нужен под линукс, надо понять зачем он под виндовс. Я под винду мало программирую, но предполагаю (основываясь на том, о чем слышал), что com позволяет сделать две в принципе различные вещи:
1. засовывает классы в динамически подгружаемую библиотеку, чтобы использовать их, а не функции
2. реализует ipc между программами, которое выглядит, как обращение к интерфейсам ("засовывает" классы в приложение для общего доступа)
Первое нужно затем, зачем и dll, а второе для взаимодействия программ в основном на десктопе. Наиболее заметное на мой взглад применение это документы в офисе с вызовом программ для редактирования состовляющих.
Так вот под линукс в консоле не нужно ни первое ни второе, я думаю это вполне очевидно, так как там все общение производится на уровне текста, а апи достаточно прост, для применения функций. Для десткопа первое, на мой взгляд можно просто написать на с++ просто возвращая и dll с++ класс. Так как все как правило компилируется одним компилятором мы получаем вполне совместимые объекты. Второе как раз реализовано. Например dcop под kde (в 4 буде dbus). При этом простота этих инструментов приводит к тому, что все приложения считают своим долгом использовать все это. Таким образом весь kde софт прекрасно управляется через dcop, что приводит к большой гибкости. Ну и надо заметить, что встраивание приложений, в себя, конкуерор тоже проделывает на ура (kparts), а так же kdevelop ну и остальные, кому надо. По-моему так, но не настаиваю, так как достаточно плохо знаю com и все что на нем основано.
A>>> Модель OSI сетевых компонентов А>>>операционных систем. Протоколы TCP/IP. Программирование Sockets. DB>>Опиши модель OSI и намекни, что такой монстр некому не нужен. Плавно переходи к стеку TCP/IP, как наиболее успешной и популярной реализации стека протоколов. + Примеры: socket API. Еще можно рассказать про сокеты в qt.
A>>> Модель А>>>программирования RPC. DB>>Все равно какая система. А>Согласен
Причем существует много реализаций rpc.
Пользуясь случаем хочу спросить, а нет ли библиотечки rpc, что-то вроде xml-rpc, но чтобы ей можно было бы скормить fd и они там с двух сторон сами разбирались что к чему, без всяких http?
А>>>Создание справочной системы и дистрибутива. DB>>Структура типичного документа на программу и как это можно оформить на HTML. А> Ну да QTextBrouser + QWathsThis и др
Ну и doxygen
[offtop] А>PS непонятно почему министерство образования навязывает microsoft и крекнутое ПО. Наврятли ВУЗы и др А>учебные заведения имеют бабло на покупку лицензионной Wind-ы или VStud.
MS хорошо подкармливает людей, которые лоббируют ее интересы, что, в прочем, касается любой богатой компании.
Здравствуйте, __MasteR__, Вы писали:
A>>>> Модель А>>>>программирования RPC. DB>>>Все равно какая система. А>>Согласен __M>Причем существует много реализаций rpc. __M>Пользуясь случаем хочу спросить, а нет ли библиотечки rpc, что-то вроде xml-rpc, но чтобы ей можно было бы скормить fd и они там с двух сторон сами разбирались что к чему, без всяких http?
Здравствуйте, Аноним, Вы писали:
А>Подскажите соответствующую технологию в Linux (и если можно класс в Qt).
А>OLE
В GTK есть метод расшаривания окон между приложениями (извинити что не подробно, но я этим не пользуюсь) А>COM DCOM
(COM)so-шная библиотека отрабатывающая механику передачи объектов через универсальный интерфейс,
на этом сервере была статья про COM и даже пример COM объекта на C не плюсатом. http://www.rsdn.ru/article/com/introcom.xml#EKD
(DCOM) В принципе тоже самое но реализованное уже не через динамическую библиотеку, а через rpc. А>OSI — а это что за гусь и самое главное зачем он нужен ?
Здравствуйте, DerBober, Вы писали:
__M>>Пользуясь случаем хочу спросить, а нет ли библиотечки rpc, что-то вроде xml-rpc, но чтобы ей можно было бы скормить fd и они там с двух сторон сами разбирались что к чему, без всяких http? DB>Может поможет /usr/lib/python/xmlrpclib.py
Не поможет. Во-первых, это python, хотя знаю, что xmlrpc есть и на c. Во-вторых, оно работает поверх http, а я именно этого и не хочу. Как устанавливать соединение (pipe, fifo, tcp или что-то еще), я хочу решать сам. Я хочу либу, которой можно сказать, вот fd, на другом конце твой сервер (или вот fd скоро на другом конце будет клиент) и они уже там общаются. Протокол желательно бинарный, а не xml.
Здравствуйте, Аноним, Вы писали:
А>согласен Так и поступаю (правда без OLE)
OLE, как известно, это Object Linking and Embedding, т.е. встраивание одних приложений в другие. В KDE есть аналог такого механизма — это KParts. Не знаю, насколько похоже они устроены внутренне, но целям служат одним и тем же. В Gnome вроде тоже что-то похожее есть, однако раз уж использовать QT, то в этом вопросе логично будет сделать выбор в пользу KDE.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, __MasteR__, Вы писали:
А>Так я про аналоги и спрашиваю для OLE, COM [DCOM] A>Подскажите если знает.е
Попробуй посмотреть на Corba Framework(GNOME) и DCOP (KDE). Правда, в свежей версии KDE DCOP вроде бы уже заменили на другую подсистему. Но название новой не помню.