Програмування стало мейнстримом, модним трендом світового масштабу. І старі, і молоді відкривають для себе цей дивовижний світ. У США дійшло до того, що сам президент кажевсій країні користь вивчення програмування.

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

Чи потрібно вивчати програмування саме мені?

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

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

Грег Поллак, засновник навчального сервісу Code School, говорить так:

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

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

А чи не старуватий я для цього?

З чого почати

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

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

Я нічого не знаю

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

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

Насправді, з великою ймовірністю, ви вже мали справу з HTML просто не знали цього. Якщо у вас є блог, то ви гарантовано стикалися з розміткою. Будь-який інтелектуальний WYSIWYG редактор представляє вміст, як у візуальному, так і в текстовому режимі. Варто подивитися в текстовий режим подання, і там виявиться цей HTML. Більш глибоке освоєння HTML сприятиме виходу за межі видимих ​​можливостей редактора вашого блогу або сайту, дозволить зробити сторінки вашого куточка в Інтернеті функціональнішими та цікавішими. Загалом, вчити HTML корисно, як не крути.

Я хочу робити красиві веб-програми

У цій справі вам знадобиться знання JavaScript. Саме він дозволяє робити веб-сайти красивішими, ефектнішими та функціональнішими. Існує кілька популярних (і сумісних) середовищ розробки JavaScript, таких як Ember, Angular та Backbone.

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

Якщо ви щось робите в Інтернеті, вам необхідно вивчати JavaScript.

Хочу швидко робити прототипи

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

Ruby відрізняється розвиненою екосистемою та однією з найактивніших і чуйних співтовариств. Розроблена в далекому 1995 році, мова почала набирати особливої ​​популярності з 2003 року, коли з'явився фреймворк Rails. Завдяки ньому процеси створення сайтів та веб-додатків значно спростилися.

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

Для швидкого старту можна порекомендувати Learn Python The Hard Way або розділ Ruby на Code Academy.

Хочу зробити Android-додаток

Розробка Android-додатків в основному здійснюється в Java. Принадність в тому, що для роботи вам підійде і Windows, і OS X. Обидві операційні системи дають можливість встановлювати середовища розробки для Android. Ще один плюс - можливість бюджетно тестувати свої програми, адже на ринку є купа дешевих смартфонів та планшетів на Android.

Ще один дуже важливий момент: якщо буквально кілька років тому ключовою платформою була iOS, то вже зараз розробники вважають за краще стартувати з Android.

Безкоштовний вступний курс програмування на Java можна знайти на Udacity. Коли основи вивчені, ваш шлях ляже у бік офіційного сайту розробників під Android. Тут можна навчитися тонкощі створення свого першого Android-проекту.

Хочу зробити iOS-додаток

Розробка під iOS набагато більш вимоглива до інструментів. Крім знання Objective-C, вам знадобиться Mac з OS X версії 10.7 або вище, Xcode - безкоштовний інструмент для створення програм, а також комплект засобів розробки для iOS.

"З якої мови програмування почати?" — саме таке запитання часто ставлять люди, котрі вирішили спробувати навчитися програмувати. Ще років п'ять тому можна було порадити вчитися програмувати на Бейсику, але на даний момент це повний ідіотизм, оскільки Бейсік - це вже давня копалина. Так, зараз багато хто може порадити вчитися програмувати на Visual Basic. Спрощена версія цієї мови – Visual Basic for Application (VBA) вбудована у всі офісні програми Майкрософт. Тим хто пише макроси для офісних програм Майкрософт без VBA не обійтися. Тим не менш, не можу порадити ні Бейсік, ні Visual Basic як мову для вивчення програмування.
Я пропоную розглянути два випадки:

1. У вас все чудово з математикою та фізикою, ви легко запам'ятовуєте досить складні формули, вас не лякають різні незрозумілі символи.
У цьому випадку варто почати вивчення програмування з мови Сі. Справа в тому, що Сі дуже потужна мова, на основі якої створено багато інших ще потужніших мов, таких як С++, Java, C#, PHP та інші. До речі, цією мовою написана операційна система Windowsі практично все комп'ютерні ігрив які ви граєте.

Якщо ви зупините свій вибір на Сі, а точніше все ж таки на С++, то інформації з цієї мови більш ніж достатньо в Інтернеті. Проте раджу купити хороший довідник по С++. Настійно рекомендую купити довідник Герберта Шілдта.

