Вопрос не праздный.
Вот человек в формуме заявляет, знаю, мол, С++
дайте мне работу.
Знаю С++ — это:
1. Знаю кнопочки IDE Visual Studio C++?
2. Знаю как с помощью его wizard's написать простую программку используя MFC
и имею представление о технологиях баз данных?
3. Знаю 1 и 2 и в дополнение к этому с помощью ATL могу делать COM объекты?
4. Знаю 1 — 3 + Win32 API и могу сделать COM объект который ATL не использует?
5. Знаю 1 — 4, а кроме того имею опыт работы в куче разных SDK для Windows
(типа DirectX, DDK и что-нибудь еще чего я не знаю)
6. Кроме всего прочего могу с помощью assembler'a оптимизировать отдельные
критичные места в программе.
....
Какой уровень должен быть у программиста, чтобы он мог заявить сабж?
Здравствуйте Финченко Юрий, Вы писали:
ФЮ>Вопрос не праздный. ФЮ>Вот человек в формуме заявляет, знаю, мол, С++ ФЮ>дайте мне работу.
ФЮ>Знаю С++ — это: ФЮ>1. Знаю кнопочки IDE Visual Studio C++? ФЮ>2. Знаю как с помощью его wizard's написать простую программку используя MFC ФЮ> и имею представление о технологиях баз данных? ФЮ>3. Знаю 1 и 2 и в дополнение к этому с помощью ATL могу делать COM объекты? ФЮ>4. Знаю 1 — 3 + Win32 API и могу сделать COM объект который ATL не использует? ФЮ>5. Знаю 1 — 4, а кроме того имею опыт работы в куче разных SDK для Windows ФЮ> (типа DirectX, DDK и что-нибудь еще чего я не знаю) ФЮ>6. Кроме всего прочего могу с помощью assembler'a оптимизировать отдельные ФЮ> критичные места в программе. ФЮ>....
ФЮ>Какой уровень должен быть у программиста, чтобы он мог заявить сабж?
Честно говоря, непонятно причем здесь знания с++ и знания всех тех технологий, которые вы выше перечислили. Использовать эти технологии можно и не работая на с++. ИМХО, уровень знаний по с++ можно оценивать по примерно следующей нарастающей по сложности, и соответственно уровню подготовки с++ программиста шкале:
1. Знаю как написать класс Helloworld.
2. Знаю как использовать data abstraction.
3. Умею использовать, по крайней мере, схемы has a и is a.
4. Умею грамотно использовать multiple inheritance.
5. Умею грамтно использовать generic typing.
Ну и можно где-нибудь добавить про умелое использование механизма обработки исключений и умелую организацию garbage collection.
Здравствуйте Финченко Юрий, Вы писали: ФЮ>Знаю С++ — это: ФЮ>1. Знаю кнопочки IDE Visual Studio C++? ФЮ>2. Знаю как с помощью его wizard's написать простую программку используя MFC ФЮ> и имею представление о технологиях баз данных? ФЮ>3. Знаю 1 и 2 и в дополнение к этому с помощью ATL могу делать COM объекты? ФЮ>4. Знаю 1 — 3 + Win32 API и могу сделать COM объект который ATL не использует? ФЮ>5. Знаю 1 — 4, а кроме того имею опыт работы в куче разных SDK для Windows ФЮ> (типа DirectX, DDK и что-нибудь еще чего я не знаю) ФЮ>6. Кроме всего прочего могу с помощью assembler'a оптимизировать отдельные ФЮ> критичные места в программе. ФЮ>....
ФЮ>Какой уровень должен быть у программиста, чтобы он мог заявить сабж?
по-моему, то что перечислено, есть совсем не c++, а совокупность MSVC++/ATL/WinAPI/miscSDK/assembler, т.е. далеко не c++. Всё выше перечисленное может использовать и Си-программист. Для хорошего знания Си++(чем я по-моему пока не обладаю) нужно совсем другое — знание конструкций самого языка, а не конкретной реализации и специфики ОС, хотя и без этого некуда.
Здравствуйте alexsmar, Вы писали:
A>Честно говоря, непонятно причем здесь знания с++ и знания всех тех технологий, которые вы выше перечислили. Использовать эти технологии можно и не работая на с++.
Это было бы так, если бы обсуждение велось в форуме по C++. В данном форуме технологии имеют самое непосредственное отношение к C++ и без них резюме рассматривать никто не будет. :(
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте IT, Вы писали: IT>Это было бы так, если бы обсуждение велось в форуме по C++. В данном форуме технологии имеют самое непосредственное отношение к C++ и без них резюме рассматривать никто не будет. :(
Согласен, но тогда можно рассматривать и c++/Unix и всё тому подобное, т.е. надо рассматривать не чисто язык, а связку язык/среда/ОС. Хотя по-моему на нынешний момент последнее является наиболее важным.
Здравствуйте Финченко Юрий, Вы писали:
ФЮ>Знаю С++ — это: ФЮ>1. Знаю кнопочки IDE Visual Studio C++? ФЮ>2. Знаю как с помощью его wizard's написать простую программку используя MFC ФЮ> и имею представление о технологиях баз данных? ФЮ>3. Знаю 1 и 2 и в дополнение к этому с помощью ATL могу делать COM объекты? ФЮ>4. Знаю 1 — 3 + Win32 API и могу сделать COM объект который ATL не использует? ФЮ>5. Знаю 1 — 4, а кроме того имею опыт работы в куче разных SDK для Windows ФЮ> (типа DirectX, DDK и что-нибудь еще чего я не знаю) ФЮ>6. Кроме всего прочего могу с помощью assembler'a оптимизировать отдельные ФЮ> критичные места в программе. ФЮ>....
ФЮ>Какой уровень должен быть у программиста, чтобы он мог заявить сабж?
гдето между 0-м (у тебя не описан) и 10-м (у тебя не описан).
Все зависит от конкретной ситуации — кто-то спросит тебя про
виртуальные функции и будет рад что ты их знаешь — а кто-то
полезет в белье глубже (nothing personal тем кто меня это спрашивал
— в жизни пригодилось =) и спросит про value_type у map'а желая сразу услышать
это typedef пары из именно КОНСТАНТНОГО ключа и типа.
да — самое главное — для таких заяв всячески помогает резюме с
2-3 местами работы программистом на С++.
Когда я ставил вопрос, я имел в виду знаю С++
и технологии на которые он операется (соответственно
сервисы ОС, SDK и т.п.). Да, я не имел в виду программирование
под UNIX или любой другой системы кроме Windows.
Вопрос ставился более широко:
Какой уровень программист может считать необходимым и достаточным, если он ПРЕДПОЛОЖИМ собирается работать под Windows.
А знание конкретно синтаксиса и конструкция С++ — это минимально
возможный уровень, даже обсуждать, что тут что-то надо или не
надо знать — чистая демагогия (если я знаю С++ и не имею представления
о Windows API (как вариант о прерываниях DOS и что там в UNIX и т.д.) я не программист, а специалист по теории программирования.
Меня итересовало вопрос в контексте, кто работает программистом
на С++ и каким при этом уровнем знаний обладает.
ФЮ>Меня итересовало вопрос в контексте, кто работает программистом ФЮ>на С++ и каким при этом уровнем знаний обладает.
ФЮ>В таком контексте прошу и отвечать
Вот я пишу для предприятия СУБД. Использовал MFC, немного WinApp потомучто без него никак и впринципе все. Поэтому однозначно ответить что нужно можно так:
Я работаю C++ программистом.
Требования ко мне при приеме на работу были:
C++ itself (именно виртуальные функции, наследование, шаблоны и STL и пр.)
COM/DCOM/ATL
Win32
MFC
SQL Server и OLE DB
С моей точки зрения это минимально необходимый набор для выживания :)
Желательно также быть знакомым с VB, ASP, HTML.
Поскольку приложения с интерфейсом на базе броузера весьма
сейчас распространены.
Да не забудьте еще и XML (и связанные с этим технологии).
Много? Ну что поделаешь, тяжела ты доля программистская.
Здравствуйте visitant, Вы писали:
V>Надо же... V>А от меня хотели использование преобразование Фурье и никаких OLE DB :)))
Ага, а от меня вообще ничего не хотели, только опыт работы 3 года. А всё остальное их не интересовало. Получилось так: есть опыт — научим. Нет — sorry.
Re[5]: Что значит:
От:
Аноним
Дата:
16.10.01 11:33
Оценка:
Здравствуйте Mishka, Вы писали:
M>Здравствуйте visitant, Вы писали:
V>>Надо же... V>>А от меня хотели использование преобразование Фурье и никаких OLE DB :)))
M>Ага, а от меня вообще ничего не хотели, только опыт работы 3 года. А всё остальное их не интересовало. Получилось так: есть опыт — научим. Нет — sorry.
Интересно это все читать, все-таки! А у нас требовалось решить 2 задачки — одну дома, чтобы прийти на собеседование, а другую на фирме, чтобы пройти оное собеседование. Причем никаких-таких COM/ATL/Win32 и пр. В каждой фирме свои порядки!
Здравствуйте Аноним, Вы писали:
А>Здравствуйте Mishka, Вы писали:
M>>Здравствуйте visitant, Вы писали:
V>>>Надо же... V>>>А от меня хотели использование преобразование Фурье и никаких OLE DB :)))
M>>Ага, а от меня вообще ничего не хотели, только опыт работы 3 года. А всё остальное их не интересовало. Получилось так: есть опыт — научим. Нет — sorry.
А>Интересно это все читать, все-таки! А у нас требовалось решить 2 задачки — одну дома, чтобы прийти на собеседование, а другую на фирме, чтобы пройти оное собеседование. Причем никаких-таких COM/ATL/Win32 и пр. В каждой фирме свои порядки!
А может дело не в фирме, а в стране. Я ж в Ирландии устраивался. В России уж больно много умников — есть из чего выбирать.
Re[7]: Что значит:
От:
Аноним
Дата:
16.10.01 13:48
Оценка:
Здравствуйте Mishka, Вы писали:
M>Здравствуйте Аноним, Вы писали:
А>>Здравствуйте Mishka, Вы писали:
M>>>Здравствуйте visitant, Вы писали:
V>>>>Надо же... V>>>>А от меня хотели использование преобразование Фурье и никаких OLE DB :)))
M>>>Ага, а от меня вообще ничего не хотели, только опыт работы 3 года. А всё остальное их не интересовало. Получилось так: есть опыт — научим. Нет — sorry.
А>>Интересно это все читать, все-таки! А у нас требовалось решить 2 задачки — одну дома, чтобы прийти на собеседование, а другую на фирме, чтобы пройти оное собеседование. Причем никаких-таких COM/ATL/Win32 и пр. В каждой фирме свои порядки!
M>А может дело не в фирме, а в стране. Я ж в Ирландии устраивался. В России уж больно много умников — есть из чего выбирать.
Нет, думаю, страна тут не причем. У нас людей в где-то до месяца искали, по моим наблюдениям где-то из 4-х троим приходилось говорить "до свидания", хотя задачка, если честно хоть и противная, но для студента 4-го курса средней степени дебильности. Просто привыкли все окошки рисовать или может стресс я не знаю...
Просто смешно, когда для приема на работу требуют либо знание справочника (вопрос о value_type map'а), либо знание технологий, для освоения которых требуется при наличии поставленной задачи и (необязательное условие) более менее благожелательного отношения аборигенов неделя, ну максимум две. Любят же люди гнуть пальцы!!!
Здравствуйте Аноним, Вы писали:
А>Просто смешно, когда для приема на работу требуют либо знание справочника (вопрос о value_type map'а), либо знание технологий, для освоения которых требуется при наличии поставленной задачи и (необязательное условие) более менее благожелательного отношения аборигенов неделя, ну максимум две. Любят же люди гнуть пальцы!!!
Ну, батенька... Эдак за год можно выучить ~52 технологии. ;) Ну типа там COM, Corba, XML и ещё 49 таких. Здорово!
Только вот я сомневаюсь. Выучить конечно кое-что можно, например, название, несколько базовых определений и т.п. А выучить технологию... Технологии надо постигать, изучать, а не учить, это же в конце концов не стихотворение А.С. Пушкина. :)
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: Что значит:
От:
Аноним
Дата:
17.10.01 07:06
Оценка:
Здравствуйте IT, Вы писали:
IT>Здравствуйте Аноним, Вы писали:
А>>Просто смешно, когда для приема на работу требуют либо знание справочника (вопрос о value_type map'а), либо знание технологий, для освоения которых требуется при наличии поставленной задачи и (необязательное условие) более менее благожелательного отношения аборигенов неделя, ну максимум две. Любят же люди гнуть пальцы!!!
IT>Ну, батенька... Эдак за год можно выучить ~52 технологии. ;) Ну типа там COM, Corba, XML и ещё 49 таких. Здорово!
Да не нужно учить 52 технологии, в том-то и дело!!! Даже 22 не нужно. Просто нужно иметь голову на плечах и уметь работать с документацией. К нам, например, пришел человек, занимается системным программированием под Unix. До этого Unix'ом не занимался программировал банкоматы под полуосью. Потребовалось написать что-то под винды — написал под них. И как-то ничего.
IT>Только вот я сомневаюсь. Выучить конечно кое-что можно, например, название, несколько базовых определений и т.п. А выучить технологию... Технологии надо постигать, изучать, а не учить, это же в конце концов не стихотворение А.С. Пушкина. :)
Здравствуйте IT, Вы писали:
IT>Здравствуйте Аноним, Вы писали:
А>>Просто смешно, когда для приема на работу требуют либо знание справочника (вопрос о value_type map'а), либо знание технологий, для освоения которых требуется при наличии поставленной задачи и (необязательное условие) более менее благожелательного отношения аборигенов неделя, ну максимум две. Любят же люди гнуть пальцы!!!
IT>Ну, батенька... Эдак за год можно выучить ~52 технологии. ;) Ну типа там COM, Corba, XML и ещё 49 таких. Здорово!
IT>Только вот я сомневаюсь. Выучить конечно кое-что можно, например, название, несколько базовых определений и т.п. А выучить технологию... Технологии надо постигать, изучать, а не учить, это же в конце концов не стихотворение А.С. Пушкина. :)
Надо знать, что есть технология и знать её преимущества и недостатки. Если потом надо будет где-то её использовать, то всегда можно найти программера, который знает как это делать, а если нельзя найти, то и самим можно изучить, голова на то и дана.
Здравствуйте Аноним, Вы писали:
А>Потребовалось написать что-то под винды — написал под них. И как-то ничего.
Ну и что? Я никогда не писал под юникс, но если будет нужно, то что-то напишу. Вопрос не в этом, а вот в этом:
А>Просто смешно, когда для приема на работу требуют либо знание справочника (вопрос о value_type map'а), либо знание технологий.
Вот возьму и сразу выучу — это большое заблуждение, такое же как вот приедешь в Англию и сразу заговоришь по английски. Если мне нужен будет на проект человек со знаниями MFC, то я буду брать именно с этими знаниями, возможны варианты в смежных областях, например знание OWL при наличии опыта в WinAPI. Если мне нужно программить сокеты, будем искать спеца по сокетам и здесь уже менее важно на чём он их писал, на C++ или дельфях. COM — COM. В любом случае, брать человека с улицы у которого нет необходимых знаний и который утверждает, что:
А> ...знание технологий, для освоения которых требуется при наличии поставленной задачи и (необязательное условие) более менее благожелательного отношения аборигенов неделя, ну максимум две.
я даже и не собираюсь.
"Любят же люди гнуть пальцы!!!" (c) Аноним ;)
Учится, учится и учится. (с) наш общий дедушка. И не надо никому рассказывать, что любую технологию можно выучить за две недели, это даже не смешно.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте Финченко Юрий, Вы писали:
ФЮ>Когда я ставил вопрос, я имел в виду знаю С++ ФЮ>и технологии на которые он операется (соответственно ФЮ>сервисы ОС, SDK и т.п.).
"опирается", прошу прощения за то, что придираюсь к словам. :) Вот только, насколько я понимаю, C++ нисколечки не опирается на технологии типа сервисов ОС, SDK etc.
ФЮ>Да, я не имел в виду программирование ФЮ>под UNIX или любой другой системы кроме Windows. ФЮ>Вопрос ставился более широко: ФЮ>Какой уровень программист может считать необходимым и достаточным, если он ФЮ>ПРЕДПОЛОЖИМ собирается работать под Windows.
"Под Windows" — это уже очень и очень широко. В целом, многие в этой дискуссии уже высказали эту мысль...
ФЮ>А знание конкретно синтаксиса и конструкция С++ — это минимально ФЮ>возможный уровень, даже обсуждать, что тут что-то надо или не ФЮ>надо знать — чистая демагогия (если я знаю С++ и не имею представления ФЮ>о Windows API (как вариант о прерываниях DOS и что там в UNIX и т.д.) ФЮ>я не программист, а специалист по теории программирования.
Я бы не стал утверждать, что я хорошо знаю "конкретно синтаксис и конструкции C++", из чего следует, что до "минимально возможного уровня" я не дотягиваю. С другой стороны, я и не "специалист по теории программирования", которых, кстати, не так много, и которые, в общем-то, все же пользуются спросом.
ФЮ>Меня итересовало вопрос в контексте, кто работает программистом ФЮ>на С++ и каким при этом уровнем знаний обладает.
Работаю программистом, немного знаю C/C++, недавно (года полтора-два назад) познакомился с Visual C++, имею представление о COM (писал и пишу), но не знаком с ATL. Знаю что такое база данных, реляционная модель и, например, нормализация, но утверждать, что "хорошо умею программировать БД" опять же не стану. Знаком с MFC — "имею опыт работы"... Да что это, я здесь свое резюме буду писать, да?! :)
Короче, много чего... не "знаю", а скорее "знаком". По мере необходимости вникаю более подробно в ту или иную "технологию", хотя, как ни странно, компьютеры (имеется в виду Цифровая Электронная Вычислительная Машина) везде очень похожи и программирование их, соответственно, тоже. Но IT прав: "вот возьму и сразу выучу" — так не бывает. Я, например, не смогу "взять и сразу выучить" тот же Delphi + Oracle в объеме, необходимом для разработки приличного проекта. По крайней мере "не так сразу"... :)