Як навчитися писати програми

Фото - Як навчитися писати програми

Отже, у вас з`явилася ідея для відмінної програми, проте ви й гадки не маєте, як її реалізувати? Не біда, допоможемо. Правда, доведеться витратити чимало часу на те, щоб вивчити мову програмування, але це нормально. Скажемо навіть більше, багато успішні програмісти - самоучки. Вивчивши основи, ви зможете створювати прості програми, витрачаючи на це мінімум часу. Створення більш складних програм, звичайно, є більш серйозним завданням, але, як кажуть, терпіння і труд все перетруть!




Частина 1 з 7: Вибір мови програмування

  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 та інші аналогічні ресурси.

  4. 4

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

  5. 5

    Щоб вивчити основи, створюйте прості програми. Раз вже ви почали писати код самі, то почніть з азів. Напишіть кілька програм, скажімо, на висновок рядка або підрахунок простенького рівняння. Відпрацьовуйте все це - стане в нагоді пізніше, під час роботи над складнішими програмами. Експериментуйте, намагайтеся зламати навіть власні програми.

  6. 6

    Приєднайтесь до спільнот програмістів. Можливість поставити питання состоявшемуся програмісту - безцінна. На сайтах, де збираються програмісти, ви знайдете безліч однодумців, причому незалежно від того, якою мовою ви пишете. Не бійтеся питати, але ніколи не просіть допомоги, що не випробувавши перед цим всі доступні вам засоби.

  7. 7

    Не забувайте, що на вивчення мови програмування йде багато часу. Ви не зумієте написати програму (складну), коли вперше сядете за комп`ютер з підручником програмування. Втім, чим більше ви будете вчитися і практикуватися, тим краще будете програмувати.

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

  1. 1

    Підготуйте "дизайн-документ". Дизайн-документ - це детальний опис розроблюваної програми, і саме його необхідно зробити першою справою, щоб потім, уже по ходу роботи, ви могли звірятися з ним і закладеними в ньому цілями. Саме дизайн-документ дозволить вам дозволить вам зробити те, що ви хотіли, а не щось інше.
    • Все, що ви хочете реалізувати в програмі, має бути перераховано на сторінках дизайн-документа.
    • Крім того, дизайн-документ повинен враховувати і користувача, точніше те, як він буде працювати з програмою.

  2. 2

    Зробіть блок-схему вашої програми. Це буде свого роду карта, що показує, як користувач буде переходити від однієї частини програми до іншої. На цьому етапі нічого складніше простий блок-схеми вам не потрібно.

  3. 3

    Визначтеся з архітектурою програми. Цілі будуть визначати засіб ... тобто архітектуру. Якщо знати і розуміти, яким задачам яка архітектура відповідає, то процес розробки піде куди ефективніше.

  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

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