Довідник з С++

Повний довідник C++.Книга є бестселером і видається вже вчетверте. 4-тє видання. У четвертому виданні цієї книги повністю описані та проілюстровані всі ключові слова, функції, класи та властивості мови С++, що відповідають стандарту ANSI/ISO Інформацію, викладену у книзі, можна використовувати у всіх сучасних програмах. Висвітлено всі аспекти мови С++, включаючи її основу - мова С. Довідник складається з п'яти частин: 1) підмножина С; 2) мова С++; 3) бібліотека стандартних функцій; 4) бібліотека стандартних класів; 5) додатки мовою С++. Книжка призначена для широкого кола програмістів.
Замовити книгу>>

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

Самовчитель Pascal

Програмування Pascal.
Автор Сем Аболрус. Оригінальна назва книги у перекладі з англійської – «Вивчаємо Паскаль за три дні». Дійсно, освоїти ази програмування на Паскалі, за допомогою цієї книги можна за кілька днів. Автор працює програмістом у корпорації Майкрософт.
Замовити книгу>>

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

У найближчому всесвіту відомо майже 2500 мов програмування. Людина шукала саму зручний спосібпостановки завдань обчислювальним машинам, але у гонитві за ідеалом люди втратили уніфікацію. Вавилонська вежа впала. Особливо важко новачкам – яку мову вибрати?

Машина не розуміє людської мови. Звичайно, ми не про Siri та інші розпізнавачі голосу – ми про створення нового софту. Щоб зробити калькулятор, машині потрібно поставити завдання так само, як бригадир пояснює робітникам, як класти цеглу. Але «Вася, епт, ну рівніше ж треба!» Необхідно описати мовою програмування. Звідки узялися ці мови?

Відправний пункт сучасного комп'ютера- аналітична машина Беббіджа, але мови вигадали раніше: у XIX столітті винайшли механічне піаніно та ткацький верстат, для яких інженери описували логіку роботи. Цей набір інструкцій – прототип того, на чому сьогодні пишуть програмісти.

У середині XX століття з'являється машина Тьюринга, потім перші комп'ютери та перший сучасна мовапрограмування Plankalkül Перший стрибок розвитку відбувся, коли на комп'ютери звернули увагу військові – DARPA та що з ними почали активно інвестувати у молоду галузь. Другий прийшов з розповсюдженням інтернету – чим глибше люди занурюються в цифрову епоху, тим більше затребувані головні творці оточення цієї епохи – програмісти. І дедалі більше охочих до них приєднатися.

Бажання розумне та зрозуміле, але перше питання в голові часто стає непереборним бар'єром – з якої мови почати навчатися програмування? Страх неправильного вибору полягає в страху витратити час даремно. У результаті програміст-початківець кілька років шукає «свою» мову, ніяк не просуваючись до заповітної мети. Так, чорт забирай, якою ж вибрати мову?

Критерії вибору першої мови програмування

Вибір мови залежить від завдань, які хоче вирішити програміст. Для інтернет-проектів популярний Python, який використовують у своїх проектах Google та Facebook, для мобільних додатків під Android кращий друг- Java, а під iOS – Swift.

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

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

Крім універсальності, Є ще критерії:

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

Під ці три описи найкраще підходять мови Python, C#, Java та Ruby.

Розроблений у 80-х роках голландським програмістом Гвідо ван Россумом. Великі технологічні компанії працюють з Python: Яндекс, Google, Facebook та YouTube. Це так звана скриптова мова - нею пишуть те, що у програми під капотом. Його використовують для веб-застосунків, у розробці ігор, софту для серверів…

Простота Популярність Універсальність

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

Займає перше місце у програмах початкового навчання програмуванню в університетах США.

Регулярно оновлюється – раз на 2,5 роки. Входить до п'ятірки популярних мов за версією аналітичної компанії TIOBE Software на січень 2016 року.

На Python пишуть майже все: скрипти управління системами, веб-сайти, системи машинного навчання, ігри.

Мова було розроблено наприкінці 90-х з урахуванням C++ і Java. В основному використовується для великих проектів проектів, але не обмежується тільки ними. Наприклад, скрипти в ігровому движку Unity пишуть C#.

