| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Изучение С++ в Linux |
| Автор: gguy 11.3.2006, 12:00 |
| 1.Постановка задачи: Устроиться примерно через месяц (варьируемый параметр) на работу в качестве С++ программера (без опыта работы), желательно под Linux. 2.Комментарий к постановке(можно пропустить при первом прочтении): Писал года 3 назад на VC++ 6.0 с MFC. Такие слова как virtual, templates, std не понимал. Год назад прошёл ради интереса успешно собеседование в одной фирме (МВ) на программиста linux, C++, oracle; фирма имеет дурную славу среди программистов, но уж больно вкусное место для начинающего. После собеседования благополучно забыл, что я - С++ программер; потом четыре месяца мучил деканат родного физфака. Оставшееся время возился с Gentoo. Перепробовал немножко скритовых языков: tcl, python, perl, lisp. Сейчас решил снова заняться поиском работы. Беглый обзор вакансий в интернет показал, что чаще других требуется C/C++ программист и чаще других берут неопытных С/С++ прогаммистов без портфолио (наверное, это связано с тем, что С/С++ не для домашних проектов, то есть кроме как на работе портфолио наполнить трудно). С++ ближе к машине и дальше от тупых людей, чем например perl. Потому C/C++. 3.Что я делаю сейчас по этому поводу. Скачал Страуструпа 3-е издание ангилйское в pdf (медленный поиск, нельзя юзать grep ). Скачал c++-faq-lite. То есть, некоторый набросок на среду существования есть (vim как всегда рулит). 4.НЕ ЗНАЮ ЧТО ПИСАТЬ. Нужен какой-нибудь небольшой проект, не откровенно учёбный и не такой маленький как упражнения в Страуструпе. Чтобы Страуструпа использовать скорее как справочник, а не как учебник. Чтобы попользоваться: virtual, templates, std, make, ld и т.п. Подскажите? 5.(Поскольку вряд ли кто ответит кроме меня на предыдущий пункт.) Какие программы в linux написаны с использованием C++(не C)? Можно конечно напустить grep на все тарболы дистрибутива, дав ему понюхать что-нибудь вроде "#include<string>", но может есть не такие радикальные способы? Может готовые списки в интернет? 6.Списки TODO для C++ программеров? |
| Автор: MAKCim 11.3.2006, 12:10 | ||
напиши эмулятор обобщенной машины, которая будет исполнять программу, которая в нее грузится (машины Тьюринга, Шенфилда и т. д) причем сама машина не должна знать какая конкретно программа в нее грузится (сам сейчас этим занимаюсь) тут тебе и виртуальность, и шаблоны (основной код), и использование стандартных алгоритмов, контейнеров (std) Добавлено @ 12:13 а вообще в Страуструпе довольно неплохие упражнения |
| Автор: MAKCim 11.3.2006, 12:50 | ||||
ну почему, в Linux-е действительно большинство системных программ (в том числе ядро) на C написаны
ну KDE, gnome, прикладные программы (в основном которые требует GUI) |
| Автор: bilbobagginz 11.3.2006, 13:24 | ||||||||
| 2Максим: ну извини меня, пока у человека без навыков Си дойдет пыхтелка до кода в режиме ядра.... большинство приложений в линухе пишется в зависимости от поставленной задачи. А огромное кол-во полезных больших приложений пишется на нескольких языках. а теперь о главном 2gguy: по пунктам..
Если ни бум бум ( т.е. без практики, т.е. НАВЫКОВ ) - не позорься, один раз прогоришь, трудно потом рекламу стереть (не из опыта). программирование - не наука а прикладное ремесло. Теоретически всегда правильнее писать правильно и по книжке, но на практике так не делают всегда. все инструменты которые ты описал имеют смысл в больших приложениях состоящих из похожих частей, или при написании библиотек. 2."фирма имеет дурную славу среди программистов" - не понял. "С/С++ не для домашних проектов" - пардон, мсье это фигня. "С++ ближе к машине и дальше от тупых людей, чем например perl" можно вам показать объектно-ориентированный код на перле. 3. не мрахай тозги. надо писать программы.
во первых: google. во вторых: я не знаю как на вашем физфаке общаются с внешним миром (читай: учеными мира) , но если как надо - то как минимум английский знать должен. есть такой "небольшой" сайтик по имени www.sourceforge.net, на котором гостят как минимум 50% открытых проектов. И поверь, большинство из них не разрабатывается супер про кодерами. поковырайся-ка там, выбери проект, и вперед. (там можно сделать запрос и по языку программирования )
а насчет Страуструпа, думаю что можно бы книгу и приобрести, если уже собираешься работать в сфере. и с ней сподручнее. |
| Автор: MAKCim 11.3.2006, 13:46 | ||||||||||
Добавлено @ 13:52
нет, это я к вопросу
и ответу на него DRUID3
вопрос то вполне был корректный и даже не смешной |
| Автор: gguy 11.3.2006, 14:29 |
| Спасибо всем. Я читаю, не хочу спорить. Не спорьте пожалуйста друг с другом. Если мне что-то непонятно - сам спрошу. Насколько я понимаю, "эмулятор обобщенной машины, которая будет исполнять программу, которая в нее грузится " - это вроде компилятора. Отдаю предпочтение чему-нибудь вроде генетических алгоритмов и мультиагентных систем. На данный момент насчитал только 11 записей c "С++" в разделе "help wanted" на sourceforge. Это нормально, или я не там смотрю? По немецкому у меня условно 5, а вот письменный английский боюсь может испортить те 1 - 3 приемлемых варианта, которые на sourceforge? isppel и diction юзаю, но достаточно ли этого? |
| Автор: bilbobagginz 11.3.2006, 14:42 |
| 1. насчет сорсфоржа - язык нужен для общения с разртаботчиками. (ну не все американцы/французы/китайцы знают русский язык 2. Help is ALWAYS WANTED. ( если написано, что "help wanted" - это значит что есть части, разработка которых уже стоит из-за нехватки рабочей силы ) в большинстве проектов - help needed, просто они все потихоньку разрабатывают. выбери подходящий себе проект. ознакомься с его кодом (что само по себе не всегда тривиально), а потом все просто: посмотри на баги в buzilla/другой системе отлова багов, и начинай их чинить. когда у тебя будет свой патч/модуль - свяжись с координатором проекта и скажи: "я вот тут написал, мне бы влить это в основное дерево...это решает баг 1,2,...,N" он посмотрит, вольет твой код, и даст тебе счет на CVS/SVN проекта. с этого момента ты уже будешь полноправным участником. т.е. в начале говори кодом и патчами. потихоньку и английский подучишь. поголовно все пользуются либо масянями либо асями либо яху, или IRC. при такого рода общении удобно знать язык, в противном случае общение с тобой будет немного медленнее ( но не невозможным ) пока, удачи. |
| Автор: gguy 11.3.2006, 15:14 |
| Вот теперь другое дело |
| Автор: bilbobagginz 12.3.2006, 01:25 |
| не советую делать парсинг на все проекты (умирают раньше). выбери себе интересную тебе нишу, и туда GPS настраивай. пока. |