Як вивчити мову програмування
Якщо ви хочете навчитися створювати комп`ютерні програми, мобільні додатки, сайти, ігри або будь-яке інше програмне забезпечення, вам, власне, потрібно навчитися програмувати. Програми пишуться на мовах програмування, які і дають програмі можливість працювати - бути виконаною комп`ютером, смартфоном або іншим обчислювальним пристроєм.
кроки
Частина 1 з 6:
Вибираємо мову програмування1. Визначтеся з тим, що вам цікаво. Звичайно, ви можете почати вчити будь-яку мову програмування (далі ЯП). Правда, деякі ЯП істотно легше в освоєнні інших ... Як би там не було, вам потрібно визначитися з тим, заради чого ви будете вчити мову програмування. Це дозволить вам визначитися з тим, що саме вам треба вчити, та й просто стане гарною відправною точкою.
- Веб-розробка гріє вам душу? Список ЯП, які вам знадобляться, істотно відрізняється від списку ЯП, необхідних для написання комп`ютерних програм. Мобільна розробка - мрія вашого дитинства? Це вже третій список. Те, що ви будете вчити, залежить від того, чим ви хочете займатися.
2. Почніть з більш простого мови. Що б ви там для себе не вирішили, а починати варто з відносно простих мов високого рівня. Такі мови особливо гарні для початківців, так як вони дозволяють опанувати базовими принципами і зрозуміти загальну логіку програмування.
3. Почитайте навчальні посібники базового рівня до кількох ЯП. Якщо ви до цих пір не визначилися з тим, що вчити, почитайте навчальні посібники до кількох ЯП. Якщо щось вас зачепить - спробуйте розібратися в тому ЯП трохи краще. Завдання це проста, так як різного роду навчальних матеріалів вступного рівня по ЯП в мережі можна знайти більш ніж достатньо:
Частина 2 з 6:
Починаємо з малого1. Вивчіть базові принципи ЯП. Тут, звичайно, все залежить від обраного вами мови, проте є у ЯП і загальні моменти, виключно для написання корисних програм важливі. Чим раніше ви опануєте усіма цими поняттями і навчитеся застосовувати їх на практиці, тим краще для вас і ваших навичок програміста. Отже, ось лише деякі з вищезгаданих «моментів»:
- Змінні - у змінній можна зберігати і викликати мінливі дані. Змінними можна управляти, у змінних є типи (дуже спрощено кажучи - числа, символи і так далі), якими і визначається тип зберігаються в змінної даних. Найменування змінних прийнято ставити такими, щоб людина, що читає вихідний код, міг отримати уявлення про те, що в змінної зберігається - так буде простіше зрозуміти логіку роботи програми.
- Умовні конструкції (вони ж - умовні вирази) - це дія, які виконується в тому випадку, якщо вираз або конструкція істинно або хибно. Найбільш поширеною формою таких виразів можна назвати конструкцію «If-Then» (якщо щось). Якщо вираз істинний (наприклад, якщо x = 5), то станеться дію №1, а якщо помилково (x != 5), то дія №2.
- Функції - в різних мовах програмування їх називають по-різному: десь це процедури, десь - методи, десь - викликаються одиниці. По суті ж, функції являють собою міні-програми, що входять до складу великої програми. Функцію можна викликати кілька разів, що дозволяє програмісту створювати складні програми.
- Введення даних - досить широко трактуються поняття, яке у майже кожному ЯП. Суть його - обробка даних, введених користувачем, і їх зберігання. Те, як будуть зібрані дані, залежить від програми і доступних користувачеві способів введення даних (з клавіатури, з файлу і так далі). Поняття введення даних тісно пов`язане з поняттям виведення даних - тобто того, яким чином дані будуть повернуті користувачеві (виведені на екран, записані в файл і так далі).
2. Встановіть все необхідне ПЗ. Багатьом ЯП потрібні компілятори - програми, що переводять програмний код в зрозумілі для комп`ютера інструкції. Втім, є і ЯП іншого типу (на кшталт Python), в яких програми виконуються відразу, а компіляція їх не потрібно.
Частина 3 з 6:
Пишемо свою першу програму1. Освоюйте базові концепти по одному за раз. Першою програмою, яку пишуть на будь-якому ЯП, є класична «Hello World». Вона дуже проста, вся її суть - вивести на екран текст «Hello, World» (або його варіацію). З цієї програми люди, які вивчають ЯП, повинні засвоїти синтаксис найпростішої робочої програми, а також спосіб виведення даних на екран. Змінюючи текст, можна помітити, як обробляються програмою прості дані. Ось пару статей про те, як створити програму «Hello World» на різних мовах:
- на Python;
- на Java.
2. Вчіться на основі розбору онлайн-прикладів. У мережі для будь-якого ЯП можна знайти сотні, тисячі прикладів програм, програмок і просто шматків коду. Вивчайте різні аспекти обраного вами ЯП на основі цих прикладів. Створюючи свої власні програми, спирайтеся на такі ось фрагменти знань.
3. Вивчіть синтаксис ЯП. Що таке синтаксис в контексті ЯП? Спосіб написання програм особливим чином, зрозумілим для компіляторів. У кожного ЯП власні правила синтаксису, хоча, звичайно, зустрічаються і загальні елементи. Вивчення синтаксису мови - один з наріжних каменів вивчення ЯП. Досить часто люди навіть думають, що саме вивчення синтаксису зробить їх програмістами. У реальності, звичайно, все не так - синтаксис суть основа, фундамент.
4. експериментуйте! Яким саме чином? Вносьте зміни в приклади програм і перевіряйте одержувані результати. Такий підхід куди швидше дозволить вам зрозуміти, що дає результати, а що - ні, ніж якби ви займалися по книзі. Не бійтеся зіпсувати або «зламати» програму, бо виправлення помилок є одним з ключових етапів у процесі розробки ПЗ. Та й потім, з першого разу написати працюючу програму ... ну, це майже що фантастика!
5. Почніть працювати з дебаггера. Програмні помилки (баги) - це те, з чим ви обов`язково зіткнетеся, зайнявшись програмуванням. Помилки будуть всюди, готуйтеся. Вони можуть бути нешкідливими, щодо нешкідливими або, на жаль, критичними, що не дають програмі скомпілювати. Процес налагодження програми є одним з ключових етапів розробки ПЗ, повторимо. Привчитеся до виправлення помилок якомога раніше.
6. Не забувайте коментувати код. Майже що всі ЯП дозволяють вносити в програмний код коментарі - текст, що не обробляється компілятором. За допомогою коментарів ви можете внести в програму прості і зрозумілі описи того, що робить та чи інша функція (і не тільки функція). Коментарі стануть в нагоді не тільки вам самим (часом можна і у власному коді заплутатися), а й іншим людям, спільно з якими ви будете працювати над програмою.
Частина 4 з 6:
програмуємо регулярно1. програмуйте щодня. На те, щоб оволодіти мовою програмування, піде багато часу. Дуже багато. Навіть Python, відносно простий ЯП, чий синтаксис можна освоїти за день-другий, вимагає від будь-якого, хто виявить бажання оволодіти ним досконало, сотень і тисяч годин роботи. Програмування - навик, а тому той, кому хочеться опанувати таким навиком досконало, необхідно регулярно практикуватися. Намагайтеся програмувати кожен день, нехай навіть по годині перед сном, якщо немає іншої можливості.
2. Ставте вашим програмам мети. Встановлюючи складні, але все ж досяжні мети, ви навчитеся вирішувати проблеми, знаходити рішення, боротися зі складнощами. Наприклад, уявіть собі просту програму - скажімо, калькулятор, а потім подумайте, як ви її напишете. Застосуйте на практиці все те, чого ви вже навчилися.
3. Обмінюйтеся досвідом і читайте чужі програми. Навколо кожного ЯП зібралася величезна спільнота. Якщо ви приєднаєтеся до відповідного товариства, то дуже сильно собі допоможете, так як отримаєте доступ до більш ніж якісному навчальному матеріалу. Читання чужого коду може надихнути вас, може надати вам сил і допомогти краще зрозуміти ті особливості програмування, на яких ви до цього буксували.
4. веселіться. Робіть те, що ще не вмієте робити. Вивчайте способи вирішення проблем, а потім використовуйте їх по-своєму. Намагайтеся не радіти тому, що «програма працює і добре» - робіть все можливе, щоб програма працювала бездоганно!
Частина 5 з 6:
розширюємо кругозір1. Запишіться на курси. Університети, коледжі та освітні центри (і не тільки) проводять курси і семінари з програмування, що може стати відмінним варіантом для початківців. Самі посудіть, де ще новачки зможуть наживо поспілкуватися з досвідченими фахівцями?
2. Читайте тематичні книги. Як ви отримаєте до книг доступ - залежить лише від вас, суть в тому, що з будь-якого ЯП можна знайти сотні книг різного ступеня корисності. Звичайно, ваші знання не повинні бути суто книжковими, це факт. Проте і в книгах є своя користь.
3. Вивчайте логіку і математику. Програмування багато в чому зав`язане на базовій арифметиці, а й більш складні моменти можуть стати в нагоді, особливо в тих випадках, коли людина займається алгоритмами або пише складну програму. Втім, швидше за все, якщо тільки ви не будете зариватися в складні області, складна математика вам не знадобиться, зате знадобиться логіка, зокрема - комп`ютерна, так як з її допомогою ви зможете краще зрозуміти, як треба вирішувати завдання, що виникають по ходу роботи над складними програмами.
4. Ніколи не припиняйте програмувати. Є популярна теорія «10 тисяч годин», де було написано, що майстерність приходить через 10 000 годин, проведених за тим чи іншим заняттям. Точна кількість годин як точка досягнення майстерності - питання, звичайно, спірне, але в цілому теорія вірна - майстерність суть результат прикладеної праці та витраченого часу. Не опускайте руки, і одного разу ви станете експертом.
5. Вивчіть інший ЯП. Звичайно, оволодіння навіть одним ЯП буде вам тільки в плюс, проте багато програмісти не зупиняються на досягнутому і вчать кілька мов. Буде непогано, якщо другий або третій ЯП, який ви виберете, буде доповнювати перший - тоді можна буде створювати навіть ще більш складні і цікаві програми. Само собою, вчити нове треба лише тоді, коли старим ви вже оволоділи на пристойному рівні.
Частина 6 з 6:
Застосовуємо отримані навички1. Отримайте університетську освіту. Цей пункт не є обов`язковим, однак роки навчання можуть відкривати щось нове (а можуть і не відкрити) і познайомити вас з потрібними людьми (теж не факт). Знову ж таки, цей крок не обов`язковий, є багато успішних програмістів, які диплома про вищу освіту не мають.
2. Зберіть портфоліо. Створюючи програми і розвиваючись як фахівець, обов`язково відкладайте кращі зразки ваших робіт окремо - в портфоліо. Саме портфоліо ви будете показувати рекрутерам і інтерв`юерам як приклади того, на що ви здатні. Ті проекти, які ви виконували самостійно і з власної ініціативи, можна додавати в портфоліо без роздумів, а ось ті, над якими ви працювали, будучи співробітником тієї чи іншої компанії, лише з дозволу відповідних осіб.
3. Стати фрілансером. Програмісти (особливо ті, які спеціалізуються на мобільних додатках) зараз нарозхват. Виконайте пару-трійку проектів як фрілансер - це і для портфоліо корисно, і для гаманця, і для досвіду.
4. Розробіть власний програмний продукт. Платним він буде чи ні - вирішувати вам. Зрештою, зовсім не обов`язково працювати на когось, щоб заробити програмуванням гроші! Якщо ви вмієте писати програми і продавати їх, то справа майже що в капелюсі! Головне - не забувати відповідальності за обслуговування клієнта після релізу програми.
Поради
- Хочете створювати гри? Вивчайте Python, C ++ і Java.З цієї трійці C ++ дає найкращу продуктивність, Python найпростіший, а Java запуститься на всіх ОС без особливих проблем.
- Дізнайтеся більше про направлення Free software (Безкоштовне ПО). Вивчайте вихідний код програм, які можна знайти тут. Навіщо, самі подумайте, винаходити велосипед, коли можна взяти готовий велосипед і просто його поліпшити? Головне - розуміти, що саме ви програмуєте.
- Для багатьох людей приклади і завдання з підручника з програмування - це взагалі ні про що. Намагайтеся шукати і вирішувати цікаві для вас завдання.
- Вивчаючи щось нове, корисно буде самостійно це реалізувати, потім внести зміни, спробувати вгадати результати і, як наслідок, наблизитися до розуміння суті.
- Використовуйте сучасні інтерфейси і актуальні версії ЯП.
- Додаткові матеріали - ваші друзі. Немає нічого погано в тому, що ви щось забули або не запам`ятали. Всьому свій час, не переживайте. Головне - знати. де підглянути!
- Доброю практикою буде навчання інших - це дозволить вам не тільки краще зрозуміти матеріал, але і поглянути на нього з боку.