- Если врач скажет Вам, что жить Вам осталось два месяца, что вы будете делать?
— Найду другого врача.
Здравствуйте, Susumanin, Вы писали:
S>Точнее в замешательстве. Я не знаю как мне быть. Я начинающий программер. Начал с С++, VC MFC и все такое...
ИМХО, правильно.
S>А все самое интересное началось с выхода всем известной Дот Нет. Все как помешались...
Это кто это
все?
Все маркетёры или все программисты? И что значит — помешались? Постят, что-ли, много?
S>Дот нет форева.
Однако, X-forever-тенденция.
На самом деле всё началось вообще неизвестно когда и регулярно происходит. C++ пытался уничтожить Fortran, Smalltalk объявлялся самой замечательной системой а-ля программирование для домохозяек, Windows пыталась уничтожить Unix...
S>В одном из сообщений про ATL кто то сказал: "да брость ты эту ATL и учи .Net. Зачем тратить время и деньги на изучение устаревшей технологии?". и т.д. и т.п.
Скорее всего ты тратишь не свои деньги на изучение ATL.
А если и тратишь, то наверняка не так много, чтобы можно было сравнивать с совокупными затратами на ту же еду.
ИМХО, ATL полезно знать не как технологию (делай раз, делай два), а как пример
построения технологии на базе библиотеки.
S>Вобщем забудте все что знали раньше и учите .NET.
Апологеты...
Их много у любого нового начинания, не переживай. Почитай постинги на RSDN, тут есть и те, кто отказались от Java (такой прогрессивной, что ураган) в пользу C++.
S>Блин.
Относись к этим вещам проще. Есть группа знаний, которую приходится перезабывать очень часто — это знания, касающиеся конкретных API. Другая группа, это уже скорее не знания, а понимание механизмов ("теория", грубо говоря) — их забывать приходится очень редко.
Добрый (надеюсь
) совет — не пытайся заучить ту или иную библиотеку. Разбирайся с
принципами и с языком, на котором она написана. Детали поймёшь быстро при необходимости. Ошибка, на мой взгляд, заключена в том, что в знании какой-то
библиотеки (по сути — совокупности готовых решений
уже понятых на данный момент проблем) ищут стабильности. Так что, не смешивай божий дар с яичницей.
Например, ATL — не более чем одна из
тысяч библиотек, написанных на C++ (кстати, не такая уж она и изящная, как и сам OLE/COM). Этих библиотек ещё будет вагон и малая телега. ИМХО, главное, понимать
принципы построения той или иной библиотеки, и причины, почему она сделана так, а не иначе.
Ни на одной библиотеке свет клином не сошёлся, точно так же, как он не сойдётся ни на одном из платформенных решений. Ему просто другие не дадут этого сделать.
Думаешь, у .NET не появится конкурентов, хотя бы в лице библиотечных и иных самопальных решений на том же C++?
А вот конурентов у реляционной теории или принципа подстановки Лисковой появится немного и не скоро.
S>А если завтра какая-нибудь "Moon" выпустит новый язык "Nescafe" а добрая Microsoft следом выпустит Ля Минор. И что ????
Ничего, поскольку если они будут языками общего назначения (а по-другому и быть не может, поскольку иначе как обещанием нового мира не привлечешь большой публики, а раз новый мир, то и должен быть общий для этого мира язык
), то обязательно будут похожи на C++ (вернее — на C с его клонами).
Это великие маркетинговые войны производителей платформенного софта, и не стоит переносить их проблемы на себя, любимого.
Другая сторона проблемы состоит в том, что манагёрски настроенные товарищи, естественно, снова развернут пальцы веером на предмет того, что у них самосовременные технологии от фирмы <нужное вписать>... Ну тут уж всё зависит от твоего искусства продавать себя.
S>Опять пошли все .... берите то что придумали мы и живите с ним...
S>Вопрос то вообщем-то прост. Лично я думаю что никакая дот нет не заменит старый добрый VC 6.0 . Только на долго ли его хватит??
Его (в смысле —
C++) хватит ровно настолько, насколько хватит
тебя и твоих коллег эффективно решать проблемы с помощью этого инструмента. От того, что MS, например, заявит, что C++ помер,
твой компилятор на
твоей машине работать не перестанет. Более того, поддержка C++ на уровне базовых платформ будет существовать ещё очень долго. А следовательно, и сам C++ — тоже. Извини, но не думаешь ведь ты, что переписать весь интерфейс ОС на очередном "Always+" это два байта переслать? Кстати, как ты думаешь, чего это вдруг MS заявила о выпуске почти ANSI-compliant компилятора C++?
S>Вобщем, действительно ли нужно мне, начинающему программеру, начинать все заново — учить дот Нет, С# и т.д. Неужели VC 6.0 уже скоро станет никому не нужен и все забудут что енто такое....?????????77
VC
6.0 хорошо бы забыть полностью, но с большой вероятностью он будет аукаться нам долго.
На этой глючной версии C++ было сделано очень много кода. Так что, забыть его насовсем удастся нескоро. 6-я версия, естественно, сменится 7-й, потом 8-й... и т.п. Кстати, под Windows довольно много компиляторов C++.
А что до .NET/C#, то разобраться с ним придётся, но учти, что он мутирует гораздо быстрее C++. Как я понимаю (возможно, другие меня и оспорят) — сие есть один из принципов MS: менять как можно больше всего как можно чаще.
S>аааааааааааааааааааааааааааа!
Не паникуй. Моё мнение — главное, уметь отличать зёрна от плевел и идеи от рецептов. И будь поциничней с новыми технологиями. Очень помогает
. Вот так или примерно так.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, AndrewVK, Вы писали:
A>>Да что ты с этим ротором носишься? Подавляющая часть приложений, написанных под .NET не будет работать под этим ротором. Там сильно урезанный рантайм. Не ты ли говорил, что там нет Windows Forms и еще кучи вещей? Практическая его ценность (в таком случае) не велика.
AVK>Ротор ценен тем что показывает принципиальную возможность и обеспечивает основу для других реализаций.
А как насчёт совместимости с оригиналом? Просто я недавнонарвался на сообщение MS примерно годичной давности, где суть сводилась ктому, что дескать, "переносите куда хотите, но вот если вы затронете интеллектуальную собственность MS, то...
"
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>А что до .NET/C#, то разобраться с ним придётся, но учти, что он мутирует гораздо быстрее C++. Как я понимаю (возможно, другие меня и оспорят) — сие есть один из принципов MS: менять как можно больше всего как можно чаще.
Oh boy!
Ты помнишь первые компиляторы C++? Тот же Zortech или Turbo C++ 1.0? И какие потом произошли изменения в следующих версиях? Код который был писан на этих версиях пришлось не слабо перекашивать, особенно тем кто вздумал использовать статические мемберы. Я просто уверен, что MS не допустит такой несовместимости в случае с C#. Если же назвать мутацией добавление, если не ошибаюсь, году в 92-93, шаблонов и нафик никому не нужного RTTI, то C# по сравнению с C++ в плане мутирования сынок.
ГВ>Как я понимаю (возможно, другие меня и оспорят) — сие есть один из принципов MS: менять как можно больше всего как можно чаще.
Определённо у тебя личный зуб на MS и Билляру. Сознайся
Здравствуйте, IT, Вы писали:
[оверквотинг-mustdie!]
IT>[...] C# по сравнению с C++ в плане мутирования сынок.
Угу, но и в плане истории тоже. Но думаю, что он наверстает упущенное.
ГВ>>Как я понимаю (возможно, другие меня и оспорят) — сие есть один из принципов MS: менять как можно больше всего как можно чаще.
IT>Определённо у тебя личный зуб на MS и Билляру. Сознайся
Отсутсвует начисто.
У меня зуб на замену голов руками.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
начинающему программеру важнее всего выработать хороший стиль, Если хочешь быть именно программером а не кодером учись прежде всего хорошо проектировать, синтезировать оптимальные алгоритмы. ИМХО понятие хорший програмист независимо от средств которыми он пользуется. Если хочешь в ближайшие годы соответствовать программерскому mainstream то наверна тебе все же лучше последовать совету местных апогогетов дотнета и учить шарп. Однака "знатоков дотнет" думаю в ближайшее время будет просто тьма. ИМХО уровень профессионализма за который человека считают "гуру" всегда будет оставаться высоким, а вот планка "среднего программиста" постепенно снижается — если лет 20 назад почти любой программер был сродни ученому или инженеру то сейчас большинство занимается "сборкой" — эдакие рабочие в цеху — со времением их заменят кодогенераторами.
В любом случае не советую тебе ставить во главу угла всякие либы — овладеть навыками работы с классами .NET Framework или там MFC — не есть признак великого ума и если тебе кроме этого нечем будет похвастаться — будешь эдаким легко заменяемым винтиком — с фирмы га фирму каждый год, ничего сложнее клиентов БД.
Надо знать фундаментальные алгоритмы, то есть Кнута 1-3 том. А остальное можно выучивыть на этой основе за неделю.