Как стать программистом

Загрузить PDFЗагрузить PDF

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

  1. How.com.vn Русский: Step 1 Запишитесь на вводный...
    Запишитесь на вводный курс по одной (или по всем) из следующих дисциплин:
    • логика;
    • дискретная математика;
    • язык программирования (изучите различные парадигмы программирования, начав с параллельного и объектно-ориентированного программирования, а затем переходите к функциональному и логическому. Начинающим лучше подходит Ruby/ Python/Pascal, а после некоторой практики уже можно переходить к C++/C#/Java).
    СОВЕТ СПЕЦИАЛИСТА
    How.com.vn Русский: Gene Linetsky, MS

    Gene Linetsky, MS

    Основатель стартапов и главный инженер
    Джин Линецки — основатель стартапов и инженер-программист из области залива Сан-Франциско. Проработал в индустрии технологий более 30 лет. В настоящее время является главным инженером в Poynt, технологической компании, производящей платежные смарт-терминалы для бизнеса.
    How.com.vn Русский: Gene Linetsky, MS
    Gene Linetsky, MS
    Основатель стартапов и главный инженер

    Чтобы научиться программировать, необязательно получать специальное образование. В то время, как курсы обучения навыкам программирования могут быть полезны, Джин Линецки — основатель стартапов и инженер-программист — говорит: «Помогает образование или больше вредит? Спорный вопрос. Как бы то ни было, важно относиться к самому процессу программирования как к обучению, ведь во время него мы и учимся на собственных ошибках».

  2. How.com.vn Русский: Step 2 Изучите базовые концепции, включая таблицы, запросы и процедуры.
    Можно присмотреться к любому из следующих продуктов:
    • MS Access;
    • DB V;
    • Fox Pro;
    • Paradox;
    • MySQL также подойдет, поскольку это бесплатная распространенная система, и базы данных связаны с SQL-запросами.
  3. How.com.vn Русский: Step 3 Решите, каким программированием вы хотите заниматься.
    Есть несколько типов программирования:
    • веб-программирование;
    • программирование приложений для компьютеров:
      • программирование операционных систем (специалист занимается разработкой одной операционной системы или набора систем);
      • программирование, не привязанное к конкретной платформе.
    • программирование прикладных распределенных систем;
    • программирование библиотек, платформ, фреймворков, ядер;
    • системное программирование:
      • программирование ядер;
      • программирование драйверов;
      • программирование компиляторов.
    • научное программирование.
  4. How.com.vn Русский: Step 4 Изучите технологии и...
    Изучите технологии и языки программирования, связанные с той сферой, которая вам нравится. В последующих разделах этой статьи пойдет речь о конкретных задачах в различных сферах программирования.
    Реклама
Метод 1
Метод 1 из 6:

Веб-программирование

Загрузить PDF
  1. How.com.vn Русский: Step 1 Знайте, что включает в себя веб-программирование.
    Веб-приложения — это компоненты программного обеспечения, которые надстраиваются над архитектурой интернета. Это означает, что доступ к приложениям осуществляется с помощью веб-браузера (например, Firefox или Internet Explorer). Эта надстройка необязательно требует активного соединения с интернетом. Это лишь означает, что веб-приложения строятся на основании стандартных веб-технологий, включая следующие:
  2. How.com.vn Русский: Step 2 Просмотрите...
    Просмотрите самые разные сайты, чтобы понять, как они построены. (Нажмите правой кнопкой мыши по любой области, затем «Посмотреть источник» либо нажмите F12.) Обратите внимание на разнообразие информации и оформления и не гонитесь за количеством. Следует посетить хотя бы по одному из каждого вида сайтов:
    • корпоративный сайт (сайты торговых корпораций, некоммерческих, государственных организаций);
    • сайты, отвечающие за индексацию в сети (поисковые сайты, сайты с поиском по мета-данным, особые поисковые системы, директории);
    • сайты для интеллектуального анализа данных;
    • личные сайты;
    • информационные и энциклопедические сайты (вики-сайты, списки данных, технической информации, руководства пользователя с указанием директорий, блоги и дневники, новости и сайты новостных агентств, желтые страницы и так далее);
    • социальные сайты (социальные сети, сайты для создания закладок и заметок);
    • коллаборативные сайты (к этой категории относятся все страницы, упомянутые выше, включая вики-сайты и блоги).
  3. How.com.vn Русский: Step 3 Ознакомьтесь хотя бы...
    Ознакомьтесь хотя бы с одним методом или техникой мозгового штурма и приложением, которое было создано на основе этого метода. Например, мозговой штурм диаграмм и MS Visio.
  4. How.com.vn Русский: Step 4 Узнайте, по какой схеме строятся веб-сайты.
    Сюда относится создание особых веб-диаграмм, карт сайта и навигации.
  5. How.com.vn Русский: Step 5 Запишитесь на экспресс-курс графического дизайна.
    Постарайтесь научиться пользоваться хотя бы одной программой для создания и обработки изображений (это необязательное требование, однако эти навыки вам будут полезны).
  6. How.com.vn Русский: Step 6 Ознакомьтесь с основами интернет-инфраструктуры.
    Вам нужно будет иметь хотя бы базовые знания о:
    • основных протоколах веб-сервисов (HTTP, FTP, SMTP и POP3 либо IMAP4);
    • программах для веб-серверов (желательно для платформы, с которой вы будете работать чаще всего);
    • веб-браузерах;
    • серверах электронной почты и клиентском программном обеспечении.
  7. How.com.vn Русский: Step 7 Изучите основы HTML и CSS.
    Для этих целей можно использовать программный пакет «What You See Is What You Get (WYSIWYG)».
  8. How.com.vn Русский: Step 8 Изучите XML и технологии, связанные с XML (к примеру XSL и XPath).
    Делать это не обязательно, однако эти знания будут полезны.
  9. How.com.vn Русский: Step 9 Начните создавать простые...
    Начните создавать простые статические сайты и делайте это до тех пор, пока не освоите основы HTML.
  10. How.com.vn Русский: Step 10 Изучите клиентский скриптовый язык программирования.
    Чаще всего изучают JavaScript. Можно также заняться VBScript, однако этот язык несовместим с большинством браузеров.
  11. How.com.vn Русский: Step 11 Займитесь выбранным вами...
    Займитесь выбранным вами клиентским скриптовым языком программирования. Постарайтесь добиться своего максимума с помощью одного этого языка. Переходите к следующему шагу лишь тогда, когда будете хорошо ориентироваться хотя бы одном языке этого типа.
  12. How.com.vn Русский: Step 12 Освойте хотя бы один серверный язык программирования.
    Если решите работать лишь с одним типом программного обеспечения сервера, изучите хотя бы один из языков программирования, который используется для написания этого программного обеспечения. Если будете готовы к большему, изучите как минимум по одному языку программирования на каждый тип программного обеспечения сервера.
  13. How.com.vn Русский: Step 13 Изучив язык программирования...
    Изучив язык программирования серверной части, создайте тестовый проект.
  14. How.com.vn Русский: Step 14 Создайте свой личный...
    Создайте свой личный сайт и начните экспериментировать с ним.
    Реклама
Метод 2
Метод 2 из 6:

Программирование приложений для стационарного компьютера

Загрузить PDF
  1. How.com.vn Русский: Step 1 Узнайте, чем вам придется заниматься.
    Как правило, программисты пишут коды для приложений, которые используются в бизнесе, поэтому вам следует выяснить, как работает бизнес, как он организован и как построена его финансовая система, с тем чтобы сэкономить время.
  2. How.com.vn Русский: Step 2 Изучите различные типы архитектуры компьютерного оборудования.
    Будет полезно изучить основы построения цифровых схем и компьютерной архитектуры. Однако некоторые специалисты считают, что на начальном этапе это не нужно, поэтому достаточно будет прочитать 2–3 статьи на эту тему. Вы сможете вернуться к этому, когда освоите свой первый язык программирования.
  3. How.com.vn Русский: Step 3 Изучите язык программирования...
    Изучите язык программирования базового уровня. Не стесняйтесь изучать то, что считается детским, лишь потому, что вы старше. Примером такого языка служит Scratch. Такие языки облегчат работу с вашим первым настоящим языком программирования. Тем не менее, этот шаг нельзя считать обязательным. Кроме того, заняться этим можно и до предыдущего шага.
  4. How.com.vn Русский: Step 4 Начните изучать процедурные,...
  5. How.com.vn Русский: Step 5 Запишись на вводный...
    Запишись на вводный курс по процедурным языкам программирования. Какой бы язык вы ни выбрали позже, вам нужны будут знания процедурного программирования. Кроме того, многие специалисты считают, что для того чтобы понять программирование в целом, следует начать с этого.
  6. How.com.vn Русский: Step 6 Изучите одну из...
    Изучите одну из систем продвинутого моделирования (к примеру, UML или ORM).
  7. How.com.vn Русский: Step 7 Начните писать небольшие...
    Начните писать небольшие консольные или консолеподобные приложения. Можно использовать упражнения из учебников по программированию. Выберите инструмент для написания программ на том языке программирования, с которым вы работаете.
  8. How.com.vn Русский: Step 8 Запишитесь на курс...
    Запишитесь на курс по программированию на выбранном вами языке продвинутого уровня. Вы должны понимать следующие концепции, чтобы уметь применять их с относительной легкостью:
    • ввод и вывод информации клиентами в программе;
    • логический поток и поток выполнения программ на процедурных языках программирования;
    • выбор, назначение и сравнение переменных;
    • создание ключевых конструкций, включая if..then..else и select/switch..case;
    • закольцовывание конструкций, включая while..do, do..while/until, for..next;
    • синтаксис вашего языка программирования для создания и названия процедур и функций;
    • типы данных и способы обработки данных;
    • типы данных, определяемые пользователем (записи, структуры, единицы), и их применение;
    • если ваш язык поддерживает функции перегрузки, вы должны в них разбираться;
    • способы анализа памяти в выбранном вами языке (указатели, звуки и так далее);
    • если ваш язык программирования поддерживает перегрузку операторов, вы должны знать это;
    • если в вашем языке есть указатели на функции, вы должны разбираться в них.
  9. How.com.vn Русский: Step 9 Начните применять полученные знания.
  10. How.com.vn Русский: Step 10 Пройдите вводный курс...
    Пройдите вводный курс как минимум по одному языку программирования в другой парадигме программирования. Следует выучить один язык в каждой парадигме, и, как правило, все хорошие программисты так и поступают, однако вам достаточно начать с одного, поработать с ним, потренироваться, а затем перейти к другим, когда у вас уже будет реальный опыт в программировании. Присмотритесь к одной из следующих сфер:
    • парадигма логического программирования;
    • парадигма функционального программирования;
    • объектно-ориентированная парадигма.
  11. How.com.vn Русский: Step 11 Попробуйте сравнить два...
    Попробуйте сравнить два языка программирования, которые вы уже освоили. Оцените сильные и слабые стороны каждого из них. Обычно делают это так:
    • Возьмите простой пример вашей ранней работы на первом языке программирования и перепишите ее, используя второй язык.
    • Создайте новый проект и используйте там оба языка. Возможно, некоторые вещи вам не удастся сделать на одном из языков — все будет зависеть от выбранного вами проекта и языков.
    • Сделайте шпаргалки или сравните похожие конструкции в обоих языках и их отличия в сводной таблице.
    • Найдите способ повторить конструкции, которые есть в одном языке, с помощью другого языка.
  12. How.com.vn Русский: Step 12 Изучите концепции визуального...
    Изучите концепции визуального программирования с помощью одного из выбранных вами языков. Практически у всех языков программирования есть версии либо библиотеки, которые поддерживают визуальное программирование и другие виды консольного или консолеподобного программирования. Сделать это можно следующим образом:
    • Пройдите вводный курс по событийно-управляемому программированию. В основном визуальное программирование базируется на событиях и обработке событий (с помощью выбранного языка программирования).
    • Попробуйте поработать с большим количеством программного обеспечения для стационарных компьютеров, чтобы понять, что делают эти программы. Большинство компаний-разработчиков предлагают бета-версии приложений, которыми можно попробовать пользоваться. Следите за развитием пользовательского интерфейса.
    • Читайте статьи или руководства по работе с графическим пользовательским интерфейсом.
  13. How.com.vn Русский: Step 13 Начните применять свои знания, разрабатывая простые приложения.
    Попробуйте использовать полученные знания для решения повседневных проблем. К примеру, пишите программы, которые будут массово переименовывать файлы, сравнивать текстовые файлы визуально, копировать названия документов в определенное место в отдельный файл памяти или текстовый файл и так далее. Для начала пусть все будет простым.
  14. How.com.vn Русский: Step 14 Создайте виртуальный дипломный проект.
    Сделайте все до конца, применяя методы визуального программирования, которые вы уже освоили.
  15. How.com.vn Русский: Step 15 Углубите свои знания...
    Углубите свои знания визуальных схем, библиотек и программных пакетов, пройдя курсы для продвинутых, уделяя особое внимание более мелким вещам и старясь узнать как можно больше приемов работы со фреймворками из интернет-источников.
  16. How.com.vn Русский: Step 16 Поищите другие программные...
    Поищите другие программные пакеты и библиотеки визуальных элементов для ваших языков программирования и изучите их.
  17. How.com.vn Русский: Step 17 Запишитесь на курсы графики (не графического дизайна).
    Это будет очень полезно, если вы планируете создавать элементы с красивым пользовательским интерфейсом.
  18. How.com.vn Русский: Step 18 Станьте разработчиком игр (по желанию).
    Программирование компьютерных игр считается программированием для стационарных компьютеров. Если вы хотите создавать игры, вам нужно будет освоить основы этого программирования после завершения вышеописанных шагов. Вам обязательно нужно будет пройти курс программирования игр, а второй язык программирования, который вам следует выбрать, должен быть логическим/функциональным языком (желательно Prolog или Lisp).
    Реклама
Метод 3
Метод 3 из 6:

Программирование прикладных распределенных систем

Загрузить PDF
  1. How.com.vn Русский: Step 1 Начните заниматься программированием...
    Начните заниматься программированием прикладных распределенных систем. Это программирование считается одним из самых сложных и требует самых разных знаний в сфере компьютеров и информационных технологий.
  2. How.com.vn Русский: Step 2 Пройдите экспресс-курс по...
    Пройдите экспресс-курс по телефонии и соответствующему оборудованию. Делать это не обязательно, однако благодаря такому курсу вы будете лучше понимать сетевую топологию.
  3. How.com.vn Русский: Step 3 Ознакомьтесь с архитектурой...
    Ознакомьтесь с архитектурой сетевого оборудования и устройств, включая хабы, свитчи и маршрутизаторы.
  4. How.com.vn Русский: Step 4 Изучите сетевые протоколы и все связанное с ними.
    Вам нужно будет хорошо понимать модель OSI (Open Systems Interconnection — международная программа стандартизации обмена данными между системами различных производителей), Ethernet, IP, TCP, UDP и HTTP. Лишь после этого вы сможете начать работать.
  5. How.com.vn Русский: Step 5 Изучите язык XML и научите пользоваться им.
  6. How.com.vn Русский: Step 6 Начните изучать язык распределенного программирования.
    Если речь идет о программировании под Windows, подойдет любой язык, который поддерживает Windows Scripting Host. При программировании под Linux используются Bash и Perl. Рекомендуется изучить JavaScript для работы с обеими платформами по следующим причинам:
    • JavaScript поддерживается практическими всеми скрипт-хостами всех операционных систем (Windows Scripting Host поддерживает JavaScript по умолчанию, а у большинства дистрибутивов Linux есть пакет для поддержки JavaScript).
    • Считается, что изучить его проще.
    • JavaScript строится на синтаксисе ALGOL, а это позволит вам познакомиться со многими другими языками программирования, и выбрать второй язык вам будет проще (C, C++, C#, Java и J# имеют в своей основе синтаксис ALGOL).
    • Изучая JavaScript, вы знакомитесь с клиентским скриптовым программированием веб-страниц, а это означает двойную пользу!
  7. How.com.vn Русский: Step 7 Сначала используйте только...
    Сначала используйте только процедурное программирование на одном языке. Позже вы сможете применять более сложные приемы и парадигмы, соответствующие вашему скриптовому языку и тому, что он поддерживает. Все скриптовые языки используют процедурное программирование в той или иной степени.
  8. How.com.vn Русский: Step 8 С помощью изученного...
    С помощью изученного вами скриптового языка начните писать скрипты, которые будут заставлять машины общаться. Узнайте, что вам для этого нужно. Будет достаточно простого обмена данными.
  9. How.com.vn Русский: Step 9 Перейдите на язык программирования для стационарных компьютеров.
    Желательно выбрать язык с несколькими парадигмами — например Python. Изучите основы этого языка. Многие выбирают Java по самым разным причинам, однако в настоящий момент все более и более популярным становится язык C#. Причины, по которым лучше выбирать Java и C#, заключаются в следующем:
    • Это объектно-ориентированные языки, которые освобождают программистов в больших командах от необходимости думать о тонкостях внедрения, поскольку оба языка поддерживают компоненты (готовые объединенные единицы кода, которые позволяют выполнять определенные задачи и в других программах).
    • Они поддерживают событийно-управляемое программирование, а также объектно-ориентированное и процедурное программирование в определенной степени.
    • Фреймворк, на основе которого надстраивается язык, является распределенным по умолчанию (в случае Java).
    • Возможность использовать готовые пакеты, которые отвечают за сети, то есть пакеты для открытого кода и для встроенных во фреймворк пакетов. Благодаря этому программистам проще строить свою работу на основании уже существующего кода.
  10. How.com.vn Русский: Step 10 Уделяйте больше внимания...
    Уделяйте больше внимания ключевым особенностям языка, особенно там, где речь идет о сетях. Меньше внимания можно уделить пользовательскому интерфейсу, включая такие элементы, как вывод данных, дизайн окон и прочие техники.
  11. How.com.vn Русский: Step 11 Изучите основы архитектуры прикладных распределенных систем.
    Это можно сделать самостоятельно с помощью книг, интернет-источников или на курсах. Что бы вы ни выбрали, вам будет важно понимать основные принципы построения прикладных распределенных систем.
  12. How.com.vn Русский: Step 12 Изучите разработку обслуживаемых...
    Изучите разработку обслуживаемых компонентов и сервисов на выбранном вами языке.
  13. How.com.vn Русский: Step 13 Изучите одну или несколько из следующих технологий.
    Рекомендуется знать хотя бы немного о них всех. Большинство программистов прикладных распределенных систем не ограничиваются одним или двумя языками, а учат как минимум по одному языку на каждую операционную систему. Это объясняется тем, что для того чтобы сделать приложение распределенным, вам нужно будет создать по версии этой программы как минимум для основных операционных систем.
    • Общая архитектура посредника запросов к объектам (CORBA)
    • Простой протокол доступа к объектам (SOAP)
    • Асинхронный JavaScript и XML (AJAX)
    • Распределенная компонентная объектная модель (DCOM)
    • .NET Remoting
    • Веб-сервисы XML
    Реклама
Метод 4
Метод 4 из 6:

Программирование библиотек, платформ, фреймворков, ядер

Загрузить PDF
  1. How.com.vn Русский: Step 1 Узнайте, что такое программирование ядра.
    Программисты ядер — это опытные программисты, которые перешли от разработки приложений к программированию единиц кода, которые могли бы использовать другие программисты.
  2. How.com.vn Русский: Step 2 Изучите язык программирования,...
    Изучите язык программирования, поддерживающий разработку компонентов и пакетов, которые можно было бы использовать готовыми, если вы еще этого не сделали.
  3. How.com.vn Русский: Step 3 Пройдите продвинутый курс UML и ORM.
    Чаще всего используется либо что-то одно, либо и то, и другое.
  4. How.com.vn Русский: Step 4 Пройдите курс программирования...
  5. How.com.vn Русский: Step 5 Изучите как минимум...
    Изучите как минимум способы модулярного программирования, программирования на основе компонентнов, объектно-ориентированного и событийно-управляемого программирования и основные принципы работы в этих системах. Чем больше парадигм и языков вы будете знать, тем проще вам будет стать программистом библиотек и пакетов.
  6. How.com.vn Русский: Step 6 Изучите различные операционные...
    Изучите различные операционные системы и фреймворки, которые работают в этих системах.
  7. How.com.vn Русский: Step 7 Уделите особое внимание...
    Уделите особое внимание фреймоворкам, не зависящим от платформы, а также языкам программирования и технологиям.
  8. How.com.vn Русский: Step 8 Если языки программирования,...
    Если языки программирования, которые вы уже изучили, поддерживают стандартные версии ANSI/ISO/IEEE/W3C, освойте основы. По возможности используйте стандартный код.
  9. How.com.vn Русский: Step 9 Попробуйте воссоздать простые...
    Попробуйте воссоздать простые готовые библиотеки, особенно с открытым кодом. Это будет очень полезно на первом этапе. Начните с простых пакетов (например, перевод единиц измерения или расчеты среднего уровня сложности). Если вы учитесь в университете, используйте информацию, полученную на других занятиях, и попробуйте применять уравнения и данные в качестве библиотек.
  10. How.com.vn Русский: Step 10 Поищите пакеты с...
    Поищите пакеты с открытым кодом и попытайтесь поработать с ними в своей сфере программирования. Сначала скачайте двоичные и исполняемые файлы. Начните работать с ними, чтобы понять, в чем заключаются их сильные и слабые стороны. Затем скачайте исходный код и постарайтесь разобраться, как он был создан. Попробуйте воссоздать библиотеки или их части. Сначала делайте это после того, как увидите код, а потом — до этого. Когда начнете разбираться в этом, попробуйте улучшить библиотеки.
  11. How.com.vn Русский: Step 11 Изучите различные подходы...
    Изучите различные подходы к распределению и развертыванию компонентов для программистов.
    • Как правило, программисты библиотек и пакетов пытаются представить все задачи в обратном порядке и/или итерационно. Попробуйте представить задачу как совокупность мелких задач (последовательность простых действий) либо как повторяющий процесс, который позволяет свести большой масштаб к маленьким, а потом наслоить полученное друг на друга.
    • Программисты библиотек и пакетов часто обобщают. Когда перед ними есть простая и понятная задача, они пытаются представить общую проблему и решить ее, что автоматически решит все более мелкие задачи.
    Реклама
Метод 5
Метод 5 из 6:

Системное программирование

Загрузить PDF
  1. How.com.vn Русский: Step 1 Узнайте, что включает в себя системное программирование.
    Системные программисты работают с научной стороной программирования, а не с конкретными задачами. Не привязывайтесь к определенной платформе.
  2. How.com.vn Русский: Step 2 Следуйте рекомендациям в...
    Следуйте рекомендациям в первых трех шагах для программистов приложений для стационарных компьютеров.
  3. How.com.vn Русский: Step 3 Пройдите вводный курс по линейной алгебре.
  4. How.com.vn Русский: Step 4 Пройдите курс по...
    Пройдите курс по расчетным методам.
  5. How.com.vn Русский: Step 5 Пройдите курс по логике и/или дискретной математике.
  6. How.com.vn Русский: Step 6 Познакомьтесь с разными операционными системами без надстроек.
    Это можно сделать следующим образом:
    • Выясните, как устанавливаются системы.
    • Научитесь устанавливать операционные системы на компьютер (рекомендуется).
    • Установите более одной системы. Не пользуйтесь вспомогательными пакетами — возьмите лишь основной функционал операционных систем.
  7. How.com.vn Русский: Step 7 Пройдите курс по...
    Пройдите курс по архитектуре компьютерного оборудования (либо прочитайте литературу по этой теме).
  8. How.com.vn Русский: Step 8 Изучите особенности различных аппаратных платформ.
  9. How.com.vn Русский: Step 9 Ознакомьтесь с основами...
    Ознакомьтесь с основами языка ассемблера выбранной вами операционной системы или аппаратной платформы. Позже вам нужно будет изучить язык ассемблера других платформ и систем.
  10. How.com.vn Русский: Step 10 Изучите языки ANSI...
    Изучите языки ANSI C и C++, а также основные принципы процедурного программирования.
  11. How.com.vn Русский: Step 11 Изучите стандартные библиотеки...
    Изучите стандартные библиотеки на C/C++ и начните использовать их на выбранной вами платформе. Особое внимание уделите библиотеке стандартных шаблонов (STL) и библиотеке активных шаблонов (ATL)
  12. How.com.vn Русский: Step 12 Чтобы понять, как...
    Чтобы понять, как C/C++ работает на вашей платформе, читайте интернет-источники, книги и курсы.
  13. How.com.vn Русский: Step 13 Начните создавать более сложный код на C и C++.
  14. How.com.vn Русский: Step 14 Изучите более сложные нюансы Assembly.
  15. How.com.vn Русский: Step 15 Пройдите курс разработки операционных систем.
  16. How.com.vn Русский: Step 16 Найдите и прочитайте документацию по выбранной вами платформе.
    Вам будет проще работать с операционной системой на основе Unix. Вам нужно будет очень хорошо разбираться в этой системе.
  17. How.com.vn Русский: Step 17 Начните применять полученные знания.
    Сначала создавайте небольшие системные утилиты. Будет полезно сделать следующее:
    • Воссоздайте небольшие инструменты, которые уже есть в вашей системе.
    • Попробуйте соединить утилиты, которые есть в других системах, с вашей системой.
  18. How.com.vn Русский: Step 18 Изучите языки в том порядке, в котором это будет правильнее всего.
    Лишь в этом случае имеет значение, какой у вас первый язык программирования. Лучше сначала изучить ANSI C, а не C#, Java или D. Затем переходите к C++.
    • Требование знания языка C и только C связано с тем, что системный программист должен владеть следующими знаниями:
      • Реальная и полная компиляция исходного кода.
      • Файлы выходных данных объектов нижнего уровня.
      • Связующие двоичные файлы.
      • Программирование на машинном языке нижнего уровня и программирование на ассемблере. На языке С многим проще изучать ассемблер. Кроме того, этот язык позволяет помещать языковой код ассемблера в основной код в любой момент, и это процедурный язык (как и ассемблер).
    Реклама
Метод 6
Метод 6 из 6:

Научное программирование

Загрузить PDF
  1. How.com.vn Русский: Step 1 Узнайте, чем занимается научный программист.
    Научные программисты — это очень опытные специалисты, которые разрабатывают не приложения, а технологии: шифрование, языки программирования, алгоритмы по интеллектуальному анализу данных. Добиться этого уровня знаний без специального образования и упорства практически невозможно.
  2. How.com.vn Русский: Step 2 Накопите научные знания,...
    Накопите научные знания, равноценные объему информации, даваемой в университете. Это можно сделать несколькими способами:
    • Поступите в университет (обычно все так и делают).
    • Узнайте, в чем заключается университетская программа в этой сфере в одном из современных университетов, и начните либо заниматься на курсах, либо учиться самостоятельно. Теоретически это позволит получить все нужные знания, однако лучше всего поступить в университет.
  3. How.com.vn Русский: Step 3 Выберите специализацию.
    Чем более узкой она будет, тем лучше. Все зависит от ваших личных предпочтений, но мы приведем список основных сфер в научном программировании:
    • разработка алгоритмов (поиска, сортировки, шифровки данных, расшифровки, определения ошибок в передаче данных);
    • разработка и оптимизация языков программирования и компиляторов;
    • сфера искусственного разума (распознавание повторяющихся элементов, речи, обработка естественного языка, нейронные сети);
    • робототехника;
    • собственно научное программирование;
    • суперкомпьютеры;
    • системы CAD/CAM (компьютерное конструирование);
    • виртуальная реальность;
    • компьютерная графика (компьютерную графику часто путают с графическим дизайном или дизайном графического пользовательского интерфейса. Компьютерная графика — это сфера знаний, которая позволяет узнать, как создавать графику и управлять ею в компьютерных системах).
  4. How.com.vn Русский: Step 4 Подумайте о получении научной степени.
    Попробуйте стать кандидатом в доценты или доцентом.
  5. How.com.vn Русский: Step 5 Изучите технологии и...
    Изучите технологии и языки программирования, связанные с выбранным направлением.
    Реклама

Советы

  • Какой бы вид программирования вы ни выбрали и какого уровня вы ни хотели бы достичь, подумайте о курсах или университете. Пусть вас не пугают названия курсов. На любых занятиях, которые не предусматривают наличие каких-либо особых знаний у студентов, дают основы программирования. Чтобы убедиться в том, что курс вам подходит, обсудите программу с преподавателем. Помните, что курс с названием «Компьютерная грамотность» может давать информацию не о программировании, а о навыках использования офисных приложений.
Реклама

Об этой статье

How.com.vn Русский: Gene Linetsky, MS
Соавтор(ы): :
Основатель стартапов и главный инженер
Соавтор(ы): Gene Linetsky, MS. Джин Линецки — основатель стартапов и инженер-программист из области залива Сан-Франциско. Проработал в индустрии технологий более 30 лет. В настоящее время является главным инженером в Poynt, технологической компании, производящей платежные смарт-терминалы для бизнеса. Количество просмотров этой статьи: 73 978.
Категории: Мир работы
Эту страницу просматривали 73 978 раз.

Была ли эта статья полезной?

⚠️ Disclaimer:

Content from Wiki How Русский language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

Реклама