PDA

Просмотр полной версии : Вопрос по C#



AlexaV
18.11.2004, 15:20
Привет всем жителям форума. У меня такой вопрос. Собираюсь идти на курсы повышения квалификации(по направлению С/C++, С# программист). Вот они предлагают такую программу(см. ниже).Может кто-нить сказать лажа это (по количеству часов на определенные предметы, да и по самим предметам), или все-таки нормально.Они раньше больше внимания уделяли MFC(170 часов),API(90 часов) ну и С/С++(по 55 часов на каждый). а теперь почти все что смогли на C# отдали(200 часов).Как это интересно все понимать можно?????Просто, интересно стоит на такие курсы идти или нет? Заранее благодарен


Введение в специальность: - 5 академ. часов
- обзор языка, история развития
- знакомство со средой программирования Microsoft Visual Studio.NET.

C/C++ - процедурное программирование: - 35 академ. часов
- стандарт языка, структура программы
- директивы препроцессора
- управление памятью
- файловый ввод/вывод, потоки
- функции стандартной библиотеки.

C++: объектно-ориентированное программирование: - 35 академ. часов
- основные понятия, классы, инкапсуляция данных
- конструкторы и деструкторы, перегрузка операций
- множественное наследование, полиморфизм, виртуальные функции, абстрактные классы, шаблоны
- обработка исключений
- динамические структуры данных.

API: разработка Windows-приложений: - 50 академ. часов
- принципы программирования под Windows, пользовательский интерфейс, событийное программирование, структура приложения под Windows, сообщения
- интерфейс графического устройства
- управление памятью в Win32
- работа с реестром.

C++/MFC: разработка Windows-приложений: - 85 академ. часов
- структура библиотеки
- обработка сообщений MFC, функции для работы с сообщениями
- элементы управления и диалоговые окна Windows
- использование ActiveX
- поддержка многозадачности и потоков, интерфейсные и рабочие потоки, взаимодействие потоков, передача управления, блокировка потоков
- архитектура “документ-вид”, обработка команд, документ и его представление, понятие сериализации
- создание справочной системы, обработка команд запроса справки.

C++: технологии программирования: - 60 академ. часов
- создание и использование компонентов ActiveX
- обработка событий
- COM интерфейс. COM-серверы. Клиенты COM. Интерфейсы
- использование библиотеки MFC
- ATL.

C#: язык, .NET Framework, разработка приложений, основы P.NET: - 200 академ часов
- инфраструктура .NET Framework, библиотеки классов, управляемый код. Типы и члены
- создание пользовательского интерфейса
- тестирование и отладка приложений
- ADO.NET
- создание элементов управления
- усложненное программирование
- ASP.NET
- конфигурирование и защита сборок
- развертывание.

Eugie
18.11.2004, 17:13
Нормальная программа. На C/C++, если с нуля изучать, конечно маловато 70 часов (из них часов 30 наверняка практика), но по крайней мере API/COM/МFC идут отдельными блоками.
С# (200ч.) - весьма солидно, он проще C++, но видимо упор будет на архитектуру .NET и практику разработки.

Насчет стоит ли - по программе судить нельзя, она у всех примерно одинаковая (расчасовка может различаться, тоже не показатель). Все зависит от качества преподавания, а это можно проверить только опытным путем :)

Сколько стоит такой курс?

AlexaV
18.11.2004, 17:25
штука и сто баксов(можно заглянуть к ним на сайт- www.maov.org ).Не дешево. Вот поэтому и хотелось знать, стоит ли столько денег тратить на обучение по такой программе.С перспективностью не все понятно. Преподавательский состав- это достаточно квалифицированные программисты. А сейчас изучение других технологий(MFC, например) это уже не так интересно?Все-таки в 2 раза сократить время изучения...

AiK
18.11.2004, 17:59
Переехали из раздела по Ц, т.к. тема к _программированию_ отношения не имеет.

Eugie
19.11.2004, 16:54
1100$ за ~500ч. = 60 руб./час - вполне гуманная цена
А лучше сравнить с предложениями конкурентов:
http://www.avalon.ru
http://academy.softjoys.ru/
http://limtu.itcwin.com/main.asp

AlexaV
19.11.2004, 21:25
Ну, да, сравнивал уже. И если уж брать за основу, то это конечно же Политех(все-таки вторая вышка, в отличии от просто доп. образования). Но, с др. стороны здесь по времени учиться меньше, да и практики преподают, которые каждый день с какими-то рабочими проблемами сталкиваются, в отличии от вузовских преподов, пусть даже политеховских и даже сертифицированных Oracl'м и M$(насколько я помню вопрос сертификации уже освещался несколько тем назад). Тока у меня вопрос был относительно другого. С С я немного знаком(за ++ пока не приходилось браться, знаком с ООП по Jav'е), работаю web-программером на php,JavaScript etc, вот.Хотел дальше С/C++ освоить и на нем уже дальше работать.Так вот они C раньше больше внимания уделяли, а теперь совсем почти на него забили(всего-то 70 часов, вместо 110), почти забили на MFC и львиную долю времени отдали изучению С# и сопутствующему.Вот и хотел знать обоснованным ли для меня будет такой расклад. Вот, что потом с работой? Я почитал некоторые отзовы о нем(С#) в инете, и что-то как-то не особо впечатляет, или это не так? Ну и про MFC. Раз уделяли раньше так много внимания, значит библиотека востребована была, а теперь получается уже нет? так что-ли?
А насчет стоимости обучения у конкурентов, имхо, надо отталкиваться от следующего- сколько за полгода(за год) платить надо, т.к. эти выплаты происходят за вполне определенный период времени в течении которого личный доход известен. В Политехе получается-400$(800 в год), а в МАОВ'e сразу 550(1100 за год).

Eugie
22.11.2004, 13:29
Ну, насчет вузовских преподов ты зря - они еще те практики. Попробуй-ка проживи на типичную зарплату преподавателя :(

По C++ и MFC. Выскажу мнение, за которое рискую быть побитым камнями :) ИМХО, C++ как базовый язык разработки свое отживает. Все-таки С++ - гибридный язык в том смысле, что, взяв за основу синтаксис С и надстроив над ним классы, неизбежно получил в нагрузку и все проблемы низкоуровневой основы. А естественный процесс эволюции ЯП "от машины к человеку" приводит к упрощению синтаксиса и семантики языка. Какой нормальный программер не оценит, например, встроенную сборку мусора или контроль версий? Кто усомниться в преимуществе управляемого кода перед неуправляемым? Да, еще 5 лет назад была серьезная дилемма: безопасность vs. приемлемое быстродействие. Но, ИМХО, последние 10-15 лет железо прогрессирует и дешевеет так быстро, что существенно меняет базовые приоритеты разработки ПО. Во всяком случае, сейчас практически никто не будет биться за то, чтобы любой ценой увеличить быстродействие программы на 10% или уменьшить размер кода на 20%. Да, есть специфические приложения, где в обозримой переспективе это останется важным (ARM, pocket PC, *nix-системы). Но речь сейчас об основной доле ПО на рынке, а хотим мы этого или нет, ее занимают продукты, для которых надежность важнее ресурсоемкости.

Ладно, вернемся к нашим баранам. В целом считаю знание C/C++ чрезвычайно полезным для понимания базовых (низкоуровневых) аспектов программирования. Т.е. польза от этого курса будет, не сомневайся.

Насчет MFC - та же логика, но на своем уровне. С появлением достаточно развитой иерархии классов .NET (CLR), использующей преимущества новой платформы, MFC становится вымирающим видом. Конечно, программеры - народ консервативный, и реально многие продукты будут использовать и CLR, и MFC. Плюс надо поддерживать существующий софт, так что спрос на C++/MFC-разработчиков сохранится. Но надо понимать, что является на ближайшие годы перспективной технологией, а что нет.



В Политехе получается-400$(800 в год), а в МАОВ'e сразу 550(1100 за год)


Некорректно сравнивать программу второго высшего, расчитанную минимум на 2 года, и полугодовой курс повышения квалификации. Чем короче период обучения, тем выше почасовая стоимость. Ты помотри, сколько стоит час на краткосрочных курсах - будешь неприятно удивлен.

Надеюсь, ответил на заданные вопросы. Еще раз подчеркну, что все изложенное - ИМХО. К сожалению, не имею возможности вступать в длительную дискуссию. Так что если кто-то не согласен - вперед, излагайте свое мнение, спорьте, - а я посмотрю, но ответов не обещаю ;)

Andy
22.11.2004, 18:58
Ну, насчет вузовских преподов ты зря - они еще те практики. Попробуй-ка проживи на типичную зарплату преподавателя
Дык многие взятки берут. Я помню когда был студентом у меня программирование вели весьма слабые преподаватели, не способные на практическую деятельность.

Во всяком случае, сейчас практически никто не будет биться за то, чтобы любой ценой увеличить быстродействие программы на 10% или уменьшить размер кода на 20%.
Eugie, в целом согласен. Но только в целом. В некоторых областях будут бицЦа и за +5% производительности.. и ассемблерные вставки делать... и такты процессора считать. А вот про размер кода - это как правило почти никого не волнует.

Kolinus
22.11.2004, 19:32
И я свое имхо приткну ;)
Если честно то по поводу MFC не стоит убиваться. Енто всего-то смесь STL с API и неудачной реализацией пользовательского интерфейса (имхо).
Насчет С\С++ естессно что многие приложения пишутся не на них. Но знать стоит!! К тому же консольные приложения на яве -по-моему енто как забивать гвозди микроскопом: забить - то забьешь, но надо ли ???
А про производительность - тут кто на что учился. :) Работая над DOOM3 ребята явно об оптимизации не думали.
Хотя с другой стороны когда надо быстренько сделать оффшор приложение - говоришь клиенту что надо пень4-3200 и тд когда он сделать просит за месяц что-ить стоящее.
А там где надо производительность ИМХО оффшорники не работают. А лично у меня такое чувство что работать мне в оффшоре придется и дальше

Andy
22.11.2004, 22:53
А про производительность - тут кто на что учился. Работая над DOOM3 ребята явно об оптимизации не думали.
Дум 3 - это деЦкие забавы. Когда пишутся серьезные приложения (например программы управления головным компьютером на атомной электростанции), стремно писать процедуру обработки скажем сигнала тревоги на Яве. Мало ли какой глюк компилятора? Или вдруг задержка в обработке будет слишком большой? Хотя сейчас это возможно неактуально.

Хотя с другой стороны когда надо быстренько сделать оффшор приложение - говоришь клиенту что надо пень4-3200 и тд когда он сделать просит за месяц что-ить стоящее.

А там где надо производительность ИМХО оффшорники не работают.
Работают :) Я сам работал в оффшорной компании и мы делали instant messenger для локальной сети с кучей офигенно навернутых функций и там была нужна оптимизация. Так вот ты не сможешь объяснить клиенту, что он должен проапгрейдить железо на всех своих 50 компах на предприятии, чтоп поюзать твою софтину (он даже не знает как надо железо апгрейдить - он компы покупает готовые, в магазине).

А лично у меня такое чувство что работать мне в оффшоре придется и дальше
Kolinus, ты же минчанин? В какой оффшорной фирме работаешь?

СЗОТ, это не про C#, но на то он и Флейм ;)

AlexaV
23.11.2004, 11:22
Угу, сенкс всем. Теперь все более менее понятно :)

Absurd
23.11.2004, 11:42
К тому же консольные приложения на яве -по-моему енто как забивать гвозди микроскопом: забить - то забьешь, но надо ли ???
Ну мы сейчас пишем приложение без ГУЯ (сервер) на Джаве. Вшестером за три месяца написали. Писали на винде, под солярой (клиентская пратформа) сразу заработало. На С++ бы понадобилось, наверное, раза в два больше.
Вообще, представление о джаве как о чем-то офигительно тормозном сложилось из-за медленного AWT и не очень быстрого SWING'а, так что гуй - это не самая сильная сторона джавы.