Простота Популярність Універсальність

Структурно близький до C++ і Java - синтаксис (структура програмного коду) складніше, ніж у Python і Ruby, але на вивчення родинних мов піде менше часу. Інтерфейси бібліотек добре вписуються у шаблони проектування – це спрощує вивчення.

останнє оновленнябуло у 2015-му році.

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

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

Створено японським розробником під впливом мови Perl. Запущений у 1995 році. На Ruby написані: Shopify, Github, Groupon, Yellow Pages, Twitter та Slideshare. Він набирає популярності, але частіше зустрічається в стартапах, ніж у великих компаніях. Добре підходить для створення простого інтернет-проекту.

Простота Популярність Універсальність

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

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

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

Перша версія мови вийшла у травні 1995 року. Java використовується в Amazon, eBay, LinkedIn та Yahoo!

Простота Популярність Універсальність

Як було сказано раніше, у Java та C# дуже схожий синтаксис - вивчив один, майже знаєш інший. Але як і в першому випадку, синтаксис складніший, ніж у Ruby та Python.

У світі 3 мільярди смартфонів на Android - це означає, що Java ще довго буде затребуваним. Перший за популярністю за версією TIOBE Software.

Найчастіше використовується для enterprise-розробки та Android-додатків.

Підсумок препарування

Висновок зробити складно. З одного боку манить можливість одним пострілом вбити двох зайців і взяти Java або C#, але Python манить свій універсальністю, а Ruby - простотою.

Ми сумнівалися і пішли говорити з досвідченими розробниками - вони все ж таки радять зупинитися на Python. Ось що каже Григорій Петров, професійний розробник, євангеліст VoxImplant:

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

Висновок:поки немає чітких завдань і ясних цілей, а є лише бажання кодувати, зупинитися варто на Python – він простий, популярний та універсальний. Микита Соболєв, викладач у #tceh, також вважає вибір цієї мови оптимальним для новачка - освітня програмавийшла складніше і довше, ніж на курсі Ruby, але свобода у виборі напряму того варта.

У наш час програмування стало однією з найвибагливіших і високооплачуваних сфер діяльності. Люди, які працюють у цій галузі, можуть досить легко заробляти не одну сотню доларів, навіть не встаючи через свій домашній комп'ютер. Більшість компаній, які надають будь-які товари або послуги, намагаються вийти зі своїми пропозиціями в Інтернет і таким чином отримати більше клієнтів. Вони постійно відкривають привабливі вакансії для програмістів. Також хороший програмістможе легко емігрувати закордон, кудись у розвинені країни: США, Європу або навіть до Китаю.

Все це залежить все більше людей почати вивчати програмування. Старанно просуваючись у рівні своєї майстерності в цій справі, можна за кілька років наполегливої ​​праці забезпечити собі гарне «місце під сонцем» і заробляти пристойні гроші, працюючи у відомій компанії. Єдине питання, яке варто подолати початківцю – які найлегші існують мови програмування для початківців та на яку з них бажано звернути свою увагу? Чи варто освоювати паскаль для початківців або відразу взятися за щось серйозніше? Саме на ці запитання ми спробуємо тут відповісти.

Які існують області програмування та з якими мовами в них працюють

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

Зараз виділяють такі основні сфери програмування.

Низькорівневе програмування

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

Веб програмування

Програмування з спрямованістю у веб-технології в наш час є одним із найвибагливіших і найоплачуваніших. Різні сайти, онлайн-сервіси, розважальні та новинні ресурси, соціальні мережі, левова частка мобільних додатків, орієнтованих працювати з Мережею – усе це входить у область веб-програмування і вимагає від програміста знання кількох найважливіших мов.
У цій галузі можна виділити мови, які відповідають за оформлення зовнішнього виглядусайтів та онлайн сервісів, за їх працездатність та функції, за інтерактивні можливості та додаткові плагіни, що використовуються, та інші важливі моменти. Коли ви просто зайшли на сайт – ви побачите його дизайн, статичну картинку, яка написана однією мовою (правда, навіть тут їх найчастіше декілька), коли ви наводите курсор на якийсь елемент і бачите вікно, що спливає – це організовано вже завдяки іншому мови, коли ви натискаєте на кнопку навігації та автоматично піднімаєтесь вгору старовини – це може бути вже третя мова програмування.

Які ж мови використовуються у веб-програмуванні? Насамперед це:

  • HTML. Завдяки цій мові пишеться базовий «кістяк» майбутнього сайту, відбувається поділ його на різні функціональні частини (але самі функції не задаються), виділяються найважливіші складові загальної структурисайту (шапка, назва, тіло сайту, будь-які бічні елементи та блоки);
  • CSS. Ця мова використовується в парі з попереднім і виконує роль такого собі інструменту, що прикрашає зовнішність сайту. З його допомогою можна легко оформити красиві списки, таблиці (ці елементи задаються в HTML, але саме їх оформлення відбувається в CSS), додати категоріям і кнопкам сайту ефекти анімації, світіння та інші цікаві речі, що притягують користувачів;
  • PHP. Мова, яка використовується для створення веб-застосунків та програм. Завдяки йому можна легко створювати динамічні елементи сайтів, мову та ідуче з ним від розробників ПЗ повністю безкоштовні та дуже популярні;
  • JavaScript. Відносно проста мова для написання скриптів, що виконують дуже схожі функції, як і попередній.

Крім цих мов, у веб-програмуванні активно використовуються ASP, Perl, XML і ряд інших, менш відомих технологій. Цікаво відзначити, що більшість із сказаних – досить легкі мови, які освоюються відносно швидко.

Мобільні додатки

Також дуже стрімко розвивається областю програмування є розробка додатків для смартфонів та інших гаджетів (планшетів, смарт частин, Останнім часомдодалися ще й окуляри віртуальної реальності). Практично кожна сучасна людина у будь-якій країні світу є користувачем смартфона. Цей пристрійпросто не може працювати без гідного програмного забезпечення і часто його якість тут грає навіть більшу роль, ніж фізичні параметри апарату. Розробляючи ПЗ для мобільних, можна дуже непогано заробляти та відкрити для себе перспективи серйозного кар'єрного зростання на роки вперед.
Вибір мови тут відносно невеликий: якщо ви плануєте програмувати на Android, то потрібно активно вивчати Java та освоювати Android Studio, якщо йдеться про iOS, то увагу потрібно звернути на мови Objective-C та щодо нова мовавід Apple Swift.

Що вибрати новачкові?

Ну а тепер настав час відповісти на запитання: з якої мови програмування почати, щоб максимально вникнути у вибрану сферу діяльності та щодо швидко почати пожинати плоди своєї праці? У цьому питанні скільки людей і скільки думок, але найкраще звернути увагу на:

  • Java. Універсальна мова програмування, за допомогою якої можна однаково легко писати як на мобільні додатки, і різні ОС комп'ютерних систем. Він відрізняється простим синтаксисом, що швидко запам'ятовується, має безліч додаткових бібліотек і інструментів, здатний організовувати багатопотокові режими роботи. В умілих руках Джава може замінити й інші мови, той же С++, а сприймається Java для початківців дуже легко;
  • З, З++. Якщо ваша мета – розробка серйозного програмного забезпечення або навіть написання у майбутньому своїй операційної системи, то С і С++ підійдуть до цього якнайкраще. Краще спочатку пройти курс СІ для початківців, а трохи вникнувши, вивчати і С++, який успадкував багато моментів від С;
  • Якщо ж людина має намір присвятити себе роботі у сфері веб-технологій, то найкращими мовамидля вивчення новачкові будуть HTML (дуже бажано і HTML 5), CSS та PHP. З таким набором програміст зможе самостійно створити дивовижні якісні проекти. Що стосується саме початку програмування, то краще звернути увагу на HTML та CSS.

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

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


Опитування розробників Stackoverflow


Понад 56 000 розробників у 173 країнах завершили опитування розробників на Stackoverflow у 2016 році. Ось найбільш використовувані технології:


* JavaScript - 55.4%

* SQL - 49.1%

* Java - 36.3%

* C# - 30.9%

* PHP - 25.9%

* Python - 24.9%

* C++ - 19.4%

* AngularJS - 17.9% (JavaScript-фреймворк)

* Node.js - 17.2% (серверна мова, написана на JavaScript)

* C - 15.5%


Опитування також запитало, що розробники найбільше любили:


* Rust - 79.1%

* Swift - 72.1%

* F# - 70.7%

* Scala - 69.4%

* Go - 68.7%

* Clojure - 66.7%

* React - 66.0%

* Haskell - 64.7%

* Python - 62.5%

* C# - 62.0%


І що розробники найбільше боялися:


* Visual Basic - 79.5%

* WordPress - 74.3%

* Matlab - 72.8%

* Sharepoint - 72.1%

* CoffeeScript - 71.0%

* LAMP - 68.7% (Linux, Apache, MySQL, PHP)

* Cordova - 66.9%

* Salesforce - 65.4%

* Perl - 61.3%

* SQL - 60.3%


Технології, у вивченні яких розробники зацікавлені:


* Android - 15.8%

* Node.js - 14.8%

* AngularJS - 13.4%

* Python - 13.3%

* JavaScript - 11.9%

* React - 9.2%

* Swift - 8.7%

* MongoDB - 8.1%

* Arduino / Raspberry Pi - 8.0%

* C++ - 8.0%


Напрочуд мало. Результати цікаві, але часто суперечливі, а методи збору даних обмежені:

1. Результати пошукової системиможуть допомогти більш старим, більш проблематичним або поширеним мовам. Мало хто очікував, що VisualBasic з'явиться над JavaScript.

2. Онлайн-опитування обмежуються певною аудиторією. StackOverflow заповнена досить обізнаними розробниками, які зіткнулися з проблемами популярними мовами та у фреймворках.

3. Історичні шаблони використання не обов'язково вказують на майбутні тенденції. Node.js не існувало десять років тому. У 1990-х років Perl чи C були найбільш життєздатними варіантами для серверної розробки.

Наприклад, всі опитування оцінюють Java вище PHP. Java часто використовується для навчання та використовується для розробки додатків командного рядка, настільних комп'ютерівта додатків для Android. Тим не менш, WordPress забезпечує 27,3% Інтернету і написаний на PHP. PHP використовується на 82,4% веб-серверів, порівняно з 2,7% для Java.


PHP був розроблений для Інтернету та має більш широке застосування на платформі. У Java немає нічого поганого, але якщо вам потрібна кар'єра у веб-розробці, PHP краще підійде. Ймовірно. Залежно від того, де ви живете та працюєте. І промисловість, в якій ви працюєте. І що ви робите.


Інші думки розробників


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


Інші розробники можуть запропонувати уроки, отримані з їхнього досвіду. Це корисна інформаціяале навряд чи у вас будуть однакові устремління. Щоб засвоїти це, знайдіть думки від розробників, які були змушені використовувати певну мову чи структуру: більшість ненавидітимуть цю технологію. Навіщо дозволяти комусь ухвалювати рішення за Вас?


Немає кращої мови


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

Ви не можете вибрати "неправильну" мову; Усі знання у сфері розвитку - це хороші знання. Можливо, вибір COBOL для iOS-ігри – не кращий вибір, але ви б швидко виявили, що це було непрактично і дізналися щось про мову, яка була корисна в інших місцях.


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


Ви ставите правильні запитання?


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

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

2. Якщо ви розробляєте веб-сайт і незадоволені макетом, покращення знань про CSS є очевидним наступним кроком.

3. Якщо ви розробляєте серверну програму та повинні зберігати дані, вивчення SQL або альтернатива NoSQL є логічним варіантом.

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


* Чи дійсно ви зацікавлені у програмуванні

* Які проблеми ви хочете вирішити

* Яке обладнання та системи доступні вам

* Який час та можливості навчання у вас є

* Усі змінні, пов'язані із зазначеними вище факторами


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


Потім продовжуйте навчання


1. Якщо ви насамперед є front-end розробником, спробуйте себе в back-end'і. Спробуйте PHP, Node.js, Ruby або будь-яку іншу мову, а потім додайте SQL у свій набір навичок.

2. Якщо ви насамперед є розробником програмного забезпечення, вивчайте HTML, CSS та JavaScript. API-інтерфейси браузера та формати даних, такі як JSON, також корисні.


Фреймворки не береться до уваги!


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


Можливо, Ви не захочете стати фулл-стеком розробником, але, принаймні, це допоможе вам оцінити роботу інших і зробити більш ефективний внесок у ваш проект.


Хай щастить. Припиніть відкладати. Припиніть читання статей, подібних до цієї. Просто, млинець, почніть кодити!