Здравствуйте, ZevS, Вы писали:
ZS>Здравствуйте, maeth, Вы писали:
M>>Вывод, алгоритмы, оптимизация, еще раз алгоритмы
ZS>Первое правило оптимизации — не оптимизируй. ZS>Так что, специально заморачиваться ею не стоит. Только когда припрет...
Это да...
И еще:
1. Работает — не трогай!
2. Работает, но очень медленно — оптимизируй!
3. Не переписуй на асме ради оптимизации — быстрее не будет, все проблемы в алгоритме!
Здравствуйте, ZevS, Вы писали:
К>>Это, конечно, ИМХО, но вот образование должно давать базис, т.е. общие основы и принципы, а полгода учить людей конкретной проприетарной + устаревающей технологии очень подозрительный вариант, другое дело, если технология рассматривается в свете какого-нибудь предмета (e.g. основы проектирования и ООП)
ZS>Да. Но: ZS>1) Практику ничем не заменишь. ZS>2) Через 2 года любая современная технология будет уже устаревшей, так что — без разницы. Хотя MFC имхо не лучший пример для освешения предметами...
А у нас на факультете вообще не учили ни одной практической технологии в обязательном порядке (спецкурсы и семинары — это да, пожалуйста). И из ЯП учили, насколько я помню, только Паскалю и Ассемблеру на первом курсе. Тот же С шел уже в контексте курса "Операционные Системы" и предполагался быть изученнм самостоятельно.
В общем я полностью согласен с Курилкой, что какие либо "современные технологии" в курсе обучения стоит применять только как иллюстрация применения теории, но не концентрироваться на самой технологии. Именно потому что она запросто может устареть к окончанию обучения
Здравствуйте, maeth, Вы писали:
M>Уважаемые, заранее извиняюсь если это уже обсуждалось. Если смысл учить технологию COM, MFC так как повсеместно переходят на .NET. У нас в университете это в обязательной программе. И реально применяется ли они?
Ерунда какая-то. Если они в обязательной программе — то учить явно стоит. И придется
Или от того, что тут скажут, что учить эти технологии не стоит, то их сразу уберут из программы?
Моя точка зрения всегда была такова, что преподавать конкретные технологии в университете — это излишне. Нужно преподавать максимально широкий теоретический базис, используя который можно потом изучить ту технологию, коорая потребуется. Описание конкретных технологий и языков программирования может быть как иллюстрация и практика для применения теории, но не как самоцель.
Но это мое мнение, а тебе сейчас придется считаться с мнением твоего университета
Реальное применение MFC и СОМ сейчас находят (особенно СОМ), но это не значит, что в своей работе ты обязательно будешь их использовать.
Но знать (опять же особенно СОМ) — будет полезно в любом случае. Хуже явно не станет.
Здравствуйте, maeth, Вы писали:
M>Уважаемые, заранее извиняюсь если это уже обсуждалось. Если смысл учить технологию COM, MFC так как повсеместно переходят на .NET. У нас в университете это в обязательной программе. И реально применяется ли они?
Если будешь писать под винду, то с вероятностью 80% тебе придется столкнуться с COM.
Если MFC будет преподаваться нормально, то ты получишь представление об оконной системе винды, что очень полезно.
Здравствуйте, Константин Л., Вы писали:
КЛ>Если MFC будет преподаваться нормально, то ты получишь представление об оконной системе винды, что очень полезно.
Чем полезно-то? Мало того, что MFC только одна из многих С++ библиотек даже под Винды (при этом одна из худших), так еще и тенденция есть во всем мире использовать кроссплатформенные библиотеки или переходить вообще на Web. Некоторые ГУИ уже на Флеше пишут и очень рады.
Короче, опять у нас скармливают какое-то старье студентам. Если раньше преподавали Паскаль, то теперь MFC — тоже мне нашли идеал дизайна. Лучше бы тогда Qt преподавали, и библиотека хорошая и лицензии на некомерческое использование не надо.
Здравствуйте, Quintanar, Вы писали:
Q>Здравствуйте, Константин Л., Вы писали:
КЛ>>Если MFC будет преподаваться нормально, то ты получишь представление об оконной системе винды, что очень полезно.
Q>Чем полезно-то? Мало того, что MFC только одна из многих С++ библиотек даже под Винды (при этом одна из худших), так еще и тенденция есть во всем мире использовать кроссплатформенные библиотеки или переходить вообще на Web. Некоторые ГУИ уже на Флеше пишут и очень рады. Q>Короче, опять у нас скармливают какое-то старье студентам. Если раньше преподавали Паскаль, то теперь MFC — тоже мне нашли идеал дизайна. Лучше бы тогда Qt преподавали, и библиотека хорошая и лицензии на некомерческое использование не надо.
Ну кто говорит про идеальный дизайн? Просто если препод с умом, он не просто расскажет о внутреннем устройстве MFC, а расскажет о внутреннем устройстве оконной подсистемы.
Кроме того, ты считаешь, что писать на Qt не зная внутреннего устройства Windows/Linux и messaging'a есть круто и это плюс? Ну-ну. Пусть они пишут на флэшэ и пусть очень рады, нам такие не нужны. Любой уважаищий себя разработчик WinForms приложений должен знать WINAPI.
Здравствуйте, Константин Л., Вы писали:
КЛ>Ну кто говорит про идеальный дизайн? Просто если препод с умом, он не просто расскажет о внутреннем устройстве MFC, а расскажет о внутреннем устройстве оконной подсистемы.
Препод с умом расскажет о принципах построения оконных подсистем, и в качестве примеров рассмотрит (и сравнит) реализацию этих принципов в MFC/Qt/WinForms/Swing/whatever.
КЛ>Кроме того, ты считаешь, что писать на Qt не зная внутреннего устройства Windows/Linux и messaging'a есть круто и это плюс? Ну-ну. Пусть они пишут на флэшэ и пусть очень рады, нам такие не нужны. Любой уважаищий себя разработчик WinForms приложений должен знать WINAPI.
А я так не считаю. WinForms — это часть .NET API, и его реализация есть также и под Linux в Mono. Это вполне определенный абстрактный API, который не требует знания WinAPI.
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Здравствуйте, Константин Л., Вы писали:
КЛ>>Ну кто говорит про идеальный дизайн? Просто если препод с умом, он не просто расскажет о внутреннем устройстве MFC, а расскажет о внутреннем устройстве оконной подсистемы.
АХ>Препод с умом расскажет о принципах построения оконных подсистем, и в качестве примеров рассмотрит (и сравнит) реализацию этих принципов в MFC/Qt/WinForms/Swing/whatever.
Я надеюсь!
КЛ>>Кроме того, ты считаешь, что писать на Qt не зная внутреннего устройства Windows/Linux и messaging'a есть круто и это плюс? Ну-ну. Пусть они пишут на флэшэ и пусть очень рады, нам такие не нужны. Любой уважаищий себя разработчик WinForms приложений должен знать WINAPI.
АХ>А я так не считаю. WinForms — это часть .NET API, и его реализация есть также и под Linux в Mono. Это вполне определенный абстрактный API, который не требует знания WinAPI.
Ты писал WinForms приложения? Если да, то тогда должен знать, что если хочется сделать шаг влево — пиши свой WindowProc. Абстракция там условная.
КЛ>Ты писал WinForms приложения? Если да, то тогда должен знать, что если хочется сделать шаг влево — пиши свой WindowProc. Абстракция там условная.
+
Только imho лучше уже если приходится напрямую вызывать нативные ф-ции, сделать обертку COM-овую или C++/Cli, и уже оттуда звать что хочешь.
Imho MFC давно уже мертва, используется только в старых (или начатых до ~2002г) проектах. Как обертка для COM-а она сливает по полной программе перед ATL.
Учить MFC в инст-те щас- все равно что 5 лет назад учить Turbo Pascal-ю.
Здравствуйте, ArtemGorikov, Вы писали:
AG>Здравствуйте, Константин Л., Вы писали:
КЛ>>Ты писал WinForms приложения? Если да, то тогда должен знать, что если хочется сделать шаг влево — пиши свой WindowProc. Абстракция там условная. AG>+
AG>Только imho лучше уже если приходится напрямую вызывать нативные ф-ции, сделать обертку COM-овую или C++/Cli, и уже оттуда звать что хочешь.
+1
AG>Imho MFC давно уже мертва, используется только в старых (или начатых до ~2002г) проектах. Как обертка для COM-а она сливает по полной программе перед ATL.
А на чем же щас десктопный гуй пишут? На WinForms? Очень мало. Сам пишу на WTL, но это не значит, что MFC мертва. Далеко нет. И будет жить, пока есть всякие CodeJoke (оно?) и т.п. WinForms банально тормозит (с). Как перестанет и у 90% будет стоять .net fw — попрут аппликухи.
Про COM в MFC мог и не говорить
AG>Учить MFC в инст-те щас- все равно что 5 лет назад учить Turbo Pascal-ю.
Так пять лет назад и учили ему. И еще хрен знает скока времени будут.
А учить надо не MFC, а windows "windows subsystem"