Главная » 2015 » Ноябрь » 30 » Как научиться писать программы
15:56
Как научиться писать программы

Как научиться писать программы

7 части:Выбор языка программированияРазработка программыСоздание прототипаСоздание программыТестирование программыСоздание дополнительных материаловРелиз программы

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

Шаги

Часть 1 из 7: Выбор языка программирования

  1. 1 Определитесь с тем, какой язык программирования вы выучите первым. Если раньше вы не программировали, то начинать надо с чего-то простого, рассчитанного на новичков - но, тем не менее, позволяющего добиться поставленных целей. Есть десятки языков программирования, у каждого из них свои области применения, свои задачи и особенности. Вот несколько из них:[1]
    • C - один из самых старых языков программирования. Знакомство с С упростит для вас изучение C++ и Java.
    • C++ - один из самых популярных языков программирования в наши дни, особенно в плане разработки программного обеспечения. Правда, на то, чтобы выучить С++, уйдет время, а на то, чтобы еще и научиться им пользоваться, уйдет еще больше… Но это окупит себя!
    • Java - еще один очень популярный язык программирования, который может работать почти что в любой операционной системе.
    • Python - один из простейших языков программирования, чьи основы можно выучить за пару дней. Тем не менее, это весьма мощный язык, задействованный для создания множества серверных и веб-приложений.
  2. 2 Подготовьте среду разработки. Чтобы начать программировать, вам нужно не так уж и много - и это "среда разработки”. Впрочем, что именно под этим понимается, зависит от выбранного языка программирования.
    • Редактор кода - почти что любому программисту будет удобнее работать в специальном текстовом редакторе - редакторе кода. Можно, конечно, и в "Блокноте” работать, но без подсветки синтаксиса и подстановок это будет весьма грустный опыт. Среди популярных редакторов кода можно назвать Notepad++, TextMate и JEdit.
    • Компилятор - при работе со многими языками программирования (С, Java и так далее) код программы сперва надо "собрать” - скомпилировать, только потом его можно будет запустить. Соответственно, придется установить компилятор, если ваш язык программирования без него не может. К слову, большинство компиляторов поможет вам отлавливать "баги” - ошибки программы.
    • IDE (Integrated Development Environment, интегрированная среда разработки) - в некоторых языка программирования и редактор кода, и компилятор, и модуль отладки - все объединено в одну-единственную интегрированную среду разработки. Скачать IDE можно, как правило, с сайта языка программирования.
  3. 3 Почитайте учебники. Если раньше вы не программировали вообще, то начинать надо с малого. Так, стоит найти учебники или курсы, хотя бы онлайн-курсы, которые объясняет вам основы основ выбранного языка, расскажу про его синтаксис, переменные, функции и все остальное, а также про то, как это все между собой связано.
    • Заинтересовались? Зайдите на Udemy, Khan Academy, Codecademy, Code.org и другие аналогичные ресурсы.[2]
  4. 4 Загрузите образцы и программы с открытым кодом. Вам будет куда проще учиться на примере, работая с образцами, благо что их в сети доступно предостаточно. Начните с простых программ, которые хоть как-то относятся к той программе, которую вы хотите сделать.
  5. 5 Чтобы выучить основы, создавайте простые программы. Раз уж вы начали писать код сами, то начните с азов. Напишите несколько программ, скажем, на вывод строки или подсчет простенького уравнения. Отрабатывайте все это - пригодится позже, во время работы над более сложными программами. Экспериментируйте, старайтесь сломать даже собственные программы.
  6. 6 Присоединитесь к сообществам программистов. Возможность задать вопросы состоявшемуся программисту - бесценна. На сайтах, где собираются программисты, вы найдете множество единомышленников, причем вне зависимости от того, на каком языке вы пишете. Не бойтесь спрашивать, но никогда не просите помощи, не испробовав перед этим все доступные вам средства.
  7. 7 Не забывайте, что на изучение языка программирования уходит много времени. Вы не сумеете написать программу (сложную), когда впервые сядете за компьютер с учебником программирования. Впрочем, чем больше вы будете учиться и практиковаться, тем лучше будете программировать.[3]

