Здравствуйте! Возникла такая ситуация: я работаю в конторе программистом с\с++
по достаточно узкому профилю — пишу утилиты для удаленного управления по snmp.
После того как была написана основная библиотека, осталась только однообразная
монотонная работа, с которой вроде бы справляюсь. В связи с этим, есть
возможность час-другой в день уделять самообразованию. Работаю всего 2 месяца, до
того программировал только в институте, соответственно уровень знаний никакой.
Хотелось бы совершенствоваться в С++, основы которого вроде бы знаю (в объеме где-то 2/3 Страуструпа). Подскажите, в каком направлении копать. Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч. Ничего из этого не знаю, пишу на MFC+Api на MSVC6 (не мой выбор, и, к сожалению, изменить это пока нельзя). С чего начать? не хотелось бы изучать что-то, что умрет через год. Только не говорите .NET,
т.к VS.NET на рабочем месте вызовет вопросы со стороны начальства
Здравствуйте, zzzzz, Вы писали:
Z>Хотелось бы совершенствоваться в С++ >Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч.
Здравствуйте, korzhik, Вы писали:
K>Здравствуйте, zzzzz, Вы писали:
Z>>Хотелось бы совершенствоваться в С++ >>Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч.
K>Я бы начал с STL
Здравствуйте, dimitry_dimitry, Вы писали:
>>>Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч.
K>>Я бы начал с STL
_>а я бы с COM
А я бы потратил неделю на то и неделю на другое. Дня STL это достаточно чтобы
почти весь изучить, а для COM чтобы понять вообщем. В глубь залезал бы уже позже.
Здесь тоже 20% усилий дают 80% результата.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Anatolix, Вы писали:
A>Здравствуйте, dimitry_dimitry, Вы писали:
>>>>Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч.
K>>>Я бы начал с STL
_>>а я бы с COM
A>А я бы потратил неделю на то и неделю на другое. Дня STL это достаточно чтобы A>почти весь изучить, а для COM чтобы понять вообщем. В глубь залезал бы уже позже. A>Здесь тоже 20% усилий дают 80% результата.
а я бы не касался STL. я бы ActiveX контролы начал копать
Здравствуйте, trolik, Вы писали:
T>Здравствуйте, zzzzz, Вы писали:
Z>>Только не говорите .NET, Z>>т.к VS.NET на рабочем месте вызовет вопросы со стороны начальства
T>В чем проблема? Пиши в нотепаде — собирай из командной строки
Здравствуйте, dimitry_dimitry, Вы писали:
_>Здравствуйте, Anatolix, Вы писали:
A>>Здравствуйте, dimitry_dimitry, Вы писали:
>>>>>Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч.
K>>>>Я бы начал с STL _>>>а я бы с COM A>>А я бы потратил неделю на то и неделю на другое. _>а я бы не касался STL. я бы ActiveX контролы начал копать
Здравствуйте, zzzzz, Вы писали:
Z>Здравствуйте, dimitry_dimitry, Вы писали:
_>>Здравствуйте, Anatolix, Вы писали:
A>>>Здравствуйте, dimitry_dimitry, Вы писали:
>>>>>>Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч.
K>>>>>Я бы начал с STL _>>>>а я бы с COM A>>>А я бы потратил неделю на то и неделю на другое. _>>а я бы не касался STL. я бы ActiveX контролы начал копать
Z>какая-то неопределенность в ответах
нее. все так и было. когда было%)
"бы" значит "если бы я был на месте мужика, который пишет по достаточно узкому профилю"
Здравствуйте, zzzzz, Вы писали:
Z>Здравствуйте! Возникла такая ситуация: я работаю в конторе программистом с\с++ Z>по достаточно узкому профилю — пишу утилиты для удаленного управления по snmp. Z>После того как была написана основная библиотека, осталась только однообразная Z>монотонная работа, с которой вроде бы справляюсь. В связи с этим, есть Z>возможность час-другой в день уделять самообразованию. Работаю всего 2 месяца, до Z>того программировал только в институте, соответственно уровень знаний никакой. Z>Хотелось бы совершенствоваться в С++, основы которого вроде бы знаю (в объеме где-то 2/3 Страуструпа). Подскажите, в каком направлении копать. Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч. Ничего из этого не знаю, пишу на MFC+Api на MSVC6 (не мой выбор, и, к сожалению, изменить это пока нельзя). С чего начать? не хотелось бы изучать что-то, что умрет через год. Только не говорите .NET, Z>т.к VS.NET на рабочем месте вызовет вопросы со стороны начальства
а я бы начал с C#, компилятор из командной — шобы начальство врагов не заподозрило
Здравствуйте, zzzzz, Вы писали:
Z>Здравствуйте! Возникла такая ситуация: я работаю в конторе программистом с\с++ Z>количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч. Ничего из этого не знаю, пишу на MFC+Api на MSVC6 (не мой выбор, и, к сожалению, изменить
Если вы программируете на C++, то обязательно нужно знать STL. Это неотъемлимая часть языка, и ее нужно знать от А до Я. На перспективу надо еще изучить boost, т.к. есть высокий шанс, что он появится в новом стандарте.
Nuald wrote: > > Здравствуйте, zzzzz, Вы писали: > > Z>Здравствуйте! Возникла такая ситуация: я работаю в конторе > программистом с\с++ > Z>количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч. > Ничего из этого не знаю, пишу на MFC+Api на MSVC6 (не мой выбор, и, к > сожалению, изменить > > Если вы программируете на C++, то обязательно нужно знать STL. Это > неотъемлимая часть языка, и ее нужно знать от А до Я. На перспективу > надо еще изучить boost, т.к. есть высокий шанс, что он появится в новом > стандарте.
За последние полтора года работы с C++, STL в числом виде не был нужен
ни разу. В отдельных фирмах он полностью заменяется на библиотеки
RogueWave, и, возможно, какие-то еще альтернативы.
Могу предположить, что за следующие полтора года ситуация не изменится.
Здравствуйте, dimitry_dimitry, Вы писали: K>>>>Я бы начал с STL
_>>>а я бы с COM
A>>А я бы потратил неделю на то и неделю на другое. Дня STL это достаточно чтобы A>>почти весь изучить, а для COM чтобы понять вообщем. В глубь залезал бы уже позже. A>>Здесь тоже 20% усилий дают 80% результата.
_>а я бы не касался STL. я бы ActiveX контролы начал копать
STL это очень простая и полезная либа отдачу от которой можно получать в любом проекте
на C++ примерно через неделю после начала ее использования. В том числе и в ActiveX проектах.
Сейчас она входит в тандарт языка C++ т.е. это раздел C++. Без нее например можно даже не
лезть на Brainbench тест по C++ сдавать — не сдах просто. Людей которые к нам присылают резюме
если мы там не видим STL то даже на собеседование не зовем. (предварительно спращиваем по email
действительно не знает или просто забыл вписать)
Т.к. это означает что человек либо вообще не пользуется сложными структурами данных
либо пишет их сам, тратя время и садя ошибки(либо заложился на некую непереносимую либу
и пользуется ей, не понятно зачем учить тучу поделок от разный фрейморков если можно выучить
STL)
COM(ActiveX,DCOM) это полезная технология, но эра когда специалистам по COM платили бешенное
бабло imho уже прошла. Изучать стоит — пригодитя но потрать неделю на STL, а потом лезь в COM.
В нем можно копаться годы. Лучше это делать уже зная STL.
Вообщем вообще ваш спор напоминает что человек спрашивает "есть свободное время,
что лучше научиться читать или защитить кандидатскую". Конечно кандидатскую лучше
но я бы сначала читать научился.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, kittown, Вы писали:
K>За последние полтора года работы с C++, STL в числом виде не был нужен K>ни разу. В отдельных фирмах он полностью заменяется на библиотеки K>RogueWave, и, возможно, какие-то еще альтернативы.
K>Могу предположить, что за следующие полтора года ситуация не изменится.
У вас использование Rogue Wave связано с Legacy кодом. И это частный случай.
Частные случаи не считаем. Я тоже могу сказать что мне ни разу RW не пригодился,
и у меня вообще его нету, но один пример не подтверждает правило.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Anatolix, Вы писали:
A>Вообщем вообще ваш спор напоминает что человек спрашивает "есть свободное время, A>что лучше научиться читать или защитить кандидатскую". Конечно кандидатскую лучше A>но я бы сначала читать научился.
т.е. вы считаете что без знания stl с com связываться не стоит?
аплодисменты!
STL является частью стандарта языка, поэтому ЛЮБОЙ специалист, позиционироющий себя знатоком С++ — ОБЯЗАН знать эту библиотеку. Вы можете не знать COM, ATL, MFC — это специфика Windows. Но STL — знать обязательно! boost — как полигон для проверки идей, которые войдут в следующий стандарт С++. Например, интеллектуальные указатели....
Кроме того, разбор внутренности STL заставит вас окунуться в неисчерпаемый мир шаблонов, без которых сейчас на С++ писать просто невозможно...
А остальную специфику Windows — по мере необходимости. COM — очень полезно знать при любых вариантах работы — просто квалификация повышается по мере изучения...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Anatolix wrote: > > Здравствуйте, kittown, Вы писали: > > K>За последние полтора года работы с C++, STL в числом виде не был нужен > K>ни разу. В отдельных фирмах он полностью заменяется на библиотеки > K>RogueWave, и, возможно, какие-то еще альтернативы. > > K>Могу предположить, что за следующие полтора года ситуация не изменится. > > У вас использование Rogue Wave связано с Legacy кодом. И это частный случай.
Не, мы половину кода уже переписали с тех пор. В частности, одной из
причин за RogueWave была гарантия threadsafe еще со стародавних
времен.
На самом деле, если человек не способен отказаться от какого-нибудь STL
и полностью перейти на RogueWave или наоборот, этот минус посерьезнее,
чем просто незнание STL. Да и чего там знать ? Либа как либа, доки
в зубы и в пусть, чего ее зубрить ?
Тим wrote: > > К>Да и чего там знать ? Либа как либа, доки > K>в зубы и в пусть, чего ее зубрить ? > > K>Mikhail > > Любопытно было бы посмотреть на кандидата, устраивающегося на работу с > такими аргументами...
Смотря какого уровня кандидат и какая работа нужна. Если при
поступлении на работу ключевую роль играет владение простейшими,
но многочисленными тонкостями обычных инструментов вроде C++, то
такой работодатель лично у меня вызовет большое сомнение в его
опыте либо в его психологичеком здравии. У нас в работе тонна
разных либ и учить их "про запас" — полное безумие. Библиотеки
C++, в том числе стандартные, ничем не лучше других. Тем более,
что может быть сложного и оригинального в очередной подборке
коллекций после разных Java Collections, RogueWave, и им
подобных ? Я понимаю если бы сравнение шло бы с каким-нибудь
голым C, но я плохо себе представляю программиста, за пару лет
работы не наевшегося бы разных хешей, списков, массивов
и прочих мапов в паре-тройке языков. Они везде похожи
как близнецы, а тот же RogueWave похож на STL-евые коллекции
и на явские одновременно.
Это все равно что спрашивать с кандидата опыт хождения
именно в белых тапочках. Да, в черных ходил, да, в
коричневых ходил, но в белых не ходил — значит не
умеет и не подходит.
Здравствуйте, dimitry_dimitry, Вы писали:
_>Здравствуйте, Anatolix, Вы писали:
A>>Вообщем вообще ваш спор напоминает что человек спрашивает "есть свободное время, A>>что лучше научиться читать или защитить кандидатскую". Конечно кандидатскую лучше A>>но я бы сначала читать научился.
_>т.е. вы считаете что без знания stl с com связываться не стоит? _>аплодисменты!
Очень грубое передергивание достойное интеллекта 5 летнего ребенка.
Я такого не утверждал.
Но обращаю внимание что
1) ActiveX не пишутся чтобы были, ActiveX пишутся чтобы делать полезные вещи. Т.е. непосредственно COM-Related кода в них не очень много. И чем более сложный и функциональный ActiveX тем меньше. Для написании логики, STL очень даже ничего т.к. на коллекциях COM-овских далеко не уедешь.
2) Без знания STL безусловно нельзя претендовать на то что твои знания C++ являются даже средними.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Anatolix, Вы писали:
A>Очень грубое передергивание достойное интеллекта 5 летнего ребенка. A>Я такого не утверждал.
вы аналогию привели. даже моему интеллекту она понятна.
A>Но обращаю внимание что A>1) ActiveX не пишутся чтобы были, ActiveX пишутся чтобы делать полезные вещи. Т.е. непосредственно COM-Related кода в них не очень много. И чем более сложный и функциональный ActiveX тем меньше. Для написании логики, STL очень даже ничего т.к. на коллекциях COM-овских далеко не уедешь.
почему? A>2) Без знания STL безусловно нельзя претендовать на то что твои знания C++ являются даже средними.
а это-то почему??
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, zzzzz, Вы писали:
LVV>STL является частью стандарта языка, поэтому ЛЮБОЙ специалист, позиционироющий себя знатоком С++ — ОБЯЗАН знать эту библиотеку. Вы можете не знать COM, ATL, MFC — это специфика Windows. Но STL — знать обязательно!
Есть варианты C++, где просто нет STL. И никаких рабочих портов разных неофициальных STL тоже нет.
Здравствуйте, dimitry_dimitry, Вы писали:
A>>Но обращаю внимание что A>>1) ActiveX не пишутся чтобы были, ActiveX пишутся чтобы делать полезные вещи. Т.е. непосредственно COM-Related кода в них не очень много. И чем более сложный и функциональный ActiveX тем меньше. Для написании логики, STL очень даже ничего т.к. на коллекциях COM-овских далеко не уедешь. _>почему?
Хм. Ну даже не знаю что тебе сказать. Рекомендую посмотреть STL и сравнить. В сумме наверное проще на примерах. Массив в STL сортируется в одну строку, любые контейнеры которые могут понадобится в жизни уже написаны, используются легко, строго типизированны. На контейнерах можно выполнять тонну алгоритмов различных. Ну и т.п. Т.е. в сумме удобно.
A>>2) Без знания STL безусловно нельзя претендовать на то что твои знания C++ являются даже средними. _>а это-то почему??
Ну как сказать. Вот расскажи мне как ты думаешь что такое C++? Мне вот кажется что это то что описывается стандартом C++. В данный стандарт STL входит. Т.е. STL часть языка. Есть он в любом компиляторе выпущенном после 98 года. Зайди на brainbech.com и попробуй сдать тесто по C++. Без STL выше 3.0 точно не светит(минимальный балл чтобы пройти 2.75).
Ну аналогия такая что нельзя претендовать, что знаешь Plain C если не умеешь пользоваться printf и другими функциями, так же нельзя претендовать что знаешь C++ если не знаешь STL который в принипе такая же базовая библиотека как та которая содержит printf.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Denis Mingulov, Вы писали:
DM>Здравствуйте, LaptevVV, Вы писали:
LVV>>Здравствуйте, zzzzz, Вы писали:
LVV>>STL является частью стандарта языка, поэтому ЛЮБОЙ специалист, позиционироющий себя знатоком С++ — ОБЯЗАН знать эту библиотеку. Вы можете не знать COM, ATL, MFC — это специфика Windows. Но STL — знать обязательно!
DM>Есть варианты C++, где просто нет STL. И никаких рабочих портов разных неофициальных STL тоже нет.
Это — не стандартный С++. А чел спрашивает об изучении не платформы а С++
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
A>Ну как сказать. Вот расскажи мне как ты думаешь что такое C++? Мне вот кажется что это то что описывается стандартом C++. В данный стандарт STL входит. Т.е. STL часть языка. Есть он в любом компиляторе выпущенном после 98 года. Зайди на brainbech.com и попробуй сдать тесто по C++. Без STL выше 3.0 точно не светит(минимальный балл чтобы пройти 2.75). A>Ну аналогия такая что нельзя претендовать, что знаешь Plain C если не умеешь пользоваться printf и другими функциями, так же нельзя претендовать что знаешь C++ если не знаешь STL который в принипе такая же базовая библиотека как та которая содержит printf.
а если я знаю буст но не знаю stl? или еще что-нибудь, скажем sourcepro, но не stl?
LVV>STL является частью стандарта языка, поэтому ЛЮБОЙ специалист, позиционироющий себя знатоком С++ — ОБЯЗАН знать эту библиотеку. Вы можете не знать COM, ATL, MFC — это специфика Windows. Но STL — знать обязательно! boost — как полигон для проверки идей, которые войдут
а у нас в проекте запрещено использовать STL. и знать ее не требуется
но принципы заложенные в основу знать полезно, особенно когда свои библиотеки пишешь
A>Но обращаю внимание что A>1) ActiveX не пишутся чтобы были, ActiveX пишутся чтобы делать полезные вещи. Т.е. непосредственно COM-Related кода в них не очень много. И чем более сложный и функциональный ActiveX тем меньше. Для написании логики, STL очень даже ничего т.к. на коллекциях COM-овских далеко не уедешь.
в ATL 7.0 туева хуча полезных классов общего назначения и можно обойтись ими т.к. COM и ActiveX уже предполагает что используется ATL
не понимаю че зацепились так за эту STL?
хорошая библиотека но многих вещей она не решает вообще. даже необходимого контейнера hash_map нету в стандарте,
про поддержку многопоточности и примитивов синхронизации уж молчу
Здравствуйте, dimitry_dimitry, Вы писали:
A>>Ну аналогия такая что нельзя претендовать, что знаешь Plain C если не умеешь пользоваться printf и другими функциями, так же нельзя претендовать что знаешь C++ если не знаешь STL который в принипе такая же базовая библиотека как та которая содержит printf. _>а если я знаю буст но не знаю stl? или еще что-нибудь, скажем sourcepro, но не stl?
А если я знаю кунфу, но не знаю STL?
Я же тебе сказал что STL входит в стандарт и именно это ее выделяет из других библиотек.
Boost только собирается войти, про sourcepro вообще ничего не слышал.
Я не говорю что человек которому не пригодилась STL не достоин разговора. Но человек который на объяснение почему он не будет изучать STL тратит время сравнимое с необходимым для ее изучения вызывает подозрение в невменяемости. Так же сразу появляются подозрения что страуструпа он не читал, хотя это тоже не преступление.
Впрочем обычно не имеет смысл спорить с человеком нужен STL или нет. Проверочный вопрос простой.
Есть массив:
char* s[]={"Beta","Gamma","Alpha"};
Отсортируй в обратном направлении в одну строку(не по указателям, а лексикографически). Boost и source pro на машине не установлены(ну или даже установлены).
Увидеть хочется что то в стиле.
sort(s,s+3,greater<string>());
проще что нибудь есть?
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Awaken, Вы писали:
A>хорошая библиотека но многих вещей она не решает вообще. даже необходимого контейнера hash_map нету в стандарте,
А в ATL 7.0 есть?
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Awaken, Вы писали:
A>не понимаю че зацепились так за эту STL? A>про поддержку многопоточности и примитивов синхронизации уж молчу
А это зачем нужно делать в STL ? Для каждой оси ты сам решаешь, как синхронизировать доступ: то ли с помощью мьютекса, то ли с помощью критической секции, или семафора, или еще как. Многопоточность, она ведь разная бывает и не проблема STL как будут пользоваться ее контейнерами. IMHO.
Здравствуйте, zzzzz, Вы писали:
Z>.... Подскажите, в каком направлении копать. Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч. ....
Все вышеперечисленное но немного в другом порядке
1. STL
2. Шаблоны
3. COM
4. ATL
Ну а дальше можно поизучать shell api и другие интерфейсы, вопросы многопоточности и синхронизации. В общем дело вкуса.
Здравствуйте, Anatolix, Вы писали:
_>>а если я знаю буст но не знаю stl? или еще что-нибудь, скажем sourcepro, но не stl?
A>А если я знаю кунфу, но не знаю STL?
а если я знаю dj or-beat, но не знаю кунфу?
A>Я же тебе сказал что STL входит в стандарт и именно это ее выделяет из других библиотек.
ну и что?
A>Boost только собирается войти, про sourcepro вообще ничего не слышал.
досадно.
A>Я не говорю что человек которому не пригодилась STL не достоин разговора.
так уже перестаньте говорить со мной!
A>Но человек который на объяснение почему он не будет изучать STL тратит время сравнимое с необходимым для ее изучения вызывает подозрение в невменяемости.
да. это так.
A>Так же сразу появляются подозрения что страуструпа он не читал, хотя это тоже не преступление.
A>Впрочем обычно не имеет смысл спорить с человеком нужен STL или нет. Проверочный вопрос простой.
а вы таки спорите%)
A>Есть массив: A>
A>char* s[]={"Beta","Gamma","Alpha"};
A>
A>Отсортируй в обратном направлении в одну строку(не по указателям, а лексикографически).
A>Boost и source pro на машине не установлены(ну или даже установлены).
A>Увидеть хочется что то в стиле. A>
Здравствуйте, Awaken, Вы писали:
A>в ATL 7.0 туева хуча полезных классов общего назначения и можно обойтись ими т.к. COM и ActiveX уже предполагает что используется ATL A>не понимаю че зацепились так за эту STL? A>хорошая библиотека но многих вещей она не решает вообще. даже необходимого контейнера hash_map нету в стандарте, A>про поддержку многопоточности и примитивов синхронизации уж молчу
Здравствуйте, kittown, Вы писали:
K>Тим wrote: >> >> К>Да и чего там знать ? Либа как либа, доки >> K>в зубы и в пусть, чего ее зубрить ? >> >> K>Mikhail >> >> Любопытно было бы посмотреть на кандидата, устраивающегося на работу с >> такими аргументами...
K>Смотря какого уровня кандидат и какая работа нужна. Если при K>поступлении на работу ключевую роль играет владение простейшими, K>но многочисленными тонкостями обычных инструментов вроде C++, то K>такой работодатель лично у меня вызовет большое сомнение в его K>опыте либо в его психологичеком здравии. У нас в работе тонна K>разных либ и учить их "про запас" — полное безумие. Библиотеки K>C++, в том числе стандартные, ничем не лучше других. Тем более, K>что может быть сложного и оригинального в очередной подборке K>коллекций после разных Java Collections, RogueWave, и им K>подобных ? Я понимаю если бы сравнение шло бы с каким-нибудь K>голым C, но я плохо себе представляю программиста, за пару лет K>работы не наевшегося бы разных хешей, списков, массивов K>и прочих мапов в паре-тройке языков. Они везде похожи K>как близнецы, а тот же RogueWave похож на STL-евые коллекции K>и на явские одновременно.
K>Это все равно что спрашивать с кандидата опыт хождения K>именно в белых тапочках. Да, в черных ходил, да, в K>коричневых ходил, но в белых не ходил — значит не K>умеет и не подходит.
dimitry_dimitry wrote: > > K>Это все равно что спрашивать с кандидата опыт хождения > K>именно в белых тапочках. Да, в черных ходил, да, в > K>коричневых ходил, но в белых не ходил — значит не > K>умеет и не подходит. > > прально
Прально то прально, но спрашивать все равно кто-то
удосужится. Вот так и изучаются некоторые инструменты,
исключительно для галочки.
Один выход — менять весовую категорию и снижать роль
программерских кейвордов в резюме.
Здравствуйте, Anatolix, Вы писали:
A>Здравствуйте, Awaken, Вы писали:
A>>хорошая библиотека но многих вещей она не решает вообще. даже необходимого контейнера hash_map нету в стандарте, A>А в ATL 7.0 есть?
кстати нету. но работа со строками и смарт-пойнтерами в ATL мне кажется более удобной
а некоторые утверждают что вот такое вот — это изящно и удобочитаемо
Здравствуйте, sc, Вы писали:
sc>Здравствуйте, zzzzz, Вы писали:
Z>>.... Подскажите, в каком направлении копать. Есть огромное количество технологий и библиотек: STL, ATL, ActiveX, COM, и проч. ....
sc>Все вышеперечисленное но немного в другом порядке sc>1. STL sc>2. Шаблоны sc>3. COM sc>4. ATL sc>Ну а дальше можно поизучать shell api и другие интерфейсы, вопросы многопоточности и синхронизации. В общем дело вкуса.
зачем прочесть Мейерса, Саттера, Александреску, Банду четырех, и Шмидта с его ACE паттернами
Здравствуйте, Awaken, Вы писали:
LVV>>STL является частью стандарта языка, поэтому ЛЮБОЙ специалист, позиционироющий себя знатоком С++ — ОБЯЗАН знать эту библиотеку. Вы можете не знать COM, ATL, MFC — это специфика Windows. Но STL — знать обязательно! boost — как полигон для проверки идей, которые войдут
A>а у нас в проекте запрещено использовать STL. и знать ее не требуется A>но принципы заложенные в основу знать полезно, особенно когда свои библиотеки пишешь
Т.е. у вас в проекте _запрешено_ использовать стандартизованные либы и всячески поощряется создание своих заменителей? Странно как-то, я не вижу в этом здравого смысла.
ArtemGorikov wrote: > > LVV>>STL является частью стандарта языка, поэтому ЛЮБОЙ специалист, > позиционироющий себя знатоком С++ — ОБЯЗАН знать эту библиотеку. Вы > можете не знать COM, ATL, MFC — это специфика Windows. Но STL — знать > обязательно! boost — как полигон для проверки идей, которые войдут > > A>а у нас в проекте запрещено использовать STL. и знать ее не требуется > A>но принципы заложенные в основу знать полезно, особенно когда свои > библиотеки пишешь > > Т.е. у вас в проекте _запрешено_ использовать стандартизованные либы и > всячески поощряется создание своих заменителей? Странно как-то, я не > вижу в этом здравого смысла.
Кто сказал, что в таких проектах пишут заменители, а не пользуют
другие готовые достойные либы ?
Здравствуйте, Denis Mingulov, Вы писали:
DM>Есть варианты C++, где просто нет STL. И никаких рабочих портов разных неофициальных STL тоже нет.
Угу, и на этих вариантах есть СОМ, да?
Здравствуйте, Awaken, Вы писали:
A>в ATL 7.0 туева хуча полезных классов общего назначения и можно обойтись ими
Да, а особенно ATL 7.0 полезен, когда программируешь под linux!
Здравствуйте, Awaken, Вы писали:
A>кстати нету. но работа со строками и смарт-пойнтерами в ATL мне кажется более удобной A>а некоторые утверждают что вот такое вот — это изящно и удобочитаемо
A>
A>strAddress1.erase(strAddress1.begin()+strAddress1.find_last_not_of(" ")+1,strAddress1.end());
A>
Нет это не удобночитаемо. С другой стороны цикл на 3 строки еще менее читаем. Да и ATL тоже.
Но если ты хочешь удобночитаемый язык, то не стоило выбирать C++
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Anatolix, Вы писали:
A>Увидеть хочется что то в стиле. A>sort(s,s+3,greater<string>());
Нда, если мне человек на собеседовании, на полном серьёзе приведёт такой код.... не как шутку, типа у нас же всего три элемента Это будет жирный минус. Не по тому, что он язык не знает, просто надо бует тратить время, чтобы мозги ему на место вправлять.
Да и не важно это все. Важно умеет ли человек думать или нет. Такое же тупое решение, всего лишь служит демонстрации вашего мнения.
С другой стороны, написание igreater для sort(a,a+sizeof(a)/sizeof(a[0]),igreater(strcmp)), вполне себе практический тест на язык.