Новини, Поради, Розробникам, Технології

13 рідкісних і недооцінених мов програмування

18 Серпня, 2021

На Java, Python, С/С ++, JavaScript і PHP пишуть мільйони розробників, але хорошому фахівцю потрібно постійно вивчати щось нове. Сайт proglib.io опублікував список рідкісних, незвичайних і/або недооцінених мов програмування, на які варто звернути увагу.

1. Rust

В 2006 році розробник Mozzilla Грейдон Хор почав роботу над створенням мови програмування Rust. Через три роки компанія побачила перспективи в подальшому розвитку проєкту та початку його окремо фінансувати, а вже через рік Rust був офіційно представлений на Mozilla Summit 2010. Кілька років тестування, і в травні 2015 року вийшла перша стабільна версія Rust 1.0.
Зараз цю мову використовують для розподілених клієнт-серверних додатків і системного програмування. Грамотно реалізована модель управління пам’яттю перешкоджає виникненню критичних помилок, які регулярно виникають в коді на схожих мовах. До того ж Rust дуже продуктивний, і розробники часто використовують його як альтернативу С/С ++, переписуючи успадкований код і запускаючи нові проэкти.

"Все ще не маєте картки mono?" Зараз саме час!

2. Hack

У Facebook створили цю мову програмування для поєднання швидких циклів розробки на PHP зі статичною типізацією, що забезпечує надійність і продуктивність. Написаний на ный код виповнюється віртуальною машиною HHVM (HipHop Virtual Machine). Найчастіше Hack застосовується для створення складних веб-сайтів, дозволяючи розробникам використовувати для проєктів динамічне кодування як в PHP. Незважаючи на вражаючий дебют у найпопулярнішій соціальній мережі, мова не отримала широкого розповсюдження. На даний момент Hack активно розробляється.

3. АDA

Ця мова була створена в 1980 році на замовлення Міністерства оборони США для управління автоматизованими військовими комплексами, бортовими системами кораблів, літаків, танків і ракет. Він вузько і гарний лише в своїй предметній області.

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

4. Haskell

У 80-ті роки минулого століття функціональні мови, до яких відноситься Haskell, були або дуже складними, або легкими і витіюватими. Всі вони були жахливо непрактичними і не мали міцної основи для створення реальних додатків, поки не з’явилася ця чисто функціональна мова програмування з серйозним ставленням до типізації.

Крім простого і елегантного синтаксису, Haskell має пристойну швидкість швидкодію. З моменту прийняття останнього стандарту мови (Haskell 98) пройшло багато часу, і з тих пір провідні реалізації (ghc і hugs) були розширені безліччю додаткових можливостей. Прихильників у мови досі чимало. Використовують її для інвестиційного банкінгу, для проектування програмного забезпечення, а також для розробки системних продуктів. Більш детальну інформацію про Haskell ви можете отримати на офіційному сайті.

5. Erlang

Ще одна вікова мова з відкритим вихідним кодом була створена Ericsson Computer Sciences Lab в середині 80-х років. Компанія переслідувала дві мети: забезпечення ефективної розробки програмного забезпечення та створення системи, стійкої до збоїв програмного і апаратного характеру. Перед розробниками стояло завдання зробити мову з можливістю поновлення додатків «на льоту» без простого обладнання.

В основі Erlang лежить принцип “let it crash” (нехай виходить з ладу), тобто працює механізм, який завершає збійні процеси і запускає нові.

Erlang допускає многопоточность і використовує схожу на JVM віртуальну машину, але на відміну від останньої, він призначений для вбудованих рішень. Є думка, що дивний синтаксис мови відлякує новачків, але така слава абсолютно незаслужена. На Erlang пишуть сучасні системи веб-управління і бази даних, а також розробляють різні чати (включаючи чат Facebook).

6. Racket

Racket – мова на базі Lisp/Scheme. Розробники використовують її для дослідження ідей і тестування прототипів. Одна з головних задач Racket – створення, проектування і реалізація нових мов програмування. Синтаксис мови досить простий, він не типізований і має навчально-орієнтовані бібліотеки, а керівництво по Racket – один з найбільш зрозумілих і добре організованих документів.

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

7. Io

Це відносно маловідома мова сценаріїв, що поєднує в собі принципи LISP (весь код – це дані) з об’єктами на основі прототипів і простою моделлю передачі повідомлень. Хоча вона не отримала широкого поширення, функціональність Io добре продумана і заснована на простих конструкціях. Вивчення Io – спосіб зрозуміти базову будову заснованих на прототипах мов (на кшталт JavaScript). Її відмінними рисами є простота і мінімальний синтаксис, досить легкий для сприйняття. Прихильники кажуть, що це відмінна мова програмування загального призначення.

8. Groovy

Groovy – об’єктно-орієнтована мова, створена як доповнення до Java. Вона виглядає і відчувається як Java, але з упором на розширюваність і швидкі інновації. Groovy запозичила основні концепції та ідеї з динамічних мов, на зразок Ruby, Python і Smalltalk, запропонувавши рішення для усунення деяких недоліків Java. Вона розширювана, підтримує просту перевантаження операторів і має гнучку граматику. Хоча Groovy все ще нерозривно пов’язана з Java, з часом, з мови динамічних сценаріїв вона перетворилася в привабливу самодостатню мову програмування.

9. Scratch

Візуальне середовище програмування для дітей у віці від 8 до 16 років було розроблене в Массачусетському технологічному інституті. У Scratch не доведеться писати код – програмувати потрібно за допомогою перетягування візуальних блоків (drag-and-drop). Блоки групуються за призначенням і кожна їх група позначена відповідним кольором для кращого сприйняття. Інтерфейс платформи перекладений російською, так що якщо ви хотіли навчити дитину основам – це хороший варіант.

10. Dart

Створена в Google в 2011 році, Dart повинна була замінити JavaScript або хоча б стати йому гідною альтернативою.

«JavaScript має фундаментальні вади, які неможливо виправити, тому і була створена Dart», – Марк Міллер, творець Dart.

Задумане не здійснилося, JavaScript залишила Dart далеко позаду, і технічний гігант переробив її за зразком CoffeeScript (компілятор Dart-to-JavaScript). Проте на Dart розроблені веб-додатки Google AdSense, Google AdWords і ще багато гідних програм.

11. Q #

Предметно-орієнтована мова від компанії Microsoft була розроблена в 2017 році. Вона використовується для розрахунку квантових алгоритмів і роботи з квантовими комп’ютерами. Синтаксис Q# схожий на C# і F#, але має ряд особливостей. Мова доступна поки тільки в формі окремо розширення для Visual Studio в складі Quantum Development Kit і поставляється разом з квантовим симулятором, на якому і запускається.

12. Clojure

Мова загального призначення, що спрощує підтримку багатопоточності та паралелізму. Clojure є різновидом Lisp і працює на віртуальній машині Java. Маючи просту структуру і синтаксис, вона вирішує чимало пов’язаних з функціональним програмуванням проблем. Працюючи в контексті JVM, мова має доступ до всіх доступних бібліотек з можливістю виклику коду на Java з коду на Clojure і навпаки.

13. Lua

Незважаючи на свою простоту, Lua вважається мультипарадигменною мовою, що підтримує імперативний, функціональний і об’єктно-орієнтований підходи. Вона працює швидше ніж інші інтерпретовані мови і стала надзвичайно популярною в геймдеві. Код на ній ідеально підходить для різних скриптів, тому Lua підтримується не тільки ігровими движками. Adobe Photoshop, Angry Birds, Apache HTTP Server, Tarantool, веб-браузер Firefox, MediaWiki і World of Warcraft – такий далеко не повний перелік програм, які «дружать» з Lua.

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

13 рідкісних і недооцінених мов програмування - tech, developers, porady, news

Підпишіться на e-mail розсилку Українського Спектру

«Український Спектр» в Telegram – коротко про головне один раз на день
Підписатись на канал

Ми у соціальних мережах:

Ми у соцмережах:

Слідкуйте за UAspectr у Facebook або ж читайте усе найцікавіше у нашому каналі в Telegram
Menu