ММФ vs MFC

Nov 05, 2014 14:35

Пару лет назад семинары в курсе "Программирование - 2" ММФ были в формате "1 в 2 недели". За это время предполагалось расказать студентам, что такое this и чем virtual foo() отличается от bar(). Получалось довольно херово, особенно если в первом семестре детям не сумели рассказать, что такое указатель, но иногда что-то выходило ( Read more... )

ммф, нгу, 2014, студенты, computer science, преподавание

Leave a comment

Comments 13

ext_2859522 November 5 2014, 09:13:09 UTC
Qt?

Reply

conwor November 5 2014, 09:14:20 UTC
Не пользовался Qt никогда. Расскажи, пожалуйста:
1) Можно ли ее подключить к проекту в MSVC? Переходить в другую среду разработки - это тоже как минимум полпары втупую тратить.
2) Насколько меньше заклинаний надо написать на Qt, чтобы породить минимальный проект - стандартное окошко с рисовалкой?

Пока писал, понял, что запинать админов терминалок, чтобы там появился Qt - это отдельный квест. Но вопросы все равно интересуют.

Reply

ext_2859522 November 5 2014, 09:45:12 UTC
1. Можно. Есть даже add-on для студии, но я и без него обходился.
2. Как в дэлфи/билдере. Можно и вообще без кода обойтись :)
Есть ещё куча демок с комментариями и разбивкой по шагам + они прописаны в документации к qt, которая заслуживает отдельного упоминания и статьи на википедии :)

Reply

conwor November 5 2014, 10:36:28 UTC
1) Окей, если удастся админов запинать, чтобы они все поставили в терминалки, можно будет попробовать.
2) Ну вот нахуй это сразу и навсегда. Программирование мышкой для студентов мы уже проходили. Плодить IT-инвалидов - это в НГТУ, пожалуйста.

Reply


mr_aleph November 5 2014, 10:20:01 UTC
почему бы не рисовать в вебе? веб-то повсюду :)

http://jsbin.com/qinuxisomu

Reply

conwor November 5 2014, 10:37:59 UTC
Курс по C++. Кагбе.

Reply

mr_aleph November 5 2014, 10:47:12 UTC
при этом ты кагбе ставишь 5 тем, кто пишет на Java

Reply

conwor November 5 2014, 11:06:50 UTC
Один студент мне вообще половину ДЗ на Скале сдавал. Угадай, в какую контору его взяли с середины второго курса :)

Студенты, которые пишут эту задачу на альтернативных языках - это вырожденные случаи, по таким сразу видно, что они могут и на MFC. Так зачем тогда насиловать им мозг?

А брать всю группу, в которой половина еще не очень уверенно пишет слово class, и ради одной задачи тащить на java/web/... - это как-то жестоко.

Reply


fenster November 5 2014, 11:56:24 UTC
Рисование графика вообще так-то делается без всяких сложных слов типа LPCTSTR. Когда я был грешником вёл соответствующие семинары, и именно что раз в две недели, я подготовил файлик, в котором предлагается график рисовать именно что средствами CPaintDC в MFC application. MFC application, насколько я помню (с тех пор ни разу не пересекался, мог что-то забыть) - это очень простая штука, там не нужно знать ничего из перечисленного тобой, чтобы тупо нарисовать тупо график.

Кстати, каждый сентябрь этот файлик до сих пор скачивают всё новые и новые студенты, что ввергает меня в состояние некоторого ужаса: где же прогресс, чёрт побери?

Другое дело, что MFC - это те же инвалиды от IT, только с другой стороны. Ну какой в 2014 году может быть CPaintDC для рисования графиков.

Рассмотри вот какой вариант. Погугли, может, есть либа, которая позволяет очень просто генерить тупо-картинку. Ну, условно,
auto image = new AwesomeImage(filename);
image->moveTo(0, 0);
image->lineTo(100, 100);ну ты понял. Если такая есть - бери её и пусть рисуют графики ( ... )

Reply

fenster November 5 2014, 12:09:28 UTC
А вообще, конечно, +1 к Qt, но это выглядит ещё сложнее, чем пересадить людей на линукс (спросите, спросите меня, как это сделать).

Reply

conwor November 15 2014, 05:47:21 UTC
Я вообще не спец в MFC, вот мой минимальный пример приложения. Если подскажешь, что из него можно выкинуть, буду рад :)

#include "afxwin.h"

class Window : public CFrameWnd {
public:
Window(char * title) {
Create(NULL, (LPCTSTR)CString(title), WS_OVERLAPPEDWINDOW, rectDefault, NULL, NULL);
}
};

class App : public CWinApp {
public:
virtual BOOL InitInstance() {
m_pMainWnd = new Window("bar");
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return TRUE;
}
};

App app;

Reply


olegg_lieangel December 19 2014, 22:10:38 UTC
Рисовать графики функций лучше всего в тулзе под названием Processing. Под капотом у неё Java, а само по себе - лёгенький ui-фреймворк для всяческого прототипирования и набрасывания медиаинтерфейсов.

Reply


Leave a comment

Up