Как самому научиться программировать?
21010
100
Еще со школы мечтал стать программистом, после уроков постоянно оставался, чтобы посидеть в Паскале (других языков в школе не давали). Поступил на вечернее отделение по специальности "информатика" в один из ВУЗов (не буду называть какой, дабы не компрометировать). Сейчас закончил третий курс на одни отл., но должен признать, что там нас нихрена ничему не учат: поверхностное ковыряние в компе и куча дисциплин далеких от программирования.
Что же делать? Как, блин, научиться создавать реальные проекты? Четверокурснику вечернику уже пора искать работу по специальности, а я чувствую себя последним ламером со своими пятерками.
Может быть, ветераны программирования вспомнят молодость и поделятся опытом, как и где набраться уму-разуму.
Как я понимаю опыта работы у Вас еще нет?

посоветовать можно следующее:
1. найти работу связанную с программированием. Естественно без опыта в крупную компанию вряд ли возьмут. Но нужно начать с малого - вначале найти так сказать стартовую площадку - это может быть государственная организация или маленькая контора.
2. Поставить у себя дома компьютер, купить хорошую книжку (не для чайников) по программированию. Насчет книжки - тут зависит от работы - если связано с бухгалтерией, то бухгалтерские программы и т.д.
Ну вообщем досконально изучить программу которая используется в компании

3. А далее по мере работы будет появляться уже определенный опыт и вот потом можно уже искать новую высокооплачиваемую работу как настоящему специалисту.

Если только теорию изучать сложно, нужна практическая работа.


Кто ищет - тот всегда найдет!
Удачи!
Имхо, лучший вариант - домашний компьютер и хорошие книги. Более-менее постоянный и стабильный доступ к компу - необходимое условие. Книги лучше выбирать не самому - попросить знающих людей помочь. Хотя сейчас покупать необязательно - в Инете куча информации. А еще - практика, практика и еще раз практика. Плюс терпение. Ты, кстати, определился, в какой области лежат твои интересы? Программирование - оно знаешь ли, разное бывает...
Я бы посоветовал затесаться в какую-нибудь лабу в каком-нибудь институте, связанную с программированием. ИМХО туда легче устроиться чем в контору, т.к. конторы обычно ищут специалистов, а в институтах неплохая база для обучения/развития. Денег реальных для начала ты вряд ли там зарабоатешь, зато научишься. Есть несколько институтов в Академе, например ИИС, ИАиЭ, ИЯФ наконец.

Так же в процессе обучения очень помогает иметь конкретную задачу, поставленную перед тобой, а не абстрактно учиться, совершенствуя знания синтаксиса языка. Нужна именно практика. Я замечал за собой, что если месяца два не покодить, то потом немного непривычно, около часов 3 приходится "привыкать":миг:
netghost
Re: LotusAdmin, СтарыйМельник и netghost.
Благодарю за участие и советы.
Насчет ваших рекомендаций могу сказать следующее:

1. Компьютер дома. С этим проблемм нет - первая машина появилась году в 97-ом (мне было 14), причем за все это время лечил ее только я сам и апгрейды делал тоже собственноручно.
2. Определить область. Это я решил давно: интернет программированием особо не интересуюсь, бухгалтерией и БД тоже. Моя цель - создание приложений в среде С++ (в крайнем случае Delphi).
3. Найти работу. Это посложнее - если зайти в тот же банк вакансий НГС, то ПРАКТИЧЕСКЕ везде
требуется стаж работы. Или, может быть, у вас есть знакомая конторка, где нужен непрофессионал? Тогда прошу подробнее.
4. Книги. Тут дело еще сложнее: на той же самой Чикалде, например, по программированию в Сях
найдется книг двадцать, как минимум. Сделать реальный выбор самому на месте - практически
невозможно. Что касается "попросить знающих людей помочь" - именно это я и делаю на форуме. Так что, насчет книг - хотелось бы тоже поподробнее.
5. Лаба в институте. А вот это, честно говоря, новая идея. Только Академ - это далековато, да и вообще я о таком способе слышу впервые и не очень представляю, как это делается и в чем там будет заключаться моя задача.

Жду дальнейшего обсуждения.
3. Найти работу. Это посложнее - если зайти в тот же банк вакансий НГС, то ПРАКТИЧЕСКЕ везде
требуется стаж работы. Или, может быть, у вас есть знакомая конторка, где нужен непрофессионал? Тогда прошу подробнее.
Попробуй сам дать объяву. Если укажешь там, что студент, соответственно и работодатель будет расчитывать на то, что ты не сможешь рабоать полный рабочий день и опыта у тебя нет. Но и ясно будет, что больших денег не затребуешь.