про производительность - тут кто на что учился. Работая над DOOM3 ребята явно об оптимизации не думали.
В quake (1-2-3) высокая скорость рендеринга компенсировалась тем, что 90 процентов интерьера были статичны. Приведи мне игрушки с такой же графикой, как в дум 3 и с меньшими аппетитами.

Kolinus
23.11.2004, 17:04
В quake (1-2-3) высокая скорость рендеринга компенсировалась тем, что 90 процентов интерьера были статичны. Приведи мне игрушки с такой же графикой, как в дум 3 и с меньшими аппетитами.
Вот я же говорю что явно не думали (не идет он у меня на нормальных настройках, а судя по скриншотам делать выводы по-моему чревато.)
Я не считаю Джаву сильно тормознутой. Но фишка в том что она является чистым ООП языком, а под консоль в основном сталкивался (лично я) с задачами фуекционального программирования. Но даже не являясь сильно тормознутой - она по-любому уступает С++ (хотя и на этот счет есть тесты ;)))
А насчет гуя - по-моему енто ОЧЕНЬ сильная сторона Джавы - во всякм случае, не используя xylayout я уверен что у клиента отобразится ВСЕ , а не так что часть кнопок окажется гле-то там.... Хотя если ленится то отобразится все но страшно коряво.
Andy EPAM

Absurd
24.11.2004, 15:20
а под консоль в основном сталкивался (лично я) с задачами фуекционального программирования.
Функциональное программирование - это Lisp / OcaML / Haskell что ли? Или ты его с процедурным перепутал?

Kolinus
24.11.2004, 17:44
Процедурным :(
Численные методы, сортировки и т.д.

Absurd
25.11.2004, 14:55
Я не считаю Джаву сильно тормознутой. Но фишка в том что она является чистым ООП языком, а под консоль в основном сталкивался (лично я) с задачами фуекционального программирования. Но даже не являясь сильно тормознутой - она по-любому уступает С++ (хотя и на этот счет есть тесты Если это нормальный С++, то он быстрее джавы.
Но если вестись на поводу у Страуструпа и химичить с шаблонами и С++ iostreams, то можно таки замедлить С++ до уровня "медленнее джавы".

OES
15.12.2005, 18:16
Ну, да, сравнивал уже. И если уж брать за основу, то это конечно же Политех(все-таки вторая вышка, в отличии от просто доп. образования). Но, с др. стороны здесь по времени учиться меньше, да и практики преподают, которые каждый день с какими-то рабочими проблемами сталкиваются, в отличии от вузовских преподов, пусть даже политеховских и даже сертифицированных Oracl'м и M$(насколько я помню вопрос сертификации уже освещался несколько тем назад). Тока у меня вопрос был относительно другого. С С я немного знаком(за ++ пока не приходилось браться, знаком с ООП по Jav'е), работаю web-программером на php,JavaScript etc, вот.Хотел дальше С/C++ освоить и на нем уже дальше работать.Так вот они C раньше больше внимания уделяли, а теперь совсем почти на него забили(всего-то 70 часов, вместо 110), почти забили на MFC и львиную долю времени отдали изучению С# и сопутствующему.Вот и хотел знать обоснованным ли для меня будет такой расклад. Вот, что потом с работой? Я почитал некоторые отзовы о нем(С#) в инете, и что-то как-то не особо впечатляет, или это не так? Ну и про MFC. Раз уделяли раньше так много внимания, значит библиотека востребована была, а теперь получается уже нет? так что-ли?
А насчет стоимости обучения у конкурентов, имхо, надо отталкиваться от следующего- сколько за полгода(за год) платить надо, т.к. эти выплаты происходят за вполне определенный период времени в течении которого личный доход известен. В Политехе получается-400$(800 в год), а в МАОВ'e сразу 550(1100 за год).

Будьте аккуратней со сравнениями стоимости, самая дешевая колбаса - не обязательно самая лучшая :)

Если говорить про Политех, то имеет смысл посмотреть на следующую программу подготовки
http://www.avalon.ru/PPS/CPP/
Если есть заинтересованность именно в языке C и сопутствующим технологиям - она подходит лучше.
Меньше каши в голове будет от пересечения с C#.