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

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

ТОҶИКОН ФОРУМ

Бот Модератор
Команда форума
Часть1

Выбор языка программирования​


  1. Step 1 Определитесь с тем, какой язык программирования вы выучите первым.

    1
    Определитесь с тем, какой язык программирования вы выучите первым. Если раньше вы не программировали, то начинать надо с чего-то простого, рассчитанного на новичков — тем не менее позволяющего добиться поставленных целей. Есть десятки языков программирования, у каждого из них свои области применения, свои задачи и особенности. Вот несколько из них:[1]
    • C — один из самых старых языков программирования. Знакомство с С позволит упростить изучение C++ и Java.
    • C++ — один из самых популярных языков программирования в наши дни, особенно в плане разработки программного обеспечения. Правда, на то, чтобы выучить С++, уйдет время, а на то, чтобы еще и научиться им пользоваться, уйдет еще больше… Но это окупит себя!
    • Java — еще один очень популярный язык программирования, который может работать почти что в любой операционной системе.
    • Python — один из простейших языков программирования, чьи основы можно выучить за пару дней. Тем не менее это весьма мощный язык, задействованный для создания множества серверных и веб-приложений.


  2. Step 2 Подготовьте среду разработки.

    2
    Подготовьте среду разработки.Чтобы начать программировать, вам нужно не так уж и много — и это «среда разработки». Впрочем, что именно под этим понимается, зависит от выбранного языка программирования.
    • Редактор кода — почти что любому программисту будет удобнее работать в специальном текстовом редакторе — редакторе кода. Можно, конечно, и в «Блокноте» работать, но без подсветки синтаксиса и подстановок это будет весьма печальный опыт. Среди популярных редакторов кода можно назвать Notepad++, TextMate и JEdit.
    • Компилятор — при работе со многими языками программирования (С, Java и так далее) код программы сначала надо «собрать» — скомпилировать, только потом его можно будет запустить. Соответственно, придется установить компилятор, если в выбранном вами языке программирования без него не обойтись. К слову, большинство компиляторов поможет вам отлавливать «баги» — ошибки программы.
    • IDE (Integrated Development Environment, интегрированная среда разработки) — в некоторых языка программирования и редактор кода, и компилятор, и модуль отладки — все объединено в одну-единственную интегрированную среду разработки. Скачать IDE можно, как правило, с сайта языка программирования.


  3. Step 3 Почитайте учебники.

    3
    Почитайте учебники.Если раньше вы не программировали вообще, то начинать надо с малого. Так, стоит найти учебники или курсы, хотя бы онлайн-курсы, в которых даны основы основ выбранного языка, рассказано про его синтаксис, переменные, функции и все остальное, а также про то, как это все между собой связано.
    • Заинтересовались? Зайдите на Udemy, Khan Academy, Codecademy, Code.org и другие аналогичные ресурсы.[2]


  4. Step 4 Загрузите образцы и программы с открытым кодом.

    4
    Загрузите образцы и программы с открытым кодом. Вам будет куда проще учиться на примере, работая с образцами, благо что их в сети доступно предостаточно. Начните с простых программ, которые хоть как-то относятся к той программе, которую вы хотите сделать.


  5. Step 5 Чтобы выучить основы, создавайте простые программы.

    5
    Чтобы выучить основы, создавайте простые программы. Раз уж вы начали писать код сами, то начните с азов. Напишите несколько программ, скажем, на вывод строки или подсчет простенького уравнения. Отрабатывайте все это — пригодится позже, во время работы над более сложными программами. Экспериментируйте, старайтесь сломать даже собственные программы.


  6. Step 6 Присоединитесь к сообществам программистов.

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


  7. Step 7 Не забывайте, что...

    7
    Не забывайте, что на изучение языка программирования уходит много времени. Вы не сумеете написать программу (сложную), когда впервые сядете за компьютер с учебником программирования. Впрочем, чем больше вы будете учиться и практиковаться, тем лучше будете программировать.
 
Последнее редактирование модератором:

ТОҶИКОН ФОРУМ

Бот Модератор
Команда форума
Часть2

Разработка программы​


  1. Step 1 Подготовьте «дизайн-документ».

    1
    Подготовьте «дизайн-документ».Дизайн-документ — это детальное описание разрабатываемой программы, и именно его необходимо сделать первым делом, чтобы потом, уже по ходу работы, вы могли сверяться с ним и заложенными в нем целями. Именно дизайн-документ позволит вам сделать то, что вы хотели, а не что-либо иное.
    • Все, что вы хотите реализовать в программе, должно быть перечислено на страницах дизайн-документа.
    • Кроме того, дизайн-документ должен учитывать и пользователя, точнее то, как он будет работать с программой.

  2. Step 2 Сделайте блок-схему вашей программы.

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


  3. Step 3 Определитесь с архитектурой программы.

    3
    Определитесь с архитектурой программы. Цели будут определять средство… то есть архитектуру. Если знать и понимать, каким задачам какая архитектура соответствует, то процесс разработки пойдет куда эффективнее.[4]


  4. Step 4 Начните с программы по схеме «1-2-3».

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

ТОҶИКОН ФОРУМ

Бот Модератор
Команда форума
Часть3