Ну и кроме лаб в институтах есть куча бюджетных организаций (больницы, образовательные учреждения и т.п.), куда не пойдет опытный программер, т.к. такие деньги его не устроят, а студента могут взять. Ну и спрашивать народ надо. Может, какому спецу нужен помощник. Хотя я бы на месте такого спеца долго выбирала: это ж не только помощь, но и головняки - учить надо.
>>> 4. Книги. Тут дело еще сложнее: на той же самой Чикалде, например, по программированию в Сях найдется книг двадцать, как минимум. Сделать реальный выбор самому на месте - практически невозможно. Что касается "попросить знающих людей помочь" - именно это я и делаю на форуме. Так что, насчет книг - хотелось бы тоже поподробнее.

Мой тебе совет: купить или скачать где-нибудь книгу Страуструпа. Лучше него про С++ (имхо) никто не расскажет. Автор, все-таки :). Дома у меня где-то валялся электронный вариант, поищу. Только не помню, по-русски или по-аглицки :).
Ничего заранее не обещаю, но, возможно, могу предложить подработок и заодно возможность самообучаться под руководством. Подробности лучше по email, можете написать в приват форума.
Лабораториям институтов, как правило, нужны универсалы. Начиная от программирования микроконтроллеров и кончая теми самыми базами данных которые Вам не нравятся. Единственный минус, зачастую приходится быть не просто программистом широкого профиля, но и паяльник держать учиться, но это уже от склонностей зависит. Если один раз плату насквозь паяльником прожгешь больше к паяльнику не подпустятю :ха-ха!:
1. Компьютер дома. С этим проблемм нет - первая машина появилась году в 97-ом (мне было 14), причем за все это время лечил ее только я сам и апгрейды делал тоже собственноручно.
Эх, мне бы такую молодость:улыб:
2. Определить область. Это я решил давно: интернет программированием особо не интересуюсь, бухгалтерией и БД тоже. Моя цель - создание приложений в среде С++ (в крайнем случае Delphi).
А вот это очень зря! Каких приложений? Чистые сишники чаще всего никому не нужны, либо востребованы как специалисты в узких областях - драйверы(высокооплачиваемая, но скучная работа), системные библиотеки и т.д. А БД очень интересны сами по себе, да и сомневаюсь, что вам удастся мимо них пройти, если вы решили стать профессиональным программистом. Не говоря уже об интернете, странно в наше время его игнорировать.:улыб:Зря так сильно сужаете область применения своих знаний, попробуйте, вам понравится, чем разнообразнее работа, тем лучше.:улыб:
3. Найти работу. Это посложнее - если зайти в тот же банк вакансий НГС, то ПРАКТИЧЕСКЕ везде
требуется стаж работы. Или, может быть, у вас есть знакомая конторка, где нужен непрофессионал? Тогда прошу подробнее.

Ну, например, Алекта в Академе. Кузница кадров для ЦФТ и покойного Новософта.:улыб:Правда, там НГУшников сильно любят, из других ВУЗов сложно пробиться.

4. Книги. Тут дело еще сложнее: на той же самой Чикалде, например, по программированию в Сях
найдется книг двадцать, как минимум. Сделать реальный выбор самому на месте - практически
невозможно. Что касается "попросить знающих людей помочь" - именно это я и делаю на форуме. Так что, насчет книг - хотелось бы тоже поподробнее.

Страуструп "Язык программированя C++", 3-е издание. Лучше по C++ ничего нет и быть не может. Только придется еще изучать Windows API и т.д., вот тут выбор книг огромный. И еще совет - не вдававайтесь в тонкости C++, не пытайтесь использовать все его возможности на 100%, а то на все остальное времени не хватит.:улыб:Вот поэтому сишники чаще всего ничего не соображают в БД, а VBшники - запросто...

5. Лаба в институте. А вот это, честно говоря, новая идея. Только Академ - это далековато, да и вообще я о таком способе слышу впервые и не очень представляю, как это делается и в чем там будет заключаться моя задача.
С лабами не так все просто, все зависит от того, какие люди там работают: кто-то с логарифмических линеек пыль вытирает, а кто-то серьезные и современные вещи пишет, правда обычно в специфических предметных областях.

