среда, 11 февраля 2009 г.

работа

В этом сообщении я хотел бы высказать кое-какие размышления о перспективности с++ в плане карьерного роста.

Ни для кого не секрет, что си плюс плю является самым популярным языком в профессиональной среде. Но что нужно, чтобы войти в эту среду? Давайте представим одного маленького неопытного кодера, только только закончившего универ, и желающего работать по своей непосредственной специальности. Но тут его поджидают огромное количество подводных камней. 

Кто возьмет программиста без опыта работы в команду разработчиков? Правильно, никто. А как этому юному, полному надежд и энтузиазма кодеру найти работу, чтобы себя обеспечивать?

На этот вопрос у меня родилось пока что несколько предположений. 

Опыт, решает все, тогда его нужно нарабатывать. Писать для себя различные фриварные программки и обязательно выкладывать их в сеть. Чтобы можно было показать при случае потенциальному работадателю. "Вон, делать было нечего, написал утилитку, посмотрите, она вроде довольно популярна". Интересно, а потенциальный работадатель воспримет всерьез? 

Какими еще способами можно показать что ты что то умеешь?

суббота, 7 февраля 2009 г.

а как его учить то??

Если у тебя нет четко поставленной цели, а есть лишь желание добиться чего то абстрактного - ты ничего не достигнешь. Такой вывод сделал я за свои 20 лет жизни. Я думаю, этот принцип действует всегда и везде. Например, мне нужно сдать экзамен, есть определенное количество вопросов на которые я должен знать ответ. И есть определенное время, которое у меня есть на подготовку. Чтобы быть еще конкретней, есть 100 вопросов и 3 дня подготовки. Как организовать свое время чтобы быть максимально эффективным? Для себя я вывел следующую методику. Сначала я просмотрю все вопросы и постараюсь определить на какие мне понадобиться больше времени, на какие меньше. Естесственно, определяю навскидку. И потом стараюсь рационально распределить мое время на все темы, чтобы их максимально охватить + время в завершении третьего дня, чтобы бегло просмотреть все что было прочтено\изучено за эти трое суток. 

Так же я планирую заниматься изучением c++. Как я уже сказал, разбираться с ним я буду с помощью Роберта Лафоре и его отличной книжки, в которой, как и в большинстве книг, есть деление на большие главы, а потом они подразделены на маленькие части. Итак, как же определить на какую часть может уйти больше времени, а на какую меньше? Принцип довольно прост, если тема объемная и требует тщательного изучения, то она скорее всего будет располагаться на большем числе страниц, чем та которая проще в освоении. По моему мнению, в кодинге сложно предугадать какая тема будет легкой или сложно (кроме явных основ и очевидных вещей), но я думаю, автор хорошо разбирается в предмете и наработал большой опыт в этом вопросе (не зря ведь книга выдержала столько переизданий и пользуется большой популярностью у американских студентов). 

Для начала, я собираюсь тщательно просмотреть оглавление и определить сколько у меня будет уходить времени на каждую главу. Туда я так же буду включать то количество драгоценных часов, которое у меня будет уходить на практику. 

После всего этого, я приступлю непосредственно к чтению главы и разбору исходников, приведенных в книге в качестве примеров. А завершаюшей частью я сделаю саму практику программирования. Так как, особого применения своих умений и знаний, полученных из книги я найти не смогу (это на начальном этапе изучения) то я буду выполнять абсолютно все упражнения, приведенные в конце каждой темы, для закрепления. При этом, я буду заставлять себя выполнять даже те задачи, которые я точно знаю как решить и которые возможно будет скучно реализовать. Зачем? Просто чтобы лучше запомнить синтаксис, чтобы в будущем ускорить процесс набивания кода программ.

Вот, собственно, таким образом я и собираюсь войти в этот интересный мир программирования

вторник, 3 февраля 2009 г.

IDE

пришло время для выбора подходящей мне IDE. скажу сразу, не хочу использовать для начала что нибудь вроде visual studio. слишком уж громоздкой и тяжелой для моих задач она мне представляется.

опять пошерстил по форумам, покачал различных иде, и готов сделать выбор. для начала из чего я выбирал. выбор изначально я ограничил двумя пунктами:

