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

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




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

  1. Як вивчити мову програмування

    1

    Визначтеся з тим, що вам цікаво. Звичайно, ви можете почати вчити будь-яку мову програмування (далі ЯП). Правда, деякі ЯП істотно легше в освоєнні інших ... Як би там не було, вам потрібно визначитися з тим, заради чого ви будете вчити мову програмування. Це дозволить вам визначитися з тим, що саме вам треба вчити, та й просто стане гарною відправною точкою.
    • Веб-розробка гріє вам душу? Список ЯП, які вам знадобляться, істотно відрізняється від списку ЯП, необхідних для написання комп`ютерних програм. Мобільна розробка - мрія вашого дитинства? Це вже третій список. Те, що ви будете вчити, залежить від того, чим ви хочете займатися.

  2. 2

    Почніть з більш простого мови. Що б ви там для себе не вирішили, а починати варто з відносно простих мов високого рівня. Такі мови особливо гарні для початківців, так як вони дозволяють оволодіти базовими принципами і зрозуміти загальну логіку програмування.
    • Найчастіше в цьому контексті згадують про Python і Ruby. Це два об`єктно-орієнтованих ЯП з цілком зрозумілих синтаксисом, використовуваних переважно для створення веб-додатків.
    • "Об`єктно-орієнтований ЯП" спирається представлення всього у вигляді «об`єктів», що з`єднують всередині себе дані і методи їх обробки, і подальшу маніпуляцію об`єктами. Такими ЯП є, зокрема, C ++, Java, Objective-C і PHP.

  3. 3

    Почитайте навчальні посібники базового рівня до кількох ЯП. Якщо ви досі не визначилися з тим, що вчити, почитайте навчальні посібники до кількох ЯП. Якщо щось вас зачепить - спробуйте розібратися в тому ЯП трохи краще. Завдання це проста, так як різного роду навчальних матеріалів вступного рівня по ЯП в мережі можна знайти більш ніж достатньо:
    • Python - чудова мова для початківців, який, втім, має досить потужним потенціалом, якщо навчитися ним користуватися. Сфера використання - веб-додатки та ігри.
    • Java - використовується ... ох, простіше сказати, де цей ЯП не використовується! Майже що все, від ігор і до софта для банкоматів - Java.
    • HTML - НЕ ЯП, а мова розмітки, але для будь-якого веб-розробника просто необхідний.
    • C - один з найстаріших ЯП, що не втратив актуальність і донині. C - не тільки потужний інструмент сам по собі, але ще й основа для більш сучасних ЯП: C ++, C # і Objective-C.

Частина 2 з 6: Починаємо з малого

  1. 1

    Вивчіть базові принципи ЯП. Тут, звичайно, все залежить від обраного вами мови, однак є у ЯП і загальні моменти, виключно для написання корисних програм важливі. Чим раніше ви опануєте усіма цими поняттями і навчитеся застосовувати їх на практиці, тим краще для вас і ваших навичок програміста. Отже, ось лише деякі з вищезгаданих «моментів»:
    • Змінні - у змінній можна зберігати і викликати мінливі дані. Змінними можна управляти, у змінних є типи (дуже спрощено кажучи - числа, символи і так далі), якими і визначається тип зберігаються в змінної даних. Найменування змінних прийнято ставити такими, щоб людина, що читає вихідний код, міг отримати уявлення про те, що у змінній зберігається - так буде простіше зрозуміти логіку роботи програми.
    • Умовні конструкції (вони ж - умовні вирази) - це дія, які виконується в тому випадку, якщо вираз або конструкція істинно або хибно. Найбільш поширеною формою таких виразів можна назвати конструкцію "If-Then" (якщо щось). Якщо вираз істинний (наприклад, якщо x = 5), то відбудеться дію №1, а якщо ложно (x! = 5), то дія №2.
    • Функції - в різних мовах програмування їх називають по-різному: десь це процедури, десь - методи, десь - викликаються одиниці. По суті ж, функції являють собою міні-програми, що входять до складу великої програми. Функцію можна викликати кілька разів, що дозволяє програмісту створювати складні програми.
    • Введення даних - досить широко трактуються поняття, присутнє в майже що кожному ЯП. Суть його - обробка даних, введених користувачем, та їх зберігання. Те, як будуть зібрані дані, залежить від програми і доступних користувачеві способів введення даних (з клавіатури, з файлу і так далі). Поняття введення даних тісно пов`язане з поняттям виведення даних - тобто того, яким чином дані будуть повернуті користувачеві (виведені на екран, записані у файл і так далі).

  2. 2

    Встановіть все необхідне ПЗ. Багатьом ЯП потрібні компілятори - програми, що переводять програмний код в зрозумілі для комп`ютера інструкції. Втім, є й ЯП іншого типу (на кшталт Python), в яких програми виконуються відразу, а компіляція їх не потрібно.
    • У деяких ЯП є так звані IDE (Integrated Development Environment, інтегрована середовище розробки), в які входять редактор коду, компілятор / інтерпретатор і відладчик (дебагер). Це дає програмісту можливість працювати над програмою, образно висловлюючись, за принципом одного вікна. Також в IDE можуть входити візуальні подання ієрархій об`єктів і директорій.
    • Є й онлайнові редактори коду. Ці програми підсвічують синтаксис програмного коду трохи інакше, а також пропонують розробнику доступ до ряду корисних і простих інструментів.

Частина 3 з 6: Пишемо свою першу програму

  1. 1

    Освоюйте базові концепти по одному за раз. Першою програмою, яку пишуть на будь-якому ЯП, є класична "Hello World". Вона дуже проста, вся її суть - вивести на екран текст "Hello, World" (або його варіацію). З цієї програми люди, які вивчають ЯП, повинні засвоїти синтаксис найпростішої робочої програми, а також спосіб виведення даних на екран. Змінюючи текст, можна помітити, як обробляються програмою прості дані.

  2. 2

    Вчіться на основі розбору онлайн-прикладів. У мережі для будь-якого ЯП можна знайти сотні, тисячі прикладів програм, програмок і просто шматків коду. Вивчайте різні аспекти обраного вами ЯП на основі цих прикладів. Створюючи свої власні програми, спирайтеся на такі от фрагменти знань.

  3. 3

    Вивчіть синтаксис ЯП. Що таке синтаксис в контексті ЯП? Спосіб написання програм особливим чином, зрозумілим для компіляторів. У кожного ЯП власні правила синтаксису, хоча, звичайно, зустрічаються і спільні елементи. Вивчення синтаксису мови - один з наріжних каменів вивчення ЯП. Досить часто люди навіть думають, що саме вивчення синтаксису зробить їх програмістами. У реальності, звичайно, все не так - синтаксис суть основа, фундамент.

  4. 4

    Експериментуйте! Яким саме чином? Вносьте зміни в приклади програм і перевіряйте одержувані результати. Такий підхід куди швидше дозволить вам зрозуміти, що дає результати, а що - ні, ніж якби ви займалися по книзі. Не бійтеся зіпсувати або «зламати» програму, бо виправлення помилок є одним з ключових етапів у процесі розробки ПЗ. Та й потім, з першого разу написати працюючу програму ... ну, це майже що фантастика!

  5. 5

    Почніть працювати з дебаггера. Програмні помилки (баги) - це те, з чим ви обов`язково зіткнетеся, зайнявшись програмуванням. Помилки будуть скрізь, готуйтеся. Вони можуть бути нешкідливими, щодо нешкідливими або, на жаль, критичними, що не дають програмою скомпілювати. Процес налагодження програми є одним з ключових етапів розробки ПЗ, повторимо. Привчитеся до виправлення помилок якомога раніше.
    • Експериментуючи з програмами, ви неодмінно щось зламаєте, і це добре. Уміння виправити програму - один з найцінніших навичок для програміста.

  6. 6

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

Частина 4 з 6: Програмуємо регулярно



  1. 1

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

  2. 2

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

  3. Як вивчити мову програмування

    3

    Обмінюйтеся досвідом і читайте чужі програми. Навколо кожного ЯП зібралося величезне співтовариство. Якщо ви приєднаєтеся до відповідного спільноті, то дуже сильно собі допоможете, так як отримаєте доступ до більш ніж якісному обучающему матеріалу. Читання чужого коду може надихнути вас, може додати вам сил і допомогти краще зрозуміти ті особливості програмування, на яких ви до цього буксували.
    • Форуми та онлайн-спільноти, присвячені програмуванню на вибраному вами ЯП - ось що слід шукати в першу чергу. Не треба постійно лише ставити питання, беріть участь в житті спільноти повноцінно - це, як ніяк, місця, де люди співпрацюють один з одним, а не проводять безкоштовні навчальні курси. Іншими словами, не соромтеся просити про допомогу, але й не сидите, склавши руки!
    • Напрацювавши більш-менш пристойний досвід, приймайте участь в Хакатона чи інших аналогічних заходах - змагання, де треба встигнути написати особливу програму у відведений час. Такі заходи захоплюючі й корисні.

  4. Як вивчити мову програмування

    4

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

Частина 5 з 6: Розширюємо кругозір

  1. 1

    Запишіться на курси. Університети, коледжі та освітні центри (і не тільки) проводять курси та семінари з програмування, що може стати відмінним варіантом для початківців. Самі посудіть, де ще новачки зможуть наживо поспілкуватися з досвідченими фахівцями?

  2. Як вивчити мову програмування

    2

    Читайте тематичні книги. Як ви отримаєте до книг доступ - справа ваша, суть в тому, що за будь-якого ЯП можна знайти сотні книг різного ступеня корисності. Звичайно, ваші знання не повинні бути суто книжковими, це факт. Тим не менше, і в книгах є своя користь.

  3. Як вивчити мову програмування

    3

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

  4. Як вивчити мову програмування

    4

    Ніколи не припиняйте програмувати. Є популярна теорія «10 тисяч годин», яка говорить, що майстерність приходить через 10000 годин, проведених за тим чи іншим заняттям. Точна кількість годин як точка досягнення майстерності - питання, звичайно, спірне, але в цілому теорія вірна - майстерність суть результат прикладеного праці та витраченого часу. Не опускайте руки, і одного разу ви станете експертом.

  5. 5

    Вивчіть інший ЯП. Звичайно, оволодіння навіть одним ЯП буде вам тільки в плюс, проте багато програмісти не зупиняються на досягнутому і вчать кілька мов. Буде непогано, якщо другий чи третій ЯП, який ви виберете, доповнювати перший - тоді можна буде створити навіть ще більш складні і цікаві програми. Само собою, вчити нове треба лише тоді, коли старим ви вже оволоділи на пристойному рівні.
    • Є всі шанси, що друга мова ви вивчите швидше першого, але це цілком зрозуміло, тому що багато концепти програмування поширені більш ніж широко, особливо у «родинних» мов.

Частина 6 з 6: Застосовуємо отримані навички

  1. 1

    Отримайте університетську освіту. Цей пункт обов`язковим не є, однак роки навчання можуть відкривати щось нове (а можуть і не відкрити) і познайомити вас з потрібними людьми (теж не факт). Знову ж таки - цей крок не обов`язковий, є багато успішних програмістів, які диплома про вищу освіту не мають.

  2. 2

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

  3. 3

    Стати фрілансером. Програмісти (особливо ті, які спеціалізуються на мобільних додатках) зараз нарозхват. Виконайте пару-трійку проектів як фрілансер - це і для портфоліо корисно, і для гаманця, і для досвіду.

  4. 4

    Розробіть власний програмний продукт. Платним він буде чи ні - вирішувати вам. Зрештою, зовсім не обов`язково працювати на когось, щоб заробити програмуванням гроші! Якщо ви вмієте писати програми і продавати їх, то справа майже в капелюсі! Головне - не забувати надавати користувачам підтримку після релізу програми.
    • Модель Freeware (безкоштовне розповсюдження) популярна в разі невеликих програм і утиліт. У такому випадку розробник нічого не заробляє у фінансовому плані, зате отримує репутацію і впізнаване ім`я серед колег по цеху.

Поради

  • Хочете створювати ігри? Вивчайте Python, C ++ і Java. З цієї трійці C ++ дає найкращу продуктивність, Python найпростіший, а Java запуститься на всіх ОС без особливих проблем.
  • Дізнайтеся більше про направлення Free software (безкоштовне ПЗ). Вивчайте вихідний код програм, які можна знайти тут. Навіщо, самі подумайте, винаходити велосипед, коли можна взяти готовий велосипед і просто його поліпшити? Головне - розуміти, що саме ви програмуєте.
  • Для багатьох людей приклади і задачі з підручника з програмування - це взагалі ні про що. Намагайтеся шукати і вирішувати цікаві для вас завдання.
  • Вивчаючи щось нове, корисно буде самостійно це реалізувати, потім внести зміни, спробувати вгадати результати і, як наслідок, наблизитися до розумію суті.
  • Використовуйте сучасні інтерфейси і актуальні версії ЯП.
  • Додаткові матеріали - ваші друзі. Немає нічого погано в тому, що ви щось забули або не запам`ятали. Всьому свій час, не переживайте. Головне - знати. Де підглянути!
  • Доброю практикою буде навчання інших - це дозволить вам не тільки краще зрозуміти матеріал, але й поглянути на нього з боку.