Ну а вообще, надо активно тусоваться с программерами, но налегать не на пиво, а на темы разговоров и обсуждений.:улыб:И работу так проще найти. И... писать, писать и еще раз писать! А если пока денежный вопрос не давит, то можно начать и с фривары, например, под чьим-нибудь руководством. Путь, пройденный от идеи до реализации, отладки и написания хелпа, будет очень интересен и полезен, в том числе и для поиска работы, может так статься, что не вы, а она вас найдет.:улыб:Ну и показать всегда будет что на собеседовании.
Well
>Страуструп "Язык программированя C++", 3-е издание. Лучше по C++ ничего нет и быть не может

Не соглашусь. Все-таки книга рассчитана на профи, которые знают и умеют программировать на чем-нибудь. И уж тем более эта книжка в качестве учебника не годится. Могу рекомендовать Г.Шилдта, название точно не помню, что-то вроде "Самоучитель С++".
CoolUser
Не соглашусь. Все-таки книга рассчитана на профи, которые знают и умеют программировать на чем-нибудь. И уж тем более эта книжка в качестве учебника не годится. Могу рекомендовать Г.Шилдта, название точно не помню, что-то вроде "Самоучитель С++".
Хм, тоже не соглашусь.:улыб:Автор топика говорил, что в Паскале "ковырялся". А первая глава Страуструпа даст хороший обзор языка, знающий хотя бы поверхностно Паскаль, поймет, что к чему. Тем более, что он учится все же по специальности, уж алгоритмы и базовые конструкции языков им должны были дать за 3-4 года обучения. А учебник может быть один - практика, практика и еще раз практика.
Максимыч
А вы любым предлагаете работу? Если да, то можете написать адрес, куда вам можно написать. Просто у меня такая же проблема.
Well
Народ! Не хочу показаться суперменом, но я просто сел и стал писать.Не все сразу конечно получалось, но все же...А книжки Страуструпа не читал.Зато года 2 или 3 назад приобрел "самоучитель С++"Г.Шилдта.Здорово - но если основ С не знаешь - лучше даже не открывать - все-таки сразу в тему ООП.
А вообще, MASM32 - решает!!! :спок:
(Я - автор топика, чтоб не путали)

2 DreDigger:
Подвиг ваш действительно вдохновляет и заставляет задуматься. По крайней мере остается надежда, что я тоже кагда-нить сяду и буду писать. Но... некоторые вопросы, я бы попросил осветить подробней. Например, вы устроились на работу и стали писать по долгу службы или просто так, дома, от нечего делать?
Если первый вариант, то это почти не считается, так как на работе (в большинстве случаев) можно спросить у кого-нибудь совета. Если от скуки, то скажите, откуда вы брали идеи по поводу продукта? Я бы может тоже попробовал, да только воображения не хватает; посмотришь - и кажется, что все нужные проги уже написаны.
Кстати, насчет Шилдта - это уже второе упоминание о нем, надо будет съездить заценить книженцию.

2 CollUser & Well:
Над вашими постами я думал очень долго.
Все дело то в том, что по Си++ у меня есть одна единственная книжка, причем лежит она у меня уже два года. И эта книжка... именно тот самы Страуструп третье издание (Что интересно, посоветовал ее именно один опытный программер).
С одной стороны, прав CoolUser: книжечка действительно не для простых смертных. Я ее когда первый раз открыл, у меня аж в глазах зарябило от тамошних красивых слов. Это, в принципе, оправданно, ведь автор книги есть автор Си, и его задача не объяснять студентам основ, а посвятить старых бородатых программеров в тонкости, нюансы и новые возможности. Тем не менее книжечку эту я достал с полки и полистал. Поразительным образом, она за последние два года стала гораздо понятнее (наверное, полка волшебная :):):)).
Что касается Well'a, то тут не поспоришь: "учебник может быть один - практика, практика и еще раз практика". Вот только где ее взять эту практику?
Теперь я выскажусь. :спок:

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

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

А вот знание баз данных очень и очень не мешает, я сам к сожалению в этом слаб, точнее нет времени заняться. Но имеет смысл понять хотя бы основы этого дела.
Ну, ежели можно сказать от нечего делать - то да. А вообще из всех компиляторов С++ советовал бы Borland C++ 5.02, потому как вижуалы терпеть не могу.:миг:
Юра
2ALL:

Кстати раз уж мы тут о книжках. Кто-нибудь Д. Кнута читает? Как впечатленияя? Есть такие кто понял хотя бы 50% процентов? (докторов и кандидатов физ-мат. наук просьба не беспокоиться)
Человече, мой те совет, начни свой Путь программера с того, что придумай себе проект. Себе, собственный, такой, который был бы тока твой, который был бы те наиболее интересен. Пофиг, что таким проектом может оказаться например программа управления спутниками на земной орбите, главное то, что бы те было интересно его писать. И именно интерес к конкретному коду выведет тя на Путь истинный :).
Да, такой момент, сразу зачастую непонятно - что нравится, что нет. Дык ты не жди подсказок со стороны, а начинай перебирать, о не по кретерию: осилю, не осилю, а по кретерию: нравится, не нравится. И следующий этап - разбивать путь к достижению цели на короткие отрезки. Например не сразу заморачиваться на координатах, в которых спутники летают, а разработать интерфейс, например. А разработку интерфейса - на еще меньшие отрезки: кнопки, поля, еще какая фигня.

Лан, я ИИ писать, но если что - свистай ;).

P.S. Я бы тоже прогером пошел работать...
Arekus
Есть мнение, и не только мое, что интерфейс не главное в жизни человека... Тем более начинать с разработки интерфейса как минимум непрофессионально! К чему его делать ежели еще ничего нету? Тем паче для начинающего... ему бы освоить вообще синтаксис языка... А пользовательский интерфейс он смогёт налабать и с помощью средств какого-нибудь вижуала.
Разумеется неглавное. Вообще-то интерфейс был приведен для примера с чего начинать.
Про непрофессионализм - тоже вполне возможно. Я не профессионал. Но из личного опыта могу точно заметить, что программинг сверху вниз порой помогает более четко понять проблему. Но все это уже зависит от конкретного человека *пожимает плечами*.
IMHO, такой подход: "налабать с помощью какого-нить вижуала" и приводит к тому, что проги становится не юзабильными
Есть мнение, и не только мое, что интерфейс не главное в жизни человека... Тем более начинать с разработки интерфейса как минимум непрофессионально!
Позволю себе не согласиться с этим утверждением. Я всегда начинаю с интерефейса, потому как его построение дает мне план, структуру написания программы. Сначала я просто накидываю компоненты с функциями, которые бы я хотел иметь. Ну а потом заполняю тела, упражнясь собственно в самом программировании. Благо в Дельфях это мой любимый Паскаль.:улыб:
Хотя наоборот было бы проблематичнее.:бебе:
Юра
Естественно, Батенька, Вы начинаете с интерфейса, так как пишете на делфях. И даже если бы Вы писали на MFC вам всеравно пришлось бы первым делом создавать класс приложения, а потом обслуживать окно - т.е. организовывать интерфейс с юзверем. Но мои привычки таковы - ставится цель, выбираются средства, реализовывается идея проекта(оторванная от "внешней среды"), и только потом организовывается класс приложения, который взаимодействует с различного рода объектами... Может быть несколько сумбурно объяснил, но в целом примерно так... Дело в том, что когда я начинаю писать, я еще не знаю, какие в точности у меня будут функции, какие классы и объекты... Именно поэтому я никогда не начинаю с интерфейса. Да, еще по-поводу делфей - есть у меня товарищ, который тоже на них писал. Так вот, давно он написал простую программку с использованием OpenGL. Загрузочный модуль оказался размером в 600-800 Kb. С год назад он решил написать тоже самое, но на MASM32 - результат - 6(шесть)Kb. Это к вопросу о избыточности кода, который делфяцкий компилятор пихает в екзешник... :улыб:
Есть понятие стратегия написания, и есть тактика. Интерфейс дает стратегию, ну а написание конкретных классов, с конкретными свойствами, функциями и процедурами - уже тактика. Когда есть костяк, наматывать на него мясо проще и прозрачнее, особенно когда приходится модифицировать и дополнять.

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

Хотя моя програмка, не совсем простенкая, занимает килобайт 700, хотя я думал больше. Может это минимальный размер :ooo:
Юра
Как-то прочел такое наставление:
Писать программный продукт надо начинать с инструкции для пользователя. После этого писать заголовки модулей с подробными комментариями, что они делают. И, наконец, наполнять их содержанием.
Реально так, конечно, не бывает, но если к этому стремиться, способствует.