1)Code::blocks. Понравилась больше всего, ее я и буду использовать. Удобный интерфейс, бесплатная среда разработки, бесплатный компилятор (как я понял можно использовать не только установленный по умолчанию gcc, но и любой другой). Не знаю конечно зачем это нужно, ну думаю я разберусь с этим вопросом чуть позже.  

2)Dev-c++. Довольно таки приятная IDE, именно та версия, которая мне попала в руки сейчас не развивается. Разработчиками сейчас активно совершенствуется wxDev-c++. Как я понял, это примерно та же среда разработка но с поддержкой бесплатного визуального интерфейса аля дельфи.

Собственно из за чего я начал искать и пробовать другие ИДЕ, а не ограничился visual studio? В общем то, ответ на этот вопрос довольно прост. По сравнению с визуал студио code::blocks работает быстрее и менее ресурсоемкий. Не знаю, может быть он и не генерирует не настолько оптимизированный код, или экзешники будут выходить больше размером, это для меня в данных момент не важно

Мой выбор Code::blocks

понедельник, 2 февраля 2009 г.

какую же выбрать книжку? хмм...

начинаю свой день с поиска нужной вещи, а именно книжки, которая должна мне помочь в моем нелегком деле. 

найти литературу по си плюс плюс не проблема, скорее даже проблема в том, что этой самой литературы просто море, и наверно каждая 2-3 книга для новичков, и обещает быть самой лучшей, самой понятной и вообще самой самой. 

поэтому я для начала решил ознакомиться с электронными вариантами, а потом, когда выберу максимально подходящую для себя, приобрету бумажный экземпляр.

на форумах довольно таки много тем вроде "помогите выбрать книжку новичку", и в общем то круг поиска довольно таки сильно сузился благодаря прочтению таких топиков.

итак, из чего я буду выбирать?

1) Бьярн Страуструп. Везде где не читаю, везде рекомендуют, но с другой стороны, говорят что довольно сложна для чтения, тем более для новичка. Но ничего, я все таки решил посмотреть что она из себя представляет, чтобы составить собственное мнение. Тем более информация из первоисточника :)

2) Робер Лафоре. "Объектно-ориентированное программирование на C++". Тоже довольно неплохая книжка по отзывам, тем более что она вышла в серии "Computer Science" от издательства Питер. А это все таки знак качества, литература проверенная временем.

3)Харви Дейтел, Пол Дейтел - Как программировать на С. Тоже довольно хорошие мнения, больше ничего сказать про нее не могу, кроме того что изучение начинается с C, а не C++. Возможно так и должно быть, но у меня почему то есть мысли что языки довольно таки различны, и изучение чистого си займет определенное время, которое я не хотел бы тратить на устаревший язык.

Ну и в заключение этого сообщения, я хотел бы поделиться ссылками на эти 3 книги.

Роберт Лафоре. Объектно-ориентированное программирование на c++

Бьярн Страуструп. The C++ programming language third edition(книга на английском)

Харви Дейтел, Пол Дейтел - Как программировать на С

воскресенье, 1 февраля 2009 г.

с чего же начать?

Итак, я решил завести этот блог. Зачем он мне нужен? Прежде всего, потому что я хочу научиться программировать, причем мне хотелось бы сделать это увлекательное занятие своей профессией. 

До того как решиться на изучение си, я уже имел представление о кодинге, что он из себя представляет, и знал кое какие основы (это сказывается опыт попыток программирования на паскале, дельфи :))

Для того чтобы начать мне необходимо определиться:

1) с источником информации, ну грубо говоря, с книгой, по которой я приступлю к изучению, так же было бы неплохо найти адекватные и полезные сайты и форумы, где можно было бы найти ответ на интересующий вопрос

2) компилятор.  Ввиду их громадного количества у меня будет выбор, посмотрим какие существуют и какой же больше понравится мне, пока не буду углубляться в дебри типа мультиплатформенности, поддержки продвинутых технологий, на данный момент мне нужен чистый c++ компилятор. Есстественно компилятор мне нужен под виндовс, варианты под дос я даже и не рассматриваю.

3)метод изучения. Нужно четко продумать саму стратегию обучения, чтобы процесс был максимально эффективным, и максимально полезным.

На этом, заканчиваю свой первый пост, завтра будет новый день, и начало моего изучения. Пожелаю самому себе удачи. Надеюсь мне хватит силы воли чтобы ежедневно заставлять себя заниматься