Часть 2 из 7: Разработка программы

  1. 1 Подготовьте "дизайн-документ”. Дизайн-документ - это детальное описание разрабатываемой программы, и именно его необходимо сделать первым делом, чтобы потом, уже по ходу работы, вы могли сверяться с ним и заложенными в нем целями. Именно дизайн-документ позволит вам позволит вам сделать то, что вы хотели, а не что-то иное.
    • Все, что вы хотите реализовать в программе, должно быть перечислено на страницах дизайн-документа.
    • Кроме того, дизайн-документ должен учитывать и пользователя, точнее то, как он будет работать с программой.
  2. 2 Сделайте блок-схему вашей программы. Это будет своего рода карта, показывающая, как пользователь будет переходить от одной части программы к другой. На этом этапе ничего сложнее простой блок-схемы вам не нужно.
  3. 3 Определитесь с архитектурой программы. Цели будут определять средство… то есть архитектуру. Если знать и понимать, каким задачам какая архитектура соответствует, то процесс разработки пойдет куда эффективнее.[4]
  4. 4 Начните с программы по схеме "1-2-3". Это простейший тип программ, их задача - позволить вам адаптироваться к языку программирования. Если в общем, то программы "1-2-3” запускают, спрашивают у пользователя какие-нибудь данные, затем выводят результат, на чем и заканчиваются.
    • Следующим шагом в схеме "1-2-3” будет так называемый "REPL” (Read-Execute-Print Loop). Проще говоря, это возврат к первому шагу программы после вывода результата вычислений.
    • Подумайте о программах типа "Pipeline”. Они характеризуются тем, что что трансформируют вводимые пользователем данные и работают последовательно. Данный тип подходит для программ, которые требуют минимум взаимодействия с пользователем - скажем, RSS-ридеры. Такая программа будет представлять собой несколько классов с общим циклом.

Часть 3 из 7: Создание прототипа

  1. 1 Сделайте акцент на какой-нибудь одной функции программы. Точнее сказать, прототип - это всегда основная функция программы. Допустим, вы создаете программу-органайзер - тогда основной функцией будет календарь и возможность добавлять события.
  2. 2 Добейтесь того, чтобы прототип работал без сбоев. Прототип должен быть таким, чтобы им можно было пользоваться вместо разрабатываемой программы. Прототип станет основой, фундаментом всему, так что работать он должен соответственно. Иными словами, каждая функция прототипа должна работать безукоризненно.
    • В прототип можно вносить срочные изменения и тестировать их.
    • Разумеется, задача тестирования прототипа требует участия сразу многих людей.
    • Прототип может и будет меняться, это факт.
  3. 3 Не бойтесь перерабатывать прототип снова и снова. В этом его суть - сперва эксперименты, потом релиз. Именно на примере прототипа вы сможете увидеть, все ли работает так, как надо. Если же прототип оказывается неудачным - не беда, просто перепишите его с нуля, начните все заново. Лучше так, поверьте.

Часть 4 из 7: Создание программы

  1. 1 Создайте базу псевдокода. Это станет своего рода скелетом вашего проекта и основой для будущей работы. Псевдо-код отличается от обычного кода тем, что… не "компилится” (не обрабатывается в компиляторе), зато прекрасно читается программистами и помогает понять, что должно происходить на том или ином шаге работы программы.
    • Псевдокод, впрочем, использует тот же синтаксис, что и обычный код, поэтому писать псевдокод надо так же, как и программу.
  2. 2 Усовершенствуйте прототип. Можете взять сам прототип, можете взять псевдокод - в любом случае, суть в том, чтобы сделать прототип лучше, совершеннее, быстрее!
  3. 3 Начните работу над кодом программы. Вот, собственно, мы и добрались до сути. Именно работа над кодом программы и займет большую часть времени, не говоря уже про бесчисленные компиляции, не менее бесчисленные тесты и поиски багов… Если над вашей программой работает целая команда, то стоит начать с псевдокода, чтобы все шло равномерно.
  4. 4 Не забывайте комментировать код. Описывайте функции и особенности, которые вы реализуете в коде. Это нужно не только для того, чтобы кто-то другой, открыв ваши исходники, сумел разобраться, что к чему, но и для того, чтобы вы сами не запутались в собственном коде, если вернетесь к нему, скажем, через год.

Часть 5 из 7: Тестирование программы

  1. 1 Тестируйте весь новый функционал. Все, что вы добавили в программу, должно быть протестировано, оттестировано и перетестировано. И чем больше людей приложат к этому руку, тем лучше, тем больше ошибок можно будет найти. Тестеры, разумеется, должны знать, что работают с далеко не финальной версией, а потому возможны ошибки.
    • Этот этап работы над программой часто называют "альфа-тестированием”.
  2. 2 Протестируйте финальную версию программы. Итак, все функции, какие только должно были быть в программе, в нее добавлены. Что теперь? Теперь снова тесты. Долгие, придирчивые, тщательные тесты - и работа над ошибками, разумеется. Сейчас вашу программу должно тестировать даже большее количество человек, чем ранее.
  3. 3 Протестируйте релиз-версию. Продолжая вносить в программу исправления и дополнительные материалы, не забывайте все тестировать.

Часть 6 из 7: Создание дополнительных материалов

  1. 1 Подумайте, что вам нужно. Это будет зависеть от программы, так что подумайте, нужны ли вам, скажем, аудиозаписи? Графика? Контент? Задумайтесь об этом до релиза.
  2. 2 Подумайте, не стоит ли отдать все это на аутсорс. Если вам нужно много всего, но вы или никто в вашей команде не может рисовать или заниматься звукозаписью, то стоит вспомнить про аутсорс. Вы без проблем найдете фрилансеров, которые подготовят для вас все необходимое.
  3. 3 Добавьте в программу все необходимые дополнительные материалы. Опять же, они не должны портить функционал программы. Добавление дополнительных материалов знаменует собой начало финального этапа работы над программой, если только, конечно, дополнительные материалы не являются неотъемлемой и внутренней частью самой программы (как, скажем, бывает при создании видео-игр).

Часть 7 из 7: Релиз программы

  1. 1 Подумайте, не стоит ли выпустить вашу программу под лицензией открытого кода. Тогда и другие люди смогут получить доступ к исходному коду программы, вносить в него изменения и улучшения. Правда, по такой лицензии вы вряд ли получите доход от программы - вы же не сможете ее продавать, код-то открытый. В чем же резон? В помощи сообщества, которое, если заинтересуется вашей программой, может превратить ее в истинный шедевр.
  2. 2 Подготовьтесь к продажам вашей программы. Для этого вам нужен интернет-магазин типа "витрина”, чтобы покупатели могли, заплатив, скачать программу и начать ей пользоваться. Учтите, впрочем, что программы, за которые платят деньги, должны работать идеально!
    • В зависимости от того, что у вас за программа, вы можете продавать еще множество услуг.
  3. 3 Продолжайте поддерживать выпущенную программу обновлениями. Скорее всего, после релиза вы увидите поток сообщений о всевозможных ошибках и багах. Это нормально. Вам нужно ранжировать эти сообщения по степени важности и начать решать соответствующие проблемы, а затем выпускать обновления для программы - так называемые "патчи”.
    • Хотите не растерять покупателей и стяжать себе добрую славу? Выпускайте патчи почаще.
  4. 4 Займитесь рекламой вашей программы. Если о ней никто не будет знать, то никто ей и пользоваться не будет. Отправляйте сообщения на тематические сайты, раздавайте бесплатную пробную версию, напишите пресс-релиз, делайте все необходимое, чтобы о вашей программе узнали!
Категория: Вопросы и ответы | Просмотров: 44 | | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]