Отже, ви вирішили стати програмістом ...

Отже, ви вирішили стати програмістом ...

Ботан - це не про вас. У дитинстві ви не отримували по математиці суцільні п'ятірки, а в 14 років не схопилися за паяльник, ховаючись за пайкою мікросхем від ненависної шкільного життя. Швидше за все, весь цей час ви займалися чимось зовсім іншим і вважали, що непогано влаштувалися. Рівно до того моменту, поки вибір професії не став здаватися безглуздим: і неважливо, самі ви так вирішили, чи суспільство на вас надавив.

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

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

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

Технічно це вірно: умовні конструкції можна пояснити підліткам, а студенти легко освоять принципи ООП (об'єктно-орієнтованого програмування).

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

Особисто мій шлях в програмуванні почався два роки тому з курсу «Python» в одній з онлайн-платформ, і книги Learn Python the Hard Way. Моє ж посвята в Ruby / Rails відбулося в дивовижному таборі програмування в Парижі.

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

Соррі, гайз. Це дійсно так. Абревіатура «ML», що стоїть відразу за «HT», означає буквально «мова розмітки», а буква «S» посередині «CSS» розшифровується як «стиль» і відноситься до зовнішнього вигляду. Вони практично нічого спільного не мають з логікою додатків.

Починаючи своє навчання з них, ви витрачаєте час. Швидше за все вам ніколи не знадобиться чистий HTML. Особисто я в основному використовую ERB (ERB - різновид реалізації eRuby, мови розмітки на мові Ruby, прим. Перекладача). CSS без використання пре-процесорів - справжнє катування. Ви всьому навчитеся свого часу, ніяких складнощів тут немає.

Не лякайтеся З

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

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


Одна і та ж програма, яка повертає задану рядок з використанням покажчиків С (зліва) і реалізована на Python (праворуч).

Щастя - в Python і Ruby

Ruby створений на радість програмістам - як вам таке?

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

Чим слабкіше типізація, тим простіше починаючому програмісту писати код, і тим інтуїтивно освоюється об'єктно-орієнтована природа обох мов. Є масив (в Python - «список») значень. Треба їх якось повернути. Чи можна обізвати це дія Array.reverse? Вмерти, спрацювало. І Ruby, і Python часто нагадують спрощений англійська. Дайте волю інтуїції і просто тестируете будь-яку прийшла в голову ідею.


Творець Ruby Юкіхіро Мацумото і творець Rails Давид Хейнемейер Ханссон, він же DHH, разом радіють життю

Будьте допитливі. Курите мануал, б ** дь!

З сьогоднішнього дня ваші найкращі друзі - Google і StackOverflow.

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

Навчіться правильно використовувати git і GitHub

Git може збити з пантелику. Ми використовуємо «check out» і для створення гілки, і для скасування останніх змін у файлі. Проте, жодна технологія не обходиться без контролю версій, тому Github - це програмістський Twitter, Facebook і Instagram в одному флаконі.

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

Існує купа якісних туторіали - вивчіть для початку хоча б кілька команд. Головне, не забувайте використовувати «git add. git commit -m »всякий раз, коли задоволені результатом.

Приготуйтеся відчувати себе дурнем

Застрягти над кодом - це як випробувати письменницький блок.

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

Навчіться переносити відмови

HR не пишуть код.

Код - це текст. Робіть його читабельним

Ви ж не будете писати любовне або діловий лист як попало: з купою рядків на весь екран і без єдиного відступу. Комп'ютерні мови створені для людей, а не машин - машинам і з двійковим кодом непогано.

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

Але найважливіше те, що всі ці зусилля знадобляться вам же самому в майбутньому.

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

І нарешті ... У вас все вийде!

Те почуття, коли тільки що написаний рядок коду працює - безцінне

У всіх свої маленькі радості в програмуванні. Моя - в подоланні перешкод. Коли в голову приходить абсолютно божевільна думка, але ви її тестируете, і о диво! все працює. На це інтелектуальне задоволення підсаджуєшся.

До того ж, таких приємних моментів більше при використанні різних мов програмування на зразок Ruby і Python: коли можна просто відкрити REPL в новому терміналі і швидко перевірити будь-яку гіпотезу.

Тут я, мабуть, закінчу. Вам і так достатньо інформації для роздумів.

Дійте! І не лякайтеся, якщо скоро вам почне снитися код :)

Схожі статті