Не забудьте поширити ❤️
Без мов програмування світ в нинішньому вигляді просто не існував би. Уявіть, що ми живемо без комп’ютерів, цифрових технологій, інтернету з Instagram і TikTok. Уявити таке дуже складно, якщо взагалі можливо.
Але скільки мов програмування існує взагалі? Щоб відповісти на це питання, потрібно провести серйозне дослідження. Причому варто відразу відокремити зерна від полови, тобто визначити, що є мовою програмування (МП), а що ні. Залежно від цього різні джерела дають найрізноманітніші відповіді. Якщо коротко, то від 1000 до 10 тисяч. Все залежить від того, що визнавати мовою програмування і чи визначати різновиди (якщо завгодно, форки) однієї МП як різні мови. Але навіть якщо так не робити, то нарахувати можна близько 700 мов: від найстаріших до сучасних, від практичних і використовуваних до езотеричних, створюваних просто для фана.
20 мов програмування, які варто вивчити у 2020 році
Більш того, нові МП з’являються із регулярністю, якій можна позаздрити – багато компаній розробляють власні мови. Експериментують з цим і окремі розробники.
У всіх мов своє призначення. Якісь застосовуються для написання мобільних додатків, інші – для роботи з мікроконтролерами, треті – для створення десктопних програм або аналітики. Але є і випадки, коли одну задачу можна вирішити за допомогою різних мов.
Які бувають мови програмування
Мови програмування класифікують за різними ознаками: функціональністю, способом опису сутностей, способом реалізації та деякими іншими.
Статична і динамічна типізація
Тут мова йде про процес перевірки відповідності типів. Система типів – це набір правил, які присвоюють властивість («тип») ряду сутностей: змінним, виразам, функціям, модулям. У статичній типізації змінним типи присвоюються в момент оголошення – так працюють Go, С ++, C #, Java і ряд інших мов. При динамічній типізації це відбувається в момент надання значення, як в PHP, Python, JavaScript, Ruby і подібних МП.
Високорівневі та низькорівневі мови
Тут все простіше. Як правило, до низькорівневих мов відносяться МП перших поколінь. Це машинний код і асемблери, які з’явилися на зорі цифрової ери. Тоді гори були високими, дерева зеленими, а ЕОМ займали цілі будівлі.
Але в міру технічного прогресу завдання ускладнювалися. Щоб їх вирішувати, люди вдосконалювали обчислювальні пристрої. Тоді й було розроблено високорівневі мови, що дозволили прискорити створення ПЗ і збільшити ефективність роботи ЕОМ. Однією з перших була Fortran.
Зараз виділяють ще й надвисокорівневі мови з дуже високим рівнем абстракції. До них відносять, наприклад, Python і Perl.
Інтерпретовані та компільовані мови
Це розділення вельми умовне. Головна відмінність – компільованим мовам для виконання програми потрібен машинний код, а інтерпретованим – ні. Замість цього програму порядково виконують інтерпретатори. Раніше компільовані мови працювали швидше інтерпретованих, але зараз цей розрив поступово скорочується завдяки таким технологіям, як JIT-компіляція.
Приклади компільованих мов: Pascal, Basic, Visual Basic, Cobol, Swift, Go, Haskell, C#, Kotlin. Інтерпретовані: PHP, JavaScript, Python, Lava, Perl.
Візуальні та текстові мови
У візуальних мовах фахівець не пише текст програми, а використовує графічні об’єкти. Візуальне програмування стає все більш потрібним через популярність смартфонів і планшетів. Крім того, саме візуальні МП використовуються для навчання дітей програмуванню.
Приклади таких мов: Sketchware, App Inventor, Блоклі, HiAsm та інші. До текстових відноситься безліч інших мов, до яких ми звикли більше.
Езотерика і just for fun
А скільки мов програмування було створено просто так – для розваги або навчання в ігровій формі! Їх навряд чи можна використовувати для вирішення практичних, «дорослих» завдань, але при цьому вони цілком повноцінні.
Lolcode
Цю мову у 2007 році створив науковий співробітник Ланкастерського університету Адам Ліндсей. Lolcode використовує словник інтернет-мема «лол кіт».
HAI CAN HAS STDIO? I HAS A VAR IM IN YR LOOP UP VAR!!1 VISIBLE VAR IZ VAR BIGGER THAN 10? KTHX IM OUTTA YR LOOP KTHXBYE
У більшості мов, створених для фана, немає бібліотек. А це означає, що використовувати їх можна лише для читання файлу або запису тексту на консоль.
Glass
Створена у 2005 році. Її розробники заявляють, що жодна інша мова не може бути реалізована подібно до цієї. Чому? Та просто тому що її реалізація смерті подібна.
{F[f(_a)A!(_o)O!(_t)$(_n)1=,(_isle)(_n)*(_a)(le).?=/(_isle)^\(_n)*(_a) s.?(_t)f.?(_n)*(_a)s.?(_t)f.?(_a)a.?]}{M[m(_a)A!(_f)F!(_o)O!(_n)=(_nlm) =/(_nlm)(_n)*(_f)f.?(_o)(on).?" "(_o)o.?(_n)(_n)*(_a)a.?=(_nlm)(_n)* (_a)(le).?=\]}
Ділянка коду вище виводить послідовність чисел Фібоначчі.
Brainfuck
Культова мова для гиків, яка містить вісім простих команд та їх покажчик. Її створювали як розвагу для програмістів, а не практичний інструмент. Попри все це, мова стала надзвичайно популярною.
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++. <<+++++++++++++++.>.+++.------.--------.>+.>.
Вище – ділянку коду, яка відповідає за висновок «Hello, World».
Chicken
А в цій мові всього одне ключове слово – вгадаєте яке? І кількість повторень з новими лініями визначає код використовуваної операції.
chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
Це був приклад робочого коду.
Які мови програмування найбільш потрібні
За версією сервісу TIOBE, першу трійку рейтингу попиту займають Java, C і Python. А ось топ-20:
Щороку топ змінюється – іноді дуже помітно, а часом незначно. Рейтинги 2020 і 2019 років майже не відрізняються.
Так скільки мов програмування існує?
Як ми переконалися, відповіді на це питання немає. Щоб спробувати її знайти, потрібно визначити безліч умов, а також вести спостереження за всіма ентузіастами, які можуть взяти та зробити свою мову. А програмувати найкраще тією мовою, яка просто вам подобається. Звичайно, варто орієнтуватися на попит МП – але якщо ви працюєте з мовою з топ-20, то турбуватися немає про що. Найкраще знати не одну мову, а дві-три – такі фахівці завжди нарозхват.
Ми у соцмережах: