Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

421

Сьогодні багатьох цікавить, чи можна навчитися програмувати з нуля.

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

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

Зміст:

Крок перший. Підготовка

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

Вони являють дане ремесло як щось романтичне, динамічний – прямо якийсь постійний екшн.

У фільмах цей процес показується зовсім не таким, який він є насправді.

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

Яскравий приклад – фільм «Соціальна мережа», в якому взагалі не показували, як головні герої займаються кодами.

Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

Рис. 1. Кадри з фільму «Соціальна мережа» (2010)

Також у фільмах показують, що програмістом може стати будь-яка людина без знань, досвіду і навіть без сірої речовини в мозку. В даному випадку можна згадати фільм «Кадри».

Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

Рис. 2. Постер до фільму «Кадри» (2013)

Так що якщо ви просто просочилися духом всіляких кінострічок та хочете самостійно почати «кодити», програмування – це явно не для вас.

Ось вам правда про розглянутому ремеслі – програмування це:

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

Якщо ви все це усвідомлюєте і готові зануритися в дивовижний світ програмування, то приступайте до наступного кроку.

Крок другий. Вибір першої мови

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

Згідно з рейтингом журналу IEEE Spectrum найбільш популярними на сьогоднішній день є такі мови, як C, Java і Python. Нижче представлена перша десятка цього рейтингу.

Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

Рис. 3. Рейтинг мов за версією IEEE Spectrum

Взагалі, З – це один з найпростіших мов, який дає основу всього іншого. Більш того, його елементи використовуються в багатьох інших системах і програмах.

Але цікаво, що в хороших навчальних закладах, а також на курсах студенти вивчають мови в такому порядку:

1Pascal.

2C++.

3PHP і все, що пов’язано з веб-програмуванням, а також SQL (це система, призначена для роботи з базами даних шляхом запитів).

Далі вже можна вивчати все, що завгодно, в залежності від напрямку діяльності. Якщо коротко, існують наступні варіанти:

  • Веб розробка сайтів, онлайн систем і все, що з цим пов’язано) – html (хоча його не можна назвати повноцінною мовою програмування), PHP, Perl, Python, Ruby, Java, Groovy, а також технологія ASP.NET.
  • Користувальницьке (всілякі програми на кшталт довідників, браузерів, месенджерів тощо) – Delphi, C, C++, C#.
  • Угода ПО для мобільних пристроїв – Java, Objective-C.
  • Машинні розробки (роботи з мікропроцесорами та іншими пристроями, проектування робототехніки) – Assembler, модифікації С.
  • Хтось також може внести в цей список так зване програмування 1С. Не вірте профанам і нічого не знаючим людям! Це зовсім не програмування.

    Коли ви познайомитеся з основами даної роботи, то зрозумієте, чому так можна говорити.

    Вибирайте те, що вам найбільше сподобається.

    Порада: Зробіть свій вибір відразу! Ви повинні точно знати, в якому напрямку будете розвиватися і що вивчатимуть у подальшому.

    Більшість фахівців радять почати своє навчання з Pascal. Такий варіант дозволить

    Вам написати найпростіші програмки і мати загальне уявлення про розглянутий ремеслі в цілому.

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

    Увага! В яку компанію ви не влаштувалися після навчання, вас будуть перевчати під себе. Тому ви повинні просто розуміти сам принцип написання програм. А для цього немає нічого краще, ніж Pascal.

    Читайте також:

    Як включити Java в Google Chrome — Повне керівництво

    Програми для шифрування файлів: Які краще вибрати?

    50+ кращих безкоштовних шаблонів для WordPress блогу, журналу, агентства, портфоліо, і корпоративного веб-сайту 2017

    Unity Web Player: що це за програма і навіщо потрібна — розбираємося разом

    Крок третій. Вивчення компіляторів

    Для довідки: Компілятор – це технічне рішення, призначене для переказу вводяться команд в машинні інструкції, грубо кажучи, в нулі та одинички, тобто в таку інтерпретацію, на якій машина буде розуміти, що їй робити.

    Власне, всі свої програми ви будете писати, та виконувати саме в компіляторах.

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

    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 4. Free Pascal

    Як бачимо, виглядає він досить «старомодно», але програмування починається саме з цього. До речі, компілятор C++ виглядає практично так само.

    Називається він Turbo C++ (завантажити його можна тут).

    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 5. Turbo C++

    Що стосується Паскаля, то існує також GNU Pascal, Turbo/Borland Pascal, TMT Pascal і Virtual Pascal. А для С++ можна використовувати Borland C++, Visual C++, Dev C++, GCC і Eclipse.

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

    Ось список найбільш популярних на сьогоднішній день компіляторів залежно від напрямів діяльності:

    • Для html можна використовувати звичайний блокнот. Для PHP phpDesigner, NetBeans IDE PHP Expert Editor. Якщо ви вибрали Perl, вибирайте між vimи komodo edit. На Python можна писати в PyCharm або Wing (на Linux – Geany).
    • Що стосується Delphi, то компілятор там так і називається. Існує також Embarcadero Delphi і деякі інші модифікації. Делфі 7 можна завантажити безкоштовно на багатьох сайтах, наприклад, тут. Якщо ви вибрали C, C++ або C#, то вам потрібна Microsoft Visual Studio. Завантажити її можна прямо на офіційному сайті виробника.
    • Для Java існує Javac і GNU Compiler for Java. Що стосується Objective-C, то тут практикується робота на Xcode, який можна на сайті apple.com. Якщо ви вирішили займатися розробкою мобільних додатків, обов’язково прочитайте нашу статтю про роботу над програмою на iOS. Вона призначена для новачків.
    • Якщо говорити про Assembler та інших мовах, які практикуються в робототехніці, то тут відразу необхідно завантажити MASM, якщо ви працюєте на Windows. А взагалі, залежно від обраної сфери діяльності компанії, на яку ви влаштуєтеся працювати, компілятори можуть бути самими різними. Деякі фірми пишуть власні рішення для обробки коду. Тому, якщо ви вибрали робототехніку, краще вивчити відповідні книги і робити все, як там кажуть. Про це ми ще поговоримо.

    Також існує безліч онлайн компіляторів. Вони корисні тим, що обслуговують безліч мов програмування і не вимагають установки – дуже зручно!

    Ось найбільш популярні з них:

    • IdeOne. Відмінний онлайн компілятор, що працює в будь-якому браузері і компілює коди на 60 мовах програмування.
    • CodePad. Це вже більш обмежений сервіс, який працює лише з кількома мовами і не має підсвічування синтаксису. Зате всі інструкції виконуються швидко і справно. CodePad буде функціонувати навіть з дуже повільним інтернетом. Цікаво, що цей сайт працює навіть на мобільних пристроях, причому не гірше, ніж на ПК.
    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 6. CodePad на планшеті

    • SandBox. Тут підтримується тільки робота з веб-мовами, а конкретно PHP і трохи html. Дуже швидко можна отримати результат компіляції і налагодження. За таким же принципом працює PHPFiddle.

    Також увагу варто звернути на Koding.Com.

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

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

    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 7. Koding.Com

    А тепер приступимо до написання вашого першого шифру (коду). Зробити це можна навіть без книг і довгих інструкцій.

    Крок четвертий. Перший код

    Для першого коду ми будемо використовувати перший мову і перший компілятор, який ми радили вибирати вище. Це Паскаль і Free Pascal.

    Одна з найпростіших програм пишеться наступним чином:

    1Скачайте Free Pascal по посиланню вище і запустіть його на своєму комп’ютері.

    2Введіть наступне: «program [назва];». Тобто якщо ви хочете, щоб програма називалася «hello», необхідно ввести «program hello;».

    3Введіть інструкцію «begin». Це означає, що код, який в подальшому потрібно буде виконати, почався.

    4Використовуємо одну з найпоширеніших в Паскалі конструкцій “writeln(‘[якийсь текст]’);”. Вона просто виводить на екран текст. Який міститься в дужках і лапках. Ми введемо поєднання «Hello, world!». Зазвичай свій шлях у великий світ розробок ЗА починають саме з цього. Таким чином, наступний рядок буде виглядати як “writeln(‘Hello, world!’);”.

    5Щоб закінчити виконуваний шифр, введіть «end.» (обов’язково з крапкою в кінці).

    6Тепер натисніть кнопку «F9», щоб запустити те, що написали. Ви побачите, як на екрані з’явилися слова «Hello, world!». Це і потрібно!

    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 8. Найпростіший код на мові Паскаль

    Щоб почати своє знайомство з іншими мовами, в книгах зазвичай також наводяться інструкції з написання «Hello, world!», тобто, інструкції, яка просто виводить такий простий текст на екран.

    Далі вже йде щось більш складне.

    Отже, ви зробили свій перший шифр! Початок покладено. Тепер переходите до інтенсивного навчання.

    Крок п’ятий. Пройдіть онлайн тренінг

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

    Якщо читати книгу, то можна втратити багато моментів, які автори вважають очевидними і не потребують пояснення.

    Тому новачкам краще все-таки починати свій шлях саме з онлайн тренінгів. Ось кращі курси російською мовою:

    • Курс «Основи програмування» від Освітнього IT-порталу GeekBrains. Тут все розповідається з самого початку, з самих азів. Ви зможете вивчити історію, розвиток даної галузі, а потім поступово стати її частиною. Той же цикл тренінгів можна скачати з торрента (ось посилання).
    • Уроки від Школи програмістів. Цей курс підійде тим, хто нічого не розуміє навіть в математиці, не знає природу чисел, як подається інформація в комп’ютері та інші подібні моменти. Тобто якщо ви вважаєте себе повним профаном, дивіться ці відеоуроки.
    • «Фундамент програмування» від EG Lab. Тут розкажуть про цьому ремеслі в цілому, про розробку складних завдань і типи даних (всього три уроки). Перегляд даних уроків буде відмінною підмогою, щоб почати вивчати якийсь конкретний мова у подальшому.
    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 9. Тренінг «Фундамент програмування» від EG Lab на YouTube

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

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

    Курсів для тих, хто абсолютний нуль в даному питанні, там чомусь не надають (або їх неможливо знайти).

    Зате є курси для конкретних мов. Приміром, є Learn Java Simply, C++ Programming Tutorial for Beginners, How to program in C# — BASICS і багато іншого.

    Вибирайте тренінг в залежності від напрямку своєї діяльності.

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

    Крок шостий. Вивчіть книги

    Було б добре, якби ви вивчили наступні безкоштовні книги:

    • Нортон «Програмно-апаратна організація IBM PC».Щоб почати свою подорож у внутрішній світ комп’ютерів, було б корисно вивчити, як вони влаштовані. Дана книга відмінно допомагає в цьому питанні.
    • Батіг «Мистецтво програмування». У книги є три томи. Якщо прочитати їх усі, ви зможете вивчити основні алгоритми, получисленные алгоритми сортування.
    • Бентлі «Перлини програмування». Тут вказуються дуже цікаві і точкові моменти професії «программера».
    • Таненбаум «Архітектура комп’ютера». Ця книга також дуже корисна, адже допомагає розібратися в тому, як працює комп’ютер. Вона дасть вам більш детальне уявлення щодо даного питання.
    • Морс, Алберт «Архітектура мікропроцесора 80286». Ця книга стане основою вивчення професії для тих, хто вирішив займатися роботою з мікропроцесорами і робототехнікою. Але перед прочитанням цієї книги обов’язково потрібно прочитати працю Нортона (перший в цьому списку).

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

    Наприклад, майбутнім веб-розробникам буде корисно прочитати книгу Янка «PHP і MySQL. Від новачка до професіонала».

    Якщо ви вибрали Python, ознайомтеся з працею МакГрата «Програмування на Python для початківців».

    А якщо ваш вибір – З, то оцініть книгу Перрі і Міллера «Програмування на С для початківців».

    Читайте також:

    Як створити додаток для iOS – від ідеї до продажу

    Налаштування Bios — Детальна інструкція в картинках

    Інструменти для програмування під Андроїд: софт для написання додатків

    Powershell: як працювати з програмою, створювати, запускати і змінювати скрипти

    Крок сьомий. Будьте в курсі

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

    Тут мова йде ось про що:

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

    Все це потрібно для того, щоб ви могли вчасно перебудуватися.

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

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

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

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

    Все це дозволить вам розвиватися і працювати в правильному напрямку, не втрачаючи дорогоцінний час.

    Це дуже важливо в наш час, так як тенденції програмування змінюються не те, що за кілька місяців, за кілька днів!

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

    Крок восьмий. Знайдіть вчителя

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

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

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

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

    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 10. Прмиерно так виглядає навчання у Вузі

    2Різні курси. Існує величезна кількість курсів, де люди збираються в якомусь офісі і викладач, точно так само як у Вузі, пояснює те чи інше поняття. Зазвичай такі курси проходять дуже інтенсивно, і учні швидко освоюють потрібну інформацію.

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

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

    Крок дев’ятий. Аналізуйте чужу роботу

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

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

    Більш того, це дозволить вам в майбутньому стає керівником проектів, так як у вас будуть здатності коригувати роботу інших людей.

    Якщо конкретніше, вам потрібно робити наступне:

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

    Читайте також:

    Що таке jQuery: де використовується і які переваги дає розробникам

    Швидкість оперативної пам’яті впливає на ігри і роботу в програмах?

    Dropbox — що це за програма і як її використовувати: [інструкція]

    Розповідаємо про NDA: як правильно оформити договір і яка є відповідальність за його порушення

    Крок десятий. Заробляйте!

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

    Звичайно, з початковими знаннями в компанію не візьмуть. Але ви можете практикуватися, будучи фрілансером.

    Завдання ви можете знаходити на форумах (наприклад, cyberforum.ru), а також біржах фріланса (24freelance.net, kwork.ru, fl.ru та інші).

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

    Робота і, відповідно, заробіток у вас в кишені! А якщо це не так, тренуйтеся далі. Ви хоча б дізналися, які завдання потрібно виконувати для прийому на роботу.

    Навчання програмуванню з нуля – покрокове керівництво для початківців. Десять кроків від чайника до програмісту-професіоналу

    Рис. 11. Програмісти в офісі

    У будь-якому випадку, приділяйте цьому достатньо часу і тоді у вас все вийде!