rss
04/24/2024
EN   UA

Час i Події

#2022-08

Ваша точка зору

Чого, на Вашу думку, найбільше бракує Україні для перемоги?
Грошей
Зброї
Ядерної зброї
Міжнародної підтримки
Совісті найвищого керівництва
Ваш варіант відповіді
Комп’ютерна сторінка \ Я хочу навчитися програмувати. Із чого почати?

Від редакції:

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

Я почав вивчати програмування ще зі шкільних років. Це було моє хобі. Наразі мені 20 років, я навчаюсь за спеціальністю правознавство в НПУ імені М. П. Драгоманова та самостійно вивчив 5 мов програмування, серед яких C#, C++, Java, PHP, Python. Я крок за кроком, текст за текстом розповім, як навчився програмувати без дорогих курсів чи викладачів, просто не виходячи з дому.

З чого почати?

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

Щойно визначиш мету, головне завдання - не відступати. До тебе були й інші, деякі досягли своєї мети, але більшість - ні. Чи досить витратити 30 хвилин, щоб оволодіти грою на гітарі? Ні. Так само й вивчити мову програмування за короткий час не вийде. Але якщо ти хочеш навчитися писати код, то твоя віддача згодом дасть хороший результат. Знайомся з різними напрямками і не бійся вивчати щось нове.

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

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

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

Хочеш навчитись програмувати, але стоїть питання «як»? Маємо декілька простих відповідей:

Книги. Основне джерело матеріалу для новачка в будь-якій сфері. Звичайно, легше запитати у знайомих програмістів, «що це» і «як це». Однак не всі мають таких друзів, тож доведеться полюбити читати. Можу порадити декілька книжок, які стануть у пригоді незалежно від того, який напрям ти обереш: «Досконалий код» Стіва Макконнелла, «Мистецтво програмування» Дональда Кнута і «Програміст-прагматик» Ендрю Ганта й Девіда Томаса.

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

Практика. Потрібно щодня писати хоча б пару рядків коду. Не варто відразу хапатися за величезний проект, але застосовувати знання, набуті з книг, потрібно постійно. Теорія нічого не варта без практики.

Типові помилки

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

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

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

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

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

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

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

Вибір мови програмування: чи це так важливо?

Для всіх початківців це стає головним болем. Існує стільки технологій і мов, що навіть досвідчені гуру сфери IT губляться серед цього різноманіття. Однак не варто лякатися. З власного досвіду розповім, із чого почати.

Кожна мова і технологія існує для певних завдань і цілей. Наприклад, одні мови призначені тільки для розробки сайтів, інші - тільки для розробки програм під Windows, а деякі можуть поєднувати в собі обидві функції. Окремо існують мови для програмування на Android та iOS.

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

Веб-розробка

Напрямок розробки сайтів і різних сервісів швидко набирає обертів, стаючи дедалі популярнішим, і в цьому його перевага. Щоб реалізувати всі свої ідеї, тобі знадобиться вивчити основи: мову розмітки HTML і каскадні таблиці стилів CSS. Якщо хочеш, щоб твій сайт відповідав сучасним реаліям і мав більш ніж одну сторінку, то знадобиться мова, як-от PHP.

Проте на цьому не зупиняємося. Сайт має не тільки показувати якусь інформацію, але і взаємодіяти з користувачами. Тому знадобиться така річ, як JavaScript. Для того, щоб твій сайт був дуже крутий, обов'язково знадобляться бази даних SQL. І відразу ж, не відходячи від теми, неодмінно зверни увагу на технологію jQuery, а також на формат зберігання і передавання даних JSON. Вони точно стануть у пригоді.

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

Розробка для Windows

Кажуть, що сфера розробки «звичайних» програм для Windows іде на спад. Утім, можливостей у комп'ютерів більше, ніж у Android чи iOS. Тож, якщо в тебе є ідея серйозної програми на ПК, тобі знадобляться відповідні інструменти. Є кілька мов, які підійдуть для такого завдання. Найпопулярніші з них: C#, C++ і Java.

  Title

Для вивчення з нуля найкраще підійде C#. На мою думку, ця мова поєднує в собі найкращі сторони від C++ і Java. Для новачків найважливіше навчитися мислити як програмісти і зрозуміти базові принципи розробки. Для людини, яка раніше не програмувала, C++ і Java будуть заскладні, може, буде важко самостійно розібратися в певних аспектах. Звісно, спрощення традиційних принципів розробки роблять тій самій Java честь і дають певну перевагу. Але новачку спочатку варто опанувати вже усталені принципи та інструменти, перед тим як починати експерименти з мовами.

Також варто згадати Python: це досить хороша і зрозуміла мова. Чимось нагадує Java, але завдання в неї трохи інші. Як правило, використовується у розв'язуванні задач машинного навчання та аналізу даних. Якщо тебе цікавить одна із цих галузей, то спробуй саме цю мову.

Мобільна розробка

Розробка під Android та iOS має чіткий поділ. Для iOS є дві основні мови: Objective-C і Swift. Перша сягає своїм корінням у далекі 90-ті роки і є досить складною для вивчення з нуля. Друга з'явилась не так давно і є більш простою, тож почни з неї, якщо хочеш писати програми для iOS. Проте ще краще буде вивчити після цього й Objective-C, тому що вона досі вважається стандартом на цій платформі.

Що стосується Android, то з ним дещо простіше, адже стандартом вважається Java. Однак у того ж C# нещодавно теж з'явилася можливість розробки для Android за допомогою пакету інструментів від Xamarin, і це дає низку переваг. По-перше, тобі потрібно буде знати тільки одну мову незалежно від того, для якої платформи ти хочеш писати програму. По-друге, якщо знадобиться перенести свою програму на Android, то не доведеться писати її ще раз іншою мовою. Це заощаджує колосальну кількість часу і зусиль.

Додаткові інструменти

Варто звернути увагу на систему контролю версій. Це інструмент, який допоможе систематизувати все, що ти пишеш. Таких систем існує досить багато. Найзручнішими й найпопулярнішими є GitHub і Bitbucket. Їхнє завдання полягає в тому, щоб допомогти контролювати зміни свого коду. Завдяки цьому ти зможеш підійти до розробки програми більш свідомо, а ще з'явиться можливість поділитися своїм кодом з іншими програмістами. Можливо, вони порадять, як зробити програму краще.

Де вчити?

Насамперед найкраще вивчити основи програмування загалом. Для цього найкраще підійде курс CS50 від викладачів Гарварду (https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about), який є у відкритому доступі на освітній платформі Prometheus: https://prometheus.org.ua/.

Також можу рекомендувати освітні платформи, як-от edX (https://www.edx.org/), Coursera (https://www.coursera.org/), Udacity (https://www.udacity.com/) і, звичайно, MIT OpenCourseWare (https://ocw.mit.edu/index.htm). Для деяких знадобиться хоча б базове знання англійської, та програмування в усякому разі цього потребує. Тож розглядай це як чудову можливість підтягнути свої знання мови.

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

 

Автор: Микола Червоний

Джерело: «STUDWAY»

Навіщо заклеювати камеру ноутбука

Шлях програміста: що на тебе чекає

 

Реклама

© 2006-2011 "Час i Подiї". All Rights Reserved | Chicago Web Design - Dropshipping suppliers