Навіщо взагалі вчити програмування
Навіть якщо справа не дійде ні до чого серйозного (повноцінного заробітку на розробці додатків або веб-дизайні, наприклад, або запуску власного проекту), вчити програмування - спосіб створення консрукцій для не дуже розумних, але дуже слухняних машин - однозначно варто. По-перше, це змусить мозок працювати, а це завжди добре. Навіть президент США говорить про користь вивчення програмування.
По-друге, всім тим, хто за родом діяльності так чи інакше пов'язаний з технологіями. Обгрунтування вибору мови програмування дасть будь-який розробник сайту замовнику, будь-який адміністратор ресурсу компанії - копірайтер. Хоча б загальне знайомство з середовищем розробки, в якій працюють колеги, дозволить швидше знаходити спільну мову в колективі і успішніше реалізовувати різні проекти.
З чого почати вивчення програмування
Вибір мови програмування, особливо першого - завдання не з легких. Але буде дуже складно, якщо не знати англійської хоча б на базовому (шкільному) рівні. Звичайно, якісь інструменти зросійщуються, інші - переводять на російську ентузіасти, але факт залишається фактом.
Та й надалі знайти роботу зі знанням іноземної мови буде куди простіше. Тут вже вигідно вчити англійським всім:
- найманим працівникам, які зможуть влаштуватися в корпорації зі світовим ім'ям;
- фрілансерам, які зможуть працювати на англомовних біржах, де замовлень, як правило, більше і оплата вище.
Критерії вибору мови програмування
Знадобляться сотні годин практики, перш ніж вдасться стати скільки-небудь компетентним в своєму першому мові програмування, так що бездумно вчити що попало не варто. Вибір мови програмування залежить від середовища розробки, в якій хочеться працювати, особистих уподобань, перспектив і багато іншого.
Спершу потрібно визначитися з цілями. Наприклад, на якій платформі (у якому середовищі) хочеться працювати: веб, мобільні пристрої, ігри і 3Д-графіка або великі корпорації.
У веб-розробці потрібно вибирати з декількох сфер відповідальності: front-end, back-end, full-stack. Front-end розробники відповідають за швидкість завантаження сайту і правильну роботу коду, back-end - написання серверного коду, а full-stack фахівці можуть поодинці виконати всі вимоги замовника. Full-stack розробники сьогодні мають найбільший попит на ринку праці.
Тим, хто в перспективі хоче влаштуватися в одну з високотехнологічних корпорацій і більше не турбуватися про благополуччя завтрашнього дня, добре виконуючи свої обов'язки, потрібно виходити з вибору цієї самої корпорації. Windows працюють з C #, Google і Фейсбук - з Python, а Apple - це Objective-C.
Вибір мови програмування повинен грунтуватися на наступних факторах:
- Затребуваність на ринку праці.
- Легкість вивчення.
- Довгострокові перспективи.
- Які проекти можна розробити на цій мові (вибір мови та середовища програмування).
Якщо з останнім пунктом - платформи і відповідні мови програмування коротко перераховані вище - все більш-менш зрозуміло, то як бути з іншими пунктами? Indeed.com - провідний сайт пошуку роботи в світі - час від часу публікує статистичні дані по вакансіях (співвідношення пропозицій і здобувачів). Вибір мови програмування добре б робити, грунтуючись саме на цих даних, але однією лише сухою статистикою теж керуватися не варто.
Для тих, у кого немає ніякого досвіду
У тому випадку, якщо програмування представляється дуже складним завданням, почати варто з чогось легшого, наприклад, HTML або CSS. HTML не є мовою програмування в повному розумінні, скоріше це мова розмітки веб-сторінок. CSS - це більш сучасний «помічник» HTML, який дозволяє робити сторінки більш приємними оку, грати зі шрифтами, додавати дизайнерські елементи оформлення сайтів і так далі.
Той, хто колись писав статті на замовлення, напевно вже стикався з HTML, а тим, хто намагався вести свій блог, можливо, знаком і CSS. Та й будь-який курс основ програмування починається саме з цих двох елементів, так що знання азів зайвими не будуть. Вчити можна по книгам:
- Б.Лоурсон, Р.Шарп «Вивчаємо HTML 5».
- К.Шмітт «CSS. Рецепти програмування ».
Раніше з парою розумних книг по CSS і HTML можна було вже претендувати на якусь посаду, зараз - це плацдарм, з якого потрібно рухатися далі.
Розробникам веб-додатків
Для веб-дизайнерів і верстальників
Розробникам android iOS-додатків
Що стосується Apple, так тут розробка куди більш вимоглива до інструментів. Потрібно вчити Objective-C, комплект засобів розробки та інструкцію розробника від Apple. Працювати можна тільки з «яблучних» пристроїв - Mac з версією операційної системи від 10.7 і вище.
Якщо дитина хоче навчитися програмувати
Таке прагнення з боку підростаючого покоління похвально. Це відкриває дітям нові можливості і просто неймовірні способи самовираження. Дитина цілком в змозі самостійно створити короткий мультфільм або нехитру гру. Програмування дається дітям не складніше, ніж іноземні мови, а ще це відкриває більше перспектив вже в підлітковому віці.
Почати можна з Scratch. Цей сервіс орієнтований на дітей від 8 років і дозволить створювати мультфільми, ігри, анімацію. Середа поширюється безкоштовно. Швидше за все, дитині навіть не знадобиться допомога батьків, розібратися в сервісі досить просто.
Що потрібно знати крім мови програмування
А взагалі головний навик будь-якого програміста - вміти користуватися гуглом. Без цього взагалі нічого не вийде. Можна звернутися на форуми, де збираються програмісти, які працюють на певній мові, пошукати якісь готові рішення або вивчити англомовні ресурси.
На закінчення
Є один секрет, який допоможе стати кращим не тільки в сфері програмування, а взагалі де завгодно. Потрібно просто робити що-небудь. Хороший спосіб - знайти проблему, яку потрібно вирішити. Можливо, потрібно зробити сайт-візитку для власного бізнесу, знайти зручний інструмент для контролю фінансів або автоматизувати розсилку твітів своїм передплатникам? Далі варто переконатися, що мета досяжна, адже без досвіду і команди зробити клон Call of Duty навряд чи вийде. Тепер пора перейти до групи технологій, які дозволять вирішити проблему.
Зрештою, ніколи не можна сподіватися стати справжнім професіоналом за місяць або навіть рік. Деяким програмування дається дуже легко, інші вивчають тонни інформації і роблять з десяток додатків, поки повністю не зрозуміють нарешті, як працює та чи інша команда. І той, і інший шлях вірний. Потрібно просто робити що-небудь.
Та й насправді зовсім неважливо, який вибирати мову програмування. Все одно доведеться вчити їх кілька. Тим більше, що багато інструментів і техніки в різних мовах схожі. Перейти на щось інше, довчити проблемні теми потім буде простіше, ніж було вичіть перша мова. І це, безумовно, радує.