6 способов стать программистом

Оглавление:

6 способов стать программистом
6 способов стать программистом

Видео: 6 способов стать программистом

Видео: 6 способов стать программистом
Видео: 6 ошибок при подключении автомагнитолы. Как подключить магнитолу в автомобиле и 3 способа дома. 2024, Май
Anonim

Стать программистом - это кумулятивный процесс, который день за днем и год за годом накапливает ваши навыки, и программирование может быть увлекательным и полезным (умственно, духовно и финансово). Это руководство не обещает дать волшебно простой способ стать программистом, и порядок шагов не является священным, но вы получите общий план того, как стать программистом в одной из современных областей программирования.

Шаги

Стать программистом Шаг 1
Стать программистом Шаг 1

Шаг 1. Пройдите вводный курс по одной (или всем) из следующих дисциплин:

  • Логика
  • Дискретная математика
  • Язык программирования (примите участие в различных парадигмах программирования, начиная от последовательного / процедурного до объектно-ориентированного, после функционального и логического программирования. Предпочтительно Ruby / Python / Pascal для начинающих и после некоторого хорошего понимания углубитесь в C ++ / C # / Java)

СОВЕТ ЭКСПЕРТА

Gene Linetsky, MS
Gene Linetsky, MS

Gene Linetsky, MS

Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.

Гена Линецкий, М. С.
Гена Линецкий, М. С.

Джин Линецки, MS

основатель стартапа и технический директор

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

Хотя курсы по языку программирования могут быть полезны, Джин Линецки, инженер-программист и основатель стартапа, говорит:"

Стать программистом Шаг 2
Стать программистом Шаг 2

Шаг 2. Изучите концепции базы данных, такие как таблицы, представления / запросы и процедуры

Для этого вы можете использовать любой простой пакет базы данных, например:

  • MS доступ
  • DB V
  • Fox Pro
  • Парадокс
  • MySQL - хорошая база данных для изучения, потому что она бесплатна, широко используется, а к базам данных обычно обращаются с помощью SQL-запросов.
Стать программистом Шаг 3
Стать программистом Шаг 3

Шаг 3. Решите, каким программистом вы хотите стать

Программисты обычно попадают в одну из следующих категорий:

  • Веб-программист
  • Программист настольных приложений

    • Программист, ориентированный на операционную систему (ОС) (привязанный к одной операционной системе или набору операционных систем)
    • Независимый от платформы программист
  • Программист распределенных приложений
  • Библиотека / платформа / фреймворк / основной программист
  • Системный программист

    • Программист ядра
    • Программист драйверов
    • Программист компилятора
  • Ученый-программист
Стать программистом Шаг 4
Стать программистом Шаг 4

Шаг 4. Изучите технологии и языки программирования, связанные с выбранной вами областью программирования

В следующих разделах представлены задачи для разных типов программирования.

Метод 1 из 6. Веб-программирование

Стать программистом Шаг 5
Стать программистом Шаг 5

Шаг 1. Знайте, что влечет за собой веб-программирование

Веб-приложения - это программные компоненты, разработанные для работы поверх архитектуры Интернета. Это означает, что доступ к приложениям осуществляется через программное обеспечение веб-браузера, такое как Firefox или Internet Explorer. Построение на основе архитектуры Интернета не обязательно требует активного подключения к Интернету. Это означает, что веб-приложения создаются на основе стандартных веб-технологий, таких как:

  • HTTP
  • FTP
  • POP3
  • SMTP
  • TCP
  • IP протоколы
  • HTML
  • XML
  • Холодный синтез
  • ASP
  • JSP
  • PHP
  • ASP. NET
Стать программистом Шаг 6
Стать программистом Шаг 6

Шаг 2. Просмотрите множество разнообразных веб-сайтов, чтобы узнать, как они обычно выглядят

(Щелкните правой кнопкой мыши, затем щелкните «Просмотр источника» или нажмите F12.) Ищите разнообразие в типе / содержании веб-сайта, а не в количестве посещенных веб-сайтов. Как правило, вам необходимо посетить хотя бы один из следующих типов веб-сайтов:

  • Сайты корпоративного присутствия (коммерческие корпорации, некоммерческие организации / организации, государственные организации)
  • Системы веб-индексирования (поисковые системы, метапоисковые сайты, специализированные поисковые системы, каталоги)
  • Сайты интеллектуального анализа данных
  • Персональные сайты
  • Информационные / энциклопедические страницы (вики-страницы, таблицы данных, технические спецификации и руководства со списком каталогов, блоги и журналы, сайты новостных агентств, желтые страницы и т. Д.)
  • Социальные сайты (социальные порталы, сайты закладок, сайты для заметок)
  • Сайты для совместной работы (включая другие категории, упомянутые выше, такие как вики и блоги)
Стать программистом Шаг 7
Стать программистом Шаг 7

Шаг 3. Изучите хотя бы одну технику / метод мозгового штурма и программное обеспечение, которое используется для реализации этого метода

Например: диаграммы мозгового штурма и MS Visio.

Стать программистом Шаг 8
Стать программистом Шаг 8

Шаг 4. Ознакомьтесь со структурой сайта

Это создание концептуальных веб-диаграмм, карт сайта и навигационных структур.

Стать программистом Шаг 9
Стать программистом Шаг 9

Шаг 5. Пройдите ускоренный курс по графическому дизайну

Постарайтесь изучить хотя бы один программный пакет для редактирования / обработки графики (необязательно, но настоятельно рекомендуется)

Стать программистом Шаг 10
Стать программистом Шаг 10

Шаг 6. Изучите основы интернет-инфраструктуры

Это включает в себя получение базового представления о:

  • Базовые протоколы веб-сервисов (HTTP, FTP, SMTP и POP3 или IMAP4)
  • Программное обеспечение веб-сервера (желательно для платформы, над которой вы будете работать в основном)
  • Программное обеспечение для просмотра веб-страниц.
  • Почтовый сервер и клиентское программное обеспечение
Стать программистом Шаг 11
Стать программистом Шаг 11

Шаг 7. Изучите языки HTML и CSS

Вы также можете получить программный пакет «Что видишь, то и получаешь (WYSIWYG)» для редактирования HTML.

Стать программистом Шаг 12
Стать программистом Шаг 12

Шаг 8. Изучите XML и связанные с ним технологии, такие как XSL и XPath (необязательно, но рекомендуется)

Стать программистом Шаг 13
Стать программистом Шаг 13

Шаг 9. Создавайте простые статические веб-сайты, пока не освоите HTML

Стать программистом Шаг 14
Стать программистом Шаг 14

Шаг 10. Изучите язык сценариев на стороне клиента

Большинство пользователей изучают JavaScript. Некоторые изучают VBScript, но он несовместим с большинством браузеров.

Стать программистом Шаг 15
Стать программистом Шаг 15

Шаг 11. Ознакомьтесь с изученным вами языком сценариев на стороне клиента

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

Стать программистом Шаг 16
Стать программистом Шаг 16

Шаг 12. Изучите хотя бы один серверный язык программирования

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

Стать программистом Шаг 17
Стать программистом Шаг 17

Шаг 13. Создать пилотный проект для себя после того, как вы закончите изучение серверного языка программирования.

Стать программистом Шаг 18
Стать программистом Шаг 18

Шаг 14. Создайте свой собственный веб-сайт и начните экспериментировать в Интернете на своей странице

Метод 2 из 6: Программирование настольных приложений

Стать программистом Шаг 19
Стать программистом Шаг 19

Шаг 1. Знайте, что вы делаете с программированием настольных приложений

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

Стать программистом Шаг 20
Стать программистом Шаг 20

Шаг 2. Узнайте о различных архитектурах компьютерного оборудования

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

Стать программистом Шаг 21
Стать программистом Шаг 21

Шаг 3. Изучите язык программирования начального уровня (детский)

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

Стать программистом Шаг 22
Стать программистом Шаг 22

Шаг 4. Ознакомьтесь с процедурными, объектно-ориентированный, а также парадигмы функционального программирования.

Стать программистом Шаг 23
Стать программистом Шаг 23

Шаг 5. Пройдите вводный курс по одному из процедурных языков программирования

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

Стать программистом Шаг 24
Стать программистом Шаг 24

Шаг 6. Изучите хотя бы один продвинутый метод моделирования, такой как UML или ORM

Стать программистом Шаг 25
Стать программистом Шаг 25

Шаг 7. Начните писать небольшие консольные или консольные приложения

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

Шаг 8. Пройдите более углубленный курс выбранного вами языка программирования

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

  • Ввод и вывод информации пользователям программы.
  • Логический поток и поток выполнения программ на процедурных языках.
  • Объявление, присвоение и сравнение переменных.
  • Разветвляющиеся программные конструкции, такие как if..then..else и select / switch..case.
  • Конструкции цикла, такие как while..do, do.. while / until, for..next.
  • Синтаксис вашего языка программирования для создания и вызова процедур и функций.
  • Типы данных и манипулирование ими.
  • Типы данных, определяемые пользователем (записи / структуры / блоки) и их использование.
  • Если ваш язык поддерживает функции перегрузки, поймите его.
  • Методы доступа к памяти на выбранном вами языке (указатели, просмотр и т. Д.)
  • Если ваш язык поддерживает перегрузку операторов, поймите его.
  • Если ваш язык поддерживает указатели делегатов / функций, поймите это.
Стать программистом Шаг 27
Стать программистом Шаг 27

Шаг 9. Примените усвоенные вами передовые методы

Стать программистом Шаг 28
Стать программистом Шаг 28

Шаг 10. Пройдите вводный курс по крайней мере еще на одном языке программирования в другой парадигме программирования

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

  • Парадигма логического программирования.
  • Парадигма функционального программирования.
  • Объектно-ориентированная парадигма.
Стать программистом Шаг 29
Стать программистом Шаг 29

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

Оцените сильные и слабые стороны каждого из них. Обычно это делают:

  • Взять простые образцы вашей ранней работы на первом языке программирования и переписать их, используя второй язык программирования.
  • Создайте новый проект и попробуйте реализовать его на обоих языках. Иногда, в зависимости от вашего выбора проекта и языков, вы не сможете реализовать проект на одном из языков!
  • Написание шпаргалки или сводной таблицы сравнения похожих конструкций на двух языках и функций, уникальных для каждого из языков.
  • Попробуйте найти способы имитировать особенности, уникальные для одного из двух языков, используя другой язык.
Стать программистом Шаг 30
Стать программистом Шаг 30

Шаг 12. Изучите концепции визуального программирования, используя один из изученных вами языков

Почти все языки программирования имеют версии / библиотеки, которые поддерживают визуальное программирование, а другие поддерживают консольное или консольное программирование. Этого можно добиться:

  • Получите введение в программирование, управляемое событиями. Большая часть визуального программирования на некотором уровне полагается на события и обработку событий (с использованием выбранного вами языка программирования).
  • Попробуйте как можно больше программного обеспечения для настольных ПК и поймите, что оно делает. Большинство компаний-разработчиков программного обеспечения предлагают бета-версии своих продуктов, которые вы можете использовать для тестирования программного обеспечения. Будьте в курсе усовершенствований пользовательского интерфейса.
  • Прочтите несколько статей или руководств по графическим пользовательским интерфейсам.
Стать программистом Шаг 31
Стать программистом Шаг 31

Шаг 13. Начните применять свои знания при разработке небольших программных проектов

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

Стать программистом Шаг 32
Стать программистом Шаг 32

Шаг 14. Создайте виртуальный дипломный проект

Завершите это до конца, применяя уже изученные вами техники визуального программирования.

Стать программистом Шаг 33
Стать программистом Шаг 33

Шаг 15. Расширьте свое понимание визуального фреймворка / библиотеки / пакета, которые вы изучили ранее, пройдя расширенные курсы, уделяя особое внимание деталям и изучая больше советов и приемов для вашего фреймворка из онлайн-ресурсов

Стать программистом Шаг 34
Стать программистом Шаг 34

Шаг 16. Найдите другие пакеты / библиотеки визуальных элементов для ваших языков программирования и изучите их

Стать программистом Шаг 35
Стать программистом Шаг 35

Шаг 17. Пройдите курс графики (не графического дизайна)

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

Стать программистом Шаг 36
Стать программистом Шаг 36

Шаг 18. Подумайте о том, чтобы стать программистом игр (по желанию)

Программирование игр в большинстве своем считается программированием для настольных компьютеров. Если вы собираетесь стать программистом игр, вам нужно будет больше узнать о программировании игр после того, как вы выполните эти шаги. Курс графики является обязательным для программистов игр, и вторым языком, выбранным на предыдущих этапах, должен быть язык логического / функционального программирования (предпочтительно Prolog или Lisp).

Метод 3 из 6: Программирование распределенных приложений

Стать программистом Шаг 37
Стать программистом Шаг 37

Шаг 1. Займитесь программированием распределенных приложений

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

Стать программистом Шаг 38
Стать программистом Шаг 38

Шаг 2. Кратко ознакомьтесь с системами телефонии и их аппаратным обеспечением

Этот шаг не является обязательным. Однако это очень полезно для понимания топологии сети.

Стать программистом Шаг 39
Стать программистом Шаг 39

Шаг 3. Ознакомьтесь с архитектурой сетевого оборудования и такими устройствами, как концентраторы, коммутаторы и маршрутизаторы

Стать программистом Шаг 40
Стать программистом Шаг 40

Шаг 4. Пройдите курс по сетевым протоколам и основам

Вам необходимо хорошо разбираться в модели взаимодействия открытых систем (OSI), Ethernet, IP, TCP, UDP и HTTP, прежде чем вы начнете программировать распределенные приложения.

Стать программистом Шаг 41
Стать программистом Шаг 41

Шаг 5. Изучите язык XML и познакомьтесь с ним

Стать программистом Шаг 42
Стать программистом Шаг 42

Шаг 6. Начните с изучения языка сценариев оболочки

Для программирования на базе Windows это будет любой сценарий, работающий с Windows Scripting Host. Для программирования на базе Linux будет достаточно сценариев Bash и Perl. Для этого настоятельно рекомендуется использовать JavaScript на обеих платформах по следующим причинам:

  • Он поддерживается практически любым хостом сценариев в любой операционной системе (Windows Scripting Host поддерживает JavaScript по умолчанию, в большинстве дистрибутивов Linux есть пакет для поддержки консоли сценариев JavaScript).
  • Многие разработчики считают, что его легче освоить.
  • Он имеет синтаксис, производный от ALGOL, который знакомит вас с гораздо большим количеством других языков программирования, когда вам нужно выбрать второй язык программирования (C, C ++, C #, Java и J # имеют синтаксис, производный от ALGOL).
  • Изучая JavaScript, вы знакомитесь со сценариями на стороне клиента для веб-страниц, что является дополнительным побочным эффектом!
Стать программистом Шаг 43
Стать программистом Шаг 43

Шаг 7. Сначала примените только процедурное программирование, используя выбранный вами язык сценариев

Позже вы сможете использовать более продвинутые методы и парадигмы программирования в соответствии с вашим языком сценариев и тем, что он поддерживает. Все языки сценариев на определенном уровне имеют некоторые аспекты процедурного программирования.

Стать программистом Шаг 44
Стать программистом Шаг 44

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

Узнайте, что для этого необходимо. Достаточно простых коммуникаций.

Стать программистом Шаг 45
Стать программистом Шаг 45

Шаг 9. Сделайте переход на настольный язык сценариев / программирования

Желательно, чтобы язык был мультипарадигмальным, например Python. Сделайте простое введение в этот второй язык. Большинство программистов считают Java предпочтительным языком по многим причинам. Однако C # быстро набирает обороты в этой области. Java и C # предпочтительны по следующим причинам:

  • Это объектно-ориентированные языки программирования, которые ограждают программистов в больших командах от деталей реализации, поскольку они оба поддерживают компоненты (предварительно скомпилированные блоки кода, которые выполняют определенную задачу и могут использоваться в других программах).
  • Они поддерживают программирование, управляемое событиями, а также объектно-ориентированное и процедурное программирование на определенном уровне.
  • Фреймворк, на котором построен язык, распределен по своей природе (в случае Java).
  • Доступность множества готовых пакетов, которые имеют дело с сетями, как в виде пакетов с открытым исходным кодом, так и встроенных пакетов фреймворка; это позволяет программистам опираться на работу других.
Стать программистом Шаг 46
Стать программистом Шаг 46

Шаг 10. Сосредоточьтесь на основных функциях языка, особенно на тех, которые поддерживают работу в сети

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

Стать программистом Шаг 47
Стать программистом Шаг 47

Шаг 11. Пройдите курс по проектированию и архитектуре распределенных приложений

Это можно сделать с помощью книг, онлайн-руководств или академических курсов. Однако понимание архитектуры распределенных приложений и ее концепций необходимо.

Стать программистом Шаг 48
Стать программистом Шаг 48

Шаг 12. Узнайте о создании обслуживаемых компонентов и сервисов с использованием выбранного вами языка программирования

Стать программистом Шаг 49
Стать программистом Шаг 49

Шаг 13. Изучите одну или несколько из следующих технологий

Рекомендуется хотя бы познакомиться со всеми из них. Большинство программистов распределенных приложений не останавливаются на одном или двух языках программирования, но изучают по крайней мере один язык программирования для каждой операционной системы. Это потому, что если вы хотите, чтобы ваше приложение было «распределенным», вы должны предоставить его версию, по крайней мере, для каждой основной операционной системы.

  • Общая архитектура брокера объектных запросов (CORBA)
  • Протокол простого доступа к объектам (SOAP)
  • Асинхронный JavaScript и XML (AJAX)
  • Распределенная объектная модель компонентов (DCOM)
  • Удаленное взаимодействие. NET
  • XML веб-службы

Метод 4 из 6: Библиотека / Платформа / Платформа / Базовое программирование

Стать программистом Шаг 50
Стать программистом Шаг 50

Шаг 1. Знайте, что такое базовое программирование

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

Стать программистом Шаг 51
Стать программистом Шаг 51

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

Стать программистом Шаг 52
Стать программистом Шаг 52

Шаг 3. Пройдите продвинутый курс по UML и ORM

Большинство разработчиков библиотек используют один или оба из них.

Стать программистом Шаг 53
Стать программистом Шаг 53

Шаг 4. Пройдите курс программной инженерии

Стать программистом Шаг 54
Стать программистом Шаг 54

Шаг 5. Изучите как минимум методы и концепции модульного, компонентного, объектно-ориентированного и событийного программирования

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

Стать программистом Шаг 55
Стать программистом Шаг 55

Шаг 6. Узнайте больше о различных операционных системах и средах программирования, поддерживаемых этими операционными системами

Стать программистом Шаг 56
Стать программистом Шаг 56

Шаг 7. Сосредоточьте свои усилия на обучении на платформенно-независимых фреймворках, языках программирования и технологиях

Стать программистом Шаг 57
Стать программистом Шаг 57

Шаг 8. Если языки программирования, которые вы изучили до сих пор, имеют ANSI/ISO/IEEE/Стандартные версии W3C, освоите стандарты.

По возможности старайтесь использовать стандартный код.

Стать программистом Шаг 58
Стать программистом Шаг 58

Шаг 9. Попробуйте имитировать простые, уже существующие библиотеки, особенно с открытым исходным кодом

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

Стать программистом Шаг 59
Стать программистом Шаг 59

Шаг 10. Найдите и попробуйте пакеты с открытым исходным кодом в своей области программирования

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

Стать программистом Шаг 60
Стать программистом Шаг 60

Шаг 11. Изучите различные подходы, используемые для распространения и развертывания компонентов среди программистов

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

Метод 5 из 6: Системное программирование

Стать программистом Шаг 61
Стать программистом Шаг 61

Шаг 1. Понять, что влечет за собой системное программирование

Системные программисты занимаются наукой программирования, а не его конкретными реализациями. Не привязывайте себя к определенной платформе.

Стать программистом Шаг 62
Стать программистом Шаг 62

Шаг 2. Выполните первые три шага для программистов настольных приложений

Стать программистом Шаг 63
Стать программистом Шаг 63

Шаг 3. Пройдите вводный курс линейной алгебры

Стать программистом Шаг 64
Стать программистом Шаг 64

Шаг 4. Пройдите курс математического анализа

Стать программистом Шаг 65
Стать программистом Шаг 65

Шаг 5. Пройдите курс логики и / или дискретной математики

Стать программистом Шаг 66
Стать программистом Шаг 66

Шаг 6. Познакомьтесь с различными голыми операционными системами

Это можно сделать:

  • Получение представления о том, как устанавливаются операционные системы.
  • Изучение того, как устанавливать разные операционные системы на один компьютер (необязательно, но рекомендуется).
  • Установка нескольких операционных систем. Не устанавливайте в системы какие-либо пакеты помощи; вместо этого используйте простые функции, предоставляемые операционными системами.
Стать программистом Шаг 67
Стать программистом Шаг 67

Шаг 7. Пройдите курс (или почитайте книги) по архитектуре компьютерного оборудования

Стать программистом Шаг 68
Стать программистом Шаг 68

Шаг 8. Развивайте понимание различных аппаратных платформ компьютера

Стать программистом Шаг 69
Стать программистом Шаг 69

Шаг 9. Ознакомьтесь с языком ассемблера выбранной аппаратной платформы / операционной системы

Позже вы узнаете сборку других платформ / систем.

Стать программистом Шаг 70
Стать программистом Шаг 70

Шаг 10. Изучите языки ANSI C и C ++, а также концепции процедурного программирования

Стать программистом Шаг 71
Стать программистом Шаг 71

Шаг 11. Изучите и примените стандартные библиотеки C / C ++ на выбранной платформе

Уделите особое внимание стандартной библиотеке шаблонов (STL) и, возможно, активной библиотеке шаблонов (ATL).

Стать программистом Шаг 72
Стать программистом Шаг 72

Шаг 12. Поищите онлайн-ресурсы, книги и курсы, чтобы получить представление о C-вкусе вашей конкретной платформы

Стать программистом Шаг 73
Стать программистом Шаг 73

Шаг 13. Попрактикуйтесь в создании расширенного кода на C и C ++

Стать программистом Шаг 74
Стать программистом Шаг 74

Шаг 14. Изучите более продвинутую сборку

Стать программистом Шаг 75
Стать программистом Шаг 75

Шаг 15. Пройдите курс по проектированию операционных систем

Стать программистом Шаг 76
Стать программистом Шаг 76

Шаг 16. Найдите и прочтите документацию по выбранной вами платформе

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

Стать программистом Шаг 77
Стать программистом Шаг 77

Шаг 17. Практикуйте полученные знания

Сначала создайте небольшие системные утилиты. Обычно полезно:

  • Попытка воссоздать небольшие инструменты, которые уже есть в вашей системе.
  • Пытаюсь портировать утилиты, имеющиеся в других операционных системах, на вашу.
Стать программистом Шаг 78
Стать программистом Шаг 78

Шаг 18. Учите языки в наиболее удобном для вас порядке

Это единственное место, где имеет значение первый язык программирования. Сначала изучите ANSI C, а не C ++, не C #, не Java и не D. Затем изучите C ++.

  • Ограничение первого языка только C и C связано с тем, что системное программирование требует, чтобы программист был знаком со следующими концепциями:

    • Реальная и полная компиляция исходного кода.
    • Файлы вывода объектов низкого уровня.
    • Связывание двоичных файлов.
    • Низкоуровневое программирование на машинном языке / ассемблере. Некоторые говорят, что язык C - это замаскированная / более легкая в освоении сборка. Он также поддерживает вставку кода на языке ассемблера в код, когда захотите, и является только процедурным (например, сборка).

Метод 6 из 6: программирование

Стать программистом Шаг 79
Стать программистом Шаг 79

Шаг 1. Знайте, что делает ученый-программист

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

Стать программистом Шаг 80
Стать программистом Шаг 80

Шаг 2. Накопите научные знания, эквивалентные четырехлетней степени в области информатики

Это можно сделать:

  • Получение действительной академической степени (что обычно и бывает).
  • Получение схемы курсов для получения такой степени в одном из современных университетов и прохождение курсов либо самостоятельно, либо отдельными курсами. Теоретически этого можно достичь, но рекомендуемый путь - первый.
Стать программистом Шаг 81
Стать программистом Шаг 81

Шаг 3. Определитесь с областью специальности

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

  • Разработка алгоритма (некоторые примеры - поиск, сортировка, шифрование, дешифрование и обнаружение ошибок в коммуникациях)
  • Языки программирования / проектирование компиляторов / оптимизация
  • Области искусственного интеллекта (распознавание образов, распознавание речи, обработка естественного языка, нейронные сети)
  • Робототехника
  • Научное программирование
  • Супер вычисления
  • Компьютерное проектирование / моделирование (CAD / CAM)
  • Виртуальная реальность
  • Компьютерная графика (компьютерную графику обычно ошибочно путают с графическим дизайном или дизайном графического пользовательского интерфейса. Компьютерная графика - это область изучения того, как представлять и манипулировать графикой в компьютерных системах.)
Стать программистом Шаг 82
Стать программистом Шаг 82

Шаг 4. Рассмотрите возможность получения более высокой академической степени

Возможно, вы захотите получить степень магистра или доктора.

Рекомендуемые: