Написать код:
В этой статье Джефф Этвуд рассказывает о том, как стать лучше при проектировании и написании программного обеспечения путем разработки и написания большого количества программного обеспечения. Его излагается более изящно, но это верный момент. Чем больше вы делаете что-то, тем лучше вы добиваетесь этого.
Оборудование:
Подойдет любое современное оборудование для ПК / Mac. Если вы планируете использовать Windows или Linux, я бы использовал ПК через Mac. Есть много шума, который лучше, но используйте тот, который вам нравится больше всего.
Это должно быть спорным вопросом в наше время, но убедитесь, что у вас есть какое-то надежное подключение к Интернету (кабель, DSL, что угодно ...). Тогда у вас будет доступ к Google и
StackOverflow ; оба хороших ресурса для программистов.
Убедитесь, что у вас есть клавиатура и мышь, которые вам удобны. Это включает в себя настройку вашего стола и стула в соответствии с вашим ростом и положением руки. Вы будете находиться за компьютером долгое время и хотите, чтобы вам было удобно.
редактор / IDE:
Выберите редактор: Vim, EMACS, KATE, Eclipse, независимо от . Неважно, какой именно, но какой бы вы ни выбрали, изучите это хорошо. Редактор - это ваш основной инструмент, и вы хотите быть удобным и хорошо осведомленным при его использовании. Чем лучше вы знаете свой редактор, тем быстрее вы сможете создавать / редактировать код.
Это помогает иметь редактор, работающий на всех платформах, на которых вы, возможно, разрабатываете, но это не обязательно.
Инструменты сборки:
В какой-то момент вы обнаружите себя лицом к лицу с необходимостью создать или исправить систему сборки. Make довольно стандартен для * nix и C / C ++, но для ваших личных проектов найдите тот, который подходит вам больше всего. Есть из чего выбирать: булочки, муравьи, марки, джемы, ...
Я лично использую SCons, так как он основан на python, и мне нравится python.
Книги:
При изучении новой темы я бы порекомендовал получить хорошую книгу по ней. Как правило, это дает вам хороший обзор того, что вы получаете, и дает вам хорошую основу для изучения. Google и Stackoverflow хороши для конкретных вопросов, но общий обзор темы получить сложнее.
Это, конечно, предполагает, что у вас есть роскошь времени и денег. Для людей с ограниченными финансовыми возможностями вы часто можете найти бесплатные версии электронных книг в Интернете.
Языки:
Раньше у меня были сильные чувства по поводу того, какие языки изучать, но теперь я понимаю, что вы должны писать на языке, который вам нравится больше всего. Однако не бойтесь пробовать новые языки. Лично мне нравятся C ++, python и C # в произвольном порядке.
Поскольку вы только начинаете, выбирайте языки, которые вы можете получить бесплатно, что я на самом деле считаю большинством языков в наши дни.
В деловом мире предпочтительный язык имеет тенденцию колебаться около 5-7 лет. Однако вы можете найти работу (по крайней мере, в настоящее время) на всех «больших» языках (C ++, JAVA, C # VB.net, python, ruby, perl, ...). Если вы хорошо выучите один из современных языков, переход на другой язык обычно не составляет проблемы. Библиотеки, как правило, занимают больше времени, чем сам язык. Так что выбирайте язык, который вам нравится изучать, и учите его.
Разные мысли:
Как сказал Марк Шарбонно, настройте контроль источников. Существует множество бесплатных предложений по управлению исходным кодом, поэтому выберите тот, который вам больше нравится. Лично я использую Perforce , что бесплатно для двух или менее человек. Я также слышал хорошие новости о Subversion и git . Конкретный не так важен, но выберите один из них.
Если вы хотите получить более глубокие знания о компьютерах, я бы порекомендовал Sipser's Book и Knuth .
Какой бы язык вы ни выбрали, я бы тоже потратил время на изучение отладчика для него.
Если вы занимаетесь веб-разработкой, убедитесь, что вы знаете, как минимально настроить и запустить Apachie (или IIS).
Избегайте священных войн, если можете. Это пустая трата времени, и вы ничему не учитесь из этого, кроме того, что люди упрямы. Некоторые темы священной войны (стиль скобок, редакторы, endianess, «лучший» язык, «лучшая» ОС, ...).
Мои персональные настройки:
Стандартный ПК (Windows XP Pro)
- Visual Studio 2007 (немного позади).
- VIM
- Python
- C / C ++
- C * # 1100 *
- Scons
Стандартный ПК (FreeBSD работает без головы: без графического интерфейса)
- цепочка инструментов GNU (Make, C / C ++ и т. Д.)
- VIM
- питон
- Scons