Пт мар 11, 2005 23:17 pm
Именно потому я и говорю что тебе просто везёт ... (см. выше кусок цитаты)Screaming Lord писал(а):Я купил (или украл) VC++, зачем мне тратить деньги (или воровать) на другой компилятор? VC++ - это средство разработки Windows-приложений, если я выбрал VC++, значить собираюсь разрабатывать именно Windows-приложения, а не Линукс или ... Тогда о каком переносе идёт речь?PS писал(а):Я кажется понял. Ты имеешь возможность использовать нестандартные фичи, к-рые понимает один компилятор, работающий под одной операционной системой, к-рая работает на одной аппаратной платформе. Тебе просто везёт. Отсюда и такое отношение к стандартам.
CValue val;
val.Value = 50;
CValue val;
val.put(50);
Сб мар 12, 2005 13:11 pm
PS писал(а):производитель компилятора решил убрать расширение как несоответствующее стандарту.
PS писал(а):По коду темплейта.
PS писал(а):В результате и твоего кода и моего кода в m_value окажется 50. Объясни **зачем** использовать нестандартное решение, если можно использовать стандартное?
public class Point
{
private int m_X; //Y упустим
public int X
{
get { return m_X }
set { m_X = value }
}
}
Пн мар 14, 2005 17:27 pm
А насчёт "бетонного забора" там ведь и смена ОС и смена аппаратной платформы было. С этим как? Тоже "убрать невозможно"? Или поступить как обычно поступают - "нет такой платформы и мы не будем делать для них ничего"?Screaming Lord писал(а):Да нет, скорее стандарт изменят. Плюс данная "фича" (Вашими словами) используется в COM и убрать её уже не возможно.PS писал(а):производитель компилятора решил убрать расширение как несоответствующее стандарту.
И всё? И ради этого надо рисковать и лишать себя переносимости? Везёт же людям...Screaming Lord писал(а):PS писал(а):В результате и твоего кода и моего кода в m_value окажется 50. Объясни **зачем** использовать нестандартное решение, если можно использовать стандартное?
Главное преимущество свойств в том, что вместо двух отдельных методов, пользователь класса может использовать одно единственное свойство и работать с ним как с открытой переменной данного класса.
Screaming Lord писал(а):[*]Представьте, что Вашей задачей является библиотека классов (аля VCL, OWL, MFC, .NET Framework ...). Согласитесь, гораздо приятнее писать Edit.Text = "", а не Edit.Set_Text(""), при этом ввод контролирутся в обоих случаях.
Именно поэтому я и привёл как образец ООП язык SmallTalk. Пока его никто не переплюнул в объектно-ориентрованности.Screaming Lord писал(а):[*]Да, в C++ нет потдержки свойств на уровне синтаксиса, по этому любая их реализация будет немного кривой.
Пн мар 14, 2005 21:35 pm
PS писал(а):В противном случае надо готовиться к небольшому геморрою при переносе.
PS писал(а):А теперь вернёмся к исходному вопросу треда.
PS писал(а):Спрашивающему нужен был компилятор для решения учебных задач. Для обучения, по-моему, лучше всё же держаться в рамках стандартов - неизвестно куда закинет жизнь.
Вт мар 15, 2005 0:12 am
Вот это и беда нашей нынешней модели обучения информатике - вместо обучения программированию учат менюшкам в конкретной IDE. Приходят тут такие программисты. Они отлично знают где на какую кнопку нажать, но не знают теорию алгоритмов, методологии оценки алгоритмов. Да даже элементраное знание математики и то для многих недоступно :(Screaming Lord писал(а):Только вот проходят они VC++ и MFC, а это не только ООП в C++ и принципы MFC, это ещё и работа в IDE, которую на блокноте не изучишь.
Со стороны преподавателя будет глупо вместо решенной задачи требовать проект выполненный в конкретном продукте. Не надо этого делать. Не надо. Естественно если предмет не называется "Программирование с использованием VC++ и MFC". К тому же, насколько я помню, то и в VC можно получить на выходе make-файл, а не VC-проект (могу и ошибаться для последних версий. Будет жаль, если эту возможность убрали). В случае make-файла пофиг в какой IDE (хоть в notepad-е) он подготовлен - программа может быть скомпилирован и с помощью другого компилятора. Естественно, если в коде не использованы расширения стандартов.Screaming Lord писал(а):Будет глупо, если вместо проекта на VC++(MFC), он принесёт проект, скажем, на Builder'е (CLX), и можно сколько угодно втирать преподу, что CLX-приложения пойдут под Линуксом или ещё где-нибудь, только вот незачет обеспечен.
А он и не должен знать всё для всех существующих реализаций - достаточно теорию программирования и знать стандарты на используемый язык.Screaming Lord писал(а):А вот если показать фичу со свойствами - _declspec(property), можно стать в глазах препода крутым программистом :lol: Вдруг он этого не знал?
Вт мар 15, 2005 11:11 am
PS писал(а):Вот это и беда нашей нынешней модели обучения информатике - вместо обучения программированию учат менюшкам в конкретной IDE.
PS писал(а):Со стороны преподавателя будет глупо вместо решенной задачи требовать проект выполненный в конкретном продукте.
PS писал(а):Я уже приводил пример, не помню в этом форуме или нет. Я смотрел программу одного из американских университетов по CS. Так вот у них семестровая работа была на уровне дипломных проектов наших институтов. Причём это не просто очередная перепевка на тему сортировки методом пузырька (утрированно, но по смыслу верно), а именно работа - берётся проблема, проводится исследовательская работа, прорабатывается путь решения и потом решается. Естественно это не работа на одного человека - работает группа. При этом студенты учатся работать в группе и учатся отвественности за свою часть работы.. Именно это и позволяет им быть такой страной какой она является.
Вт мар 15, 2005 13:18 pm
Здесь 2 варианта.Screaming Lord писал(а):Глупо - это когда препод весь семестр преподавал VC++ и MFC, а получил от студента решение на BCB.PS писал(а):Со стороны преподавателя будет глупо вместо решенной задачи требовать проект выполненный в конкретном продукте.
К сожалению я не могу сказать ничего о данном курсе, т.к. не видел ни названия, ни требований к нему. И могу оперировать только на уровне предположений. Если в требованиях к курсу чётко указано что надо использовать IDE, то тогда никуда не дёрнешься и надо выполнять то что требуется. Если же не прописано, то все идут боком и получают задачу, решённую с применением инструмента который я считаю для себя верным использовать для её решения в рамках предъявляемых к решению требований.Screaming Lord писал(а):В данный курс, помимо ООП на C++ входит ещё и MFC, и IDE VS. ОО библиотек полно, изучить все не хватит времени, препод выбрал одну, и он вправе требовать от студентов её использование в лабах, то же можно сказать и про IDE VS.
Но уровень диплома "Метод сортировки пузырьком" нах никому не нужен. Это не проблема - это очередная перепевка Кнута. Пусть будет диплом на группу, но уровня, к примеру, "Разработка системы управления антиблокировкой колёс в автомобиле".Screaming Lord писал(а):Но, во-первых, диплом делает один чел, а там целая группа...
Так я же и не говорю что это что-то суперновое. Но оно работает у них. Причём не в экспериментальных заведениях. Это более-менее распространённое явление. И не работает у нас. Беда в том что ничего не мешает нашим так делать. Но почему-то не делается :(Screaming Lord писал(а):во-вторых, ничего нового в этом нет: например, авиаконструкторов в своё время готовили примерно так же. Брали одного по двигателям, одного по крыльям и т.д. - ребята конструировали самолёт, и если он полетел - диплом, нет - извините.
Вт мар 15, 2005 13:18 pm
Вт мар 15, 2005 20:42 pm
Вт мар 15, 2005 23:07 pm
ommy писал(а):Аза и Screaming Lord правы, у меня идет курс ООП для win32, программирование простых приложений с использованием библиотеки классов MFC
Вт мар 15, 2005 23:42 pm
Можно ли решить задачу с использованием MFC без использования VC++? Сударь, вы конечно поколебали мою уверенность в моём знании VC++, но мне кажется что можно. Если это не так, то тогда на выходе такого курса имеем IDE-зависимые проекты и студентов.Screaming Lord писал(а):Думаю, вначале они будут изучать ООП в C++ не связанное ни с VC++, ни с MFC (иначе как они будут ту же MFC изучать?), с задачками типа "точка-круг-цилиндр", и здесь преподу будет параллельно какой компилятор и какую IDE используют его студенты, а вот когда задачки пойдут типа "графический редактор с использованием MFC", приносить решение на VCL глупо.
Нет проблем. Но требовать применять MFC в обязательном порядке в задачах где можно обойтись без этого - будет крайне некорректно с его стороны (Естественно что мы не говорим о курсе "Изучение Visual C++ и MFC")Screaming Lord писал(а):К вопросу о способах:
Правильный выбрал препод способ или нет? ИМХО, правильный. Знания ООП в C++ студенты получат. Изучить хотя бы одну из ОО библиотек тоже надо. MFC - самая сложная из всех, что я видел (ИМХО). Переход с неё на любую другую не составит труда,
Угум-с. А попечителям учреждений, в которых будут внедряться эти самые переходы, о поиске средств для обновления техники :( У меня пока нет полной статистики по образовательным учреждениям района, но ту техника что стоит в классах в форумовскм "Продаю" даже постыдятся выставлять.Screaming Lord писал(а):P.S.: Думаю, преподам пора бы уже и о .NET подумать.
Ср мар 16, 2005 14:55 pm
Ср мар 16, 2005 15:31 pm
НИХСЕБЕ.... Чем дальше в лес тем толще партизан... С каких это пор библиотеки стали частью компилятора? Т.е. правильно ли я понял что для программы на С++ с использованием MFC нельзя:Screaming Lord писал(а):MFC - это часть VC++, точно так же как <iostream> или <fstream> часть C++.
Ср мар 16, 2005 17:30 pm
Ср мар 16, 2005 17:47 pm
Я специально выделил твои слова "MFC - это часть VC++ , точно так же как <iostream> или <fstream> часть C++". Именно эта фраза мне показалась несколько не соответствующей действительности.Screaming Lord писал(а):Ну, во-первых, я не говорил, что библиотека - это часть компилятора, во-вторых, писать можно, но зачем менять VS на что-либо другое, если VS одна из лучших?
Ср мар 16, 2005 21:19 pm
PS писал(а):Я специально выделил твои слова "MFC - это часть VC++ , точно так же как <iostream> или <fstream> часть C++". Именно эта фраза мне показалась несколько не соответствующей действительности.
PS писал(а):Вот потому я так долго и уточняю - можно или нет работать с программами на С++ и, возможно с использованием MFC, не используя ворованное ПО.
Ср мар 16, 2005 22:35 pm
Специально пошёл на свежеустановленную позавчера машину и обнаружил на её диске MFC*.DLL. Винда "голая", подготовлена для проведения экспериментов. Туда VC++ никто не ставил ибо нах он там не нужен. Странно это... Надо будет повесить веб-камеру - не иначе охрана по ночам программит на VC++, а по утру "зачищает" машину :)Screaming Lord писал(а):Разве MFC не часть VC++ или <fstream> не часть C++?
Угум-с. Вариации на тему используемых редакторов, IDE возможны в очень широких пределах - кому что нравится тот то и использует. И это благо.Screaming Lord писал(а):Здесь кто-то публиковал линку на компилятор Visual C++ с библиотеками и примерами... В качестве IDE, можете попробовать, например, cEdit... Всё, соответственно, бесплатно....PS писал(а):Вот потому я так долго и уточняю - можно или нет работать с программами на С++ и, возможно с использованием MFC, не используя ворованное ПО.
Чт мар 17, 2005 15:15 pm
PS писал(а):Специально пошёл на свежеустановленную позавчера машину и обнаружил на её диске MFC*.DLL. Винда "голая", подготовлена для проведения экспериментов. Туда VC++ никто не ставил ибо нах он там не нужен. Странно это... Надо будет повесить веб-камеру - не иначе охрана по ночам программит на VC++, а по утру "зачищает" машинуScreaming Lord писал(а):Разве MFC не часть VC++ или <fstream> не часть C++?
PS писал(а):... не нужна IDE VC++
PS писал(а):...для написания программ на С++ не нужна IDE VC++...
...для создания программ на С++ не нужен и компилятор VC++...
Пт мар 18, 2005 12:35 pm
Пн мар 21, 2005 15:49 pm
Powered by phpBB © phpBB Group.
По всем вопросам пишите в службу поддержки [email protected]
phpBB Mobile / SEO by Artodia.