Тим 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 паттернами