Создание прототипа​


  1. Step 1 Сделайте акцент на какой-то одной функции программы.

    1
    Сделайте акцент на какой-то одной функции программы. Точнее сказать, прототип — это всегда основная функция программы. Допустим, вы создаете программу-органайзер — тогда основной функцией будет календарь и возможность добавлять события.


  2. Step 2 Добейтесь того, чтобы прототип работал без сбоев.

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


  3. Step 3 Не бойтесь перерабатывать прототип снова и снова.

    3
    Не бойтесь перерабатывать прототип снова и снова. В этом его суть — сначала эксперименты, потом релиз. Именно на примере прототипа вы сможете увидеть, все ли работает так, как надо. Если же прототип оказывается неудачным — не беда, просто перепишите его с нуля, начните все заново. Лучше так, поверьте.
 

ТОҶИКОН ФОРУМ

Бот Модератор
Команда форума
Часть4

Создание программы​


  1. Step 1 Создайте базу псевдокода....

    1
    Создайте базу псевдокода. Это станет своего рода скелетом вашего проекта и основой для будущей работы. Псевдокод отличается от обычного кода тем, что… не «компилится» (не обрабатывается в компиляторе), зато прекрасно читается программистами и помогает понять, что должно происходить на том или ином шаге работы программы.
    • Псевдокод, впрочем, использует тот же синтаксис, что и обычный код, поэтому писать псевдокод надо так же, как и программу.


  2. Step 2 Усовершенствуйте прототип.

    2
    Усовершенствуйте прототип. Можете взять сам прототип, можете взять псевдокод — в любом случае суть в том, чтобы сделать прототип лучше, совершеннее, быстрее!


  3. Step 3 Начните работу над кодом программы.

    3
    Начните работу над кодом программы. Вот, собственно, мы и добрались до сути. Именно работа над кодом программы и займет бо́льшую часть времени, не говоря уже про бесчисленные компиляции, не менее бесчисленные тесты и поиски багов… Если над вашей программой работает целая команда, то стоит начать с псевдокода, чтобы все шло равномерно.


  4. Step 4 Не забывайте комментировать код.

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

ТОҶИКОН ФОРУМ

Бот Модератор
Команда форума
Часть5

Тестирование программы​


  1. Step 1 Тестируйте весь новый функционал.

    1
    Тестируйте весь новый функционал.Все, что вы добавили в программу, должно быть протестировано, оттестировано и перетестировано. И чем больше людей приложат к этому руку, тем лучше, тем больше ошибок можно будет найти. Тестеры, разумеется, должны знать, что работают с далеко не финальной версией, а потому возможны ошибки.
    • Этот этап работы над программой часто называют «альфа-тестированием».


  2. Step 2 Протестируйте финальную версию программы.

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


  3. Step 3 Протестируйте релиз-версию.

    3
    Протестируйте релиз-версию. Продолжая вносить в программу исправления и дополнительные материалы, не забывайте все тестировать.
 

ТОҶИКОН ФОРУМ

Бот Модератор
Команда форума
Часть6

Создание дополнительных материалов​


  1. Step 1 Подумайте, что вам нужно.

    1
    Подумайте, что вам нужно. Это будет зависеть от программы, так что подумайте, нужны ли вам, скажем, аудиозаписи? Графика? Контент? Задумайтесь об этом до релиза.


  2. Step 2 Подумайте, не стоит ли отдать все это на аутсорсинг.

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


  3. Step 3 Добавьте в программу все необходимые дополнительные материалы.

    3
    Добавьте в программу все необходимые дополнительные материалы. Опять же, они не должны портить функционал программы. Добавление дополнительных материалов знаменует собой начало финального этапа работы над программой, если только, конечно, дополнительные материалы не являются неотъемлемой и внутренней частью самой программы (как, скажем, бывает при создании видеоигр).
 

ТОҶИКОН ФОРУМ

Бот Модератор
Команда форума
Часть7

Релиз программы​


  1. Step 1 Подумайте, не стоит...

    1
    Подумайте, не стоит ли выпустить вашу программу под лицензией открытого кода. Тогда и другие люди смогут получить доступ к исходному коду программы, вносить в него изменения и улучшения. Правда, по такой лицензии вы вряд ли получите доход от программы — вы же не сможете ее продавать, код-то открытый. В чем же резон? В помощи сообщества, которое, если заинтересуется вашей программой, может превратить ее в истинный шедевр.


  2. Step 2 Подготовьтесь к продажам вашей программы.

    2
    Подготовьтесь к продажам вашей программы.Для этого вам нужен интернет-магазин типа «витрина», чтобы покупатели могли, заплатив, скачать программу и начать ею пользоваться. Учтите, впрочем, что программы, за которые платят деньги, должны работать идеально!
    • В зависимости от того, что у вас за программа, вы можете продавать еще множество услуг.


  3. Step 3 Продолжайте поддерживать выпущенную программу обновлениями.

    3
    Продолжайте поддерживать выпущенную программу обновлениями.Скорее всего, после релиза вы увидите поток сообщений о всевозможных ошибках и багах. Это нормально. Вам нужно ранжировать эти сообщения по степени важности и начать решать соответствующие проблемы, а затем выпускать обновления для программы — так называемые «патчи».
    • Хотите не растерять покупателей и стяжать себе добрую славу? Выпускайте патчи почаще.


  4. Step 4 Займитесь рекламой вашей...

    4
    Займитесь рекламой вашей программы. Если о ней никто не будет знать, то никто ей и пользоваться не будет. Отправляйте сообщения на тематические сайты, раздавайте бесплатную пробную версию, напишите пресс-релиз, делайте все необходимое, чтобы о вашей программе узнали!
 
Верх Низ