5 нових мов програмування, які ви повинні знати

Деяким людям вивчення нової мови програмування є надлишком, якого слід уникати. Чому, о чому, стверджують вони, чи потрібна нам ще інша мова?


У нас цього вже недостатньо?

Чи не наявні інструменти для виконання роботи?

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

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

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

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

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

Звичайно, Брейнфук це неймовірно кручена головоломка, весела маленька мова, але ви навряд чи отримаєте користь, переслідуючи її серйозно. Ви хочете чогось нового, розумного і має міцну основу.

Як обирали ці мови

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

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

Дата виходу

Я спеціально уникав мов, які є дуже-дуже новими.

Нові, я маю на увазі мови, які не досягли 5-6 років, як письмово, і особливо ті, які не досягли стабільності (версія 1.0, тобто). Це, на жаль, виключає деякі справжні дорогоцінні камені, як Кристал, Але я сподіваюся повернутися до цього і написати про його успіх одного дня. ��

Фрагмент коду в Crystal (“Швидкий як C, Slick як Ruby”)

Для мене 5-12 років – це солодке місце, коли мова стабілізується, і більше вдосконалюється. Тепер, звичайно, є винятки з цього правила, і вони будуть розглянуті, де це можливо.

Сильний інтерес до громади

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

Так, Apple, Objective-C і тепер Swift процвітала, тому що це були єдині варіанти в екосистемі, що дуже контролюється, але Facebook D і Рубати (потворна думка про вже потворну мову, на мою думку) залишається трохи більше, ніж експерименти.

Ідеальним поєднанням буде мова, яку підтримує велика, стабільна компанія та вибухає популярність (як React).

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

Для мене це виключає зрілі, захоплюючі мови на кшталт Ракетка і Ерланг, оскільки вони залишилися рівними на кривій росту.

Зосереджена, чітко визначена USP

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

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

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

Чіткий, послідовний синтаксис

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

Поряд із синтаксисом виходить ідея послідовності. Назви функцій, структурування модулів тощо – це ключові речі, які мова не може дозволити собі помилитися. Боже, 2018 рік, і інший дизайн мови, схожий на PHP, буде ганьбою для всіх нас. Тож, без зайвих прихильників, почнемо з наших перших п’яти рекомендацій.

1. Юлія

Для людей з MIT мови, доступні для наукових даних, були в кращому випадку компромісом. Python, незважаючи на всю його чіткість і популярність, не мав власних конструкцій для роботи з об’єктами даних. Крім того, будучи інтерпретованою мовою, Python був повільним для них (не бібліотеки, пам’ятайте, як вони в основному написані на С).

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

В результаті, Юлія народився.

Юлія дійшла до свого стабільного випуску 29 вересня 2018 року, лише за кілька днів до написання цієї статті (поговоримо про терміни!). Ось що офіційний веб-сайт повинен сказати про його можливості:

Джулія перевершує чисельні обчислення. Його синтаксис чудово підходить для математики, підтримується багато числових типів даних, а паралелізм доступний поза коробкою. Багаторазове відправлення Юлії – це природна придатність для визначення кількості даних та типів даних, схожих на масив.

Синтаксисно, Джулію можна розглядати як поєднання Python і C. Так, це, мабуть, перший раз, коли мова націлила обидві ці якості та досягла успіху.

Щоб спростити справи, Джулія не дотримується суворого набору тексту та все-таки швидко прострілює. Ось деякі орієнтири:

Офіційні орієнтири Юлії

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

Ну ось ось реалізація функції для обчислення гіпотенузи прямого трикутника:

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

Це моя перша мова, яка має першокласну підтримку паралельних обчислень, тому не дивно, що вона набирає більшої популярності в Інтернеті та IoT доменах.

2. Іржа

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

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

Сказати, що у Русті світле майбутнє, буде брехнею; мова вже є величезним успіхом, і якщо ви про неї ще не чули, це тому, що її область застосування спеціалізована, а її мета страшна: заміна C ++! Так, у нас, нарешті, є мова, яка не тільки здатна це робити, але і вже це робить.

Для людей, розчарованих перевантаженими проблемами дизайну та управління пам’яттю C ++, Rust приходить як подих свіжого повітря.

Ось як виглядає програма Rust:

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

Отже, що дає Русті сміливість йти за С ++? Це нова модель пам’яті. Замість того, щоб покладатися на старий новий () / delete () танець, Руст вводить ідею власності.

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

Справа в тому, що це призводить до 100% безпеки пам’яті без необхідності збирання сміття, що велика справа.

Іржа штурмом зайняла світ системного програмування. Він уже підтримується на деяких платформах, браузери з потужністю та рендеринг швидко замінюють код C / C ++ на виробничих системах і використовуються для запису операційних систем.

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

Чесно кажучи, якщо вас цікавить захоплююче майбутнє, Руст – це ідеальна мова, а зараз – ідеальний час. Іржа – це літак, який злетів, але ще є час, щоб сісти на борт, коли він прямує до зірок!

Дізнайтеся Іржа від Дмитра Нестерука.

3. Еліксир

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

Тож не дивно, що рамки Rails продовжують домінувати в повному обсязі розробки стеків для серйозних розробників та стартапів. Але не всі були задоволені Rails, особливо один з його основних розробників – Хосе Валім. Я думаю, що сам творець найкраще пояснює генезис цієї мови інтерв’ю:

Це довга історія, але я постараюся зробити її короткою і милою. Ще в 2010 році я працював над підвищенням продуктивності Rails при роботі з багатоядерними системами, оскільки наші машини та виробничі системи постачають все більше і більше ядер. Однак весь досвід був досить розчаровуючим, оскільки Рубі не надає належного інструменту для вирішення проблем з одночасністю. Тоді я почав переглядати інші технології, і врешті-решт я закохався у віртуальну машину Erlang.

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

І ось, Еліксир народився!

Подібно до того, як Scala вдосконалює мову Java, але націлена на ту саму віртуальну машину (JVM), Elixir також використовує багатовікову віртуальну машину Erlang, що зарекомендувала десятиліття..

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

Ще простіше кажучи, що це означає. Якщо ви будуєте систему в режимі реального часу, як чат, Elixir набагато, набагато менше оперативної пам’яті голодний і стабільніший, ніж Ruby (або PHP, Python та Java, з цього приводу)..

Машина, яка запускає Ruby і максимумує, скажімо, 10000 одночасних з’єднань, може легко обробляти 200000 при використанні Elixir і все ще має достатньо оперативної пам’яті для запуску 2D ігор!

Фрагмент коду Elixir

Еліксир без сорому копіює Ruby, а його домінуючий веб-фейсбук Phoenix безсоромно копіює Rails. Я б сказав, що це теж добре, тому що разом з Laravel, Grails, Masonite і т. Д. Ми досягаємо точки, коли всі мови мають рамки, подібні до Rails, що може полегшити перехід. Деякі можуть знущатися над “відсутністю оригінальності”, але принаймні я не скаржусь.

Нарешті, Еліксир є однією з тих технологій, які є освіжаючими, приємними та проклятими практичними. Кілька магазинів Ruby (і навіть не Ruby) переїжджають до Elixir, і великі компанії, такі як Pinterest, використовують його у виробництві з надзвичайно задовольняючими результатами.

Багато хто думає, що Node.js був спробою спростувати паралельність, і незабаром його замінить Еліксир. Треба сказати, що я з ними згоден. ��

4. Котлін

У 2017 році введення-вивідок Google розв’язав бомбу на нічого не підозрюючого натовпу. Компанія офіційно оголосила Котлін як основна мова для розробки Android, посилаючи ударні хвилі по всій галузі.

Тепер, коли Google активно шукає заміни Java, не здивує після покусу з боку Oracle; проте прийняття Котліна було дещо несподіваним, і все-таки є хороший шанс Google незабаром вийти зі своєю віртуальною машиною. На даний момент Котлін насолоджується сплеском.

Kotlin був розроблений JetBrains, компанією, більш відомою своїм набором шалено хороших редакторів кодів. Один з них, IntelliJ IDEA, є основою Android Studio. Цілі дизайну Котліна – безпека, стислість та 100% сумісність з Java.

Більше всього іншого, компілятор Kotlin працює надто важко, щоб усунути будь-які винятки з нульовими вказівниками, які є настільки поширеними в світі Java. Крім того, він трохи знімає поспільну багатослівність Java, яка багатьом прийде в полегшення.

Ось чудове порівняння коду між Java та Kotlin:

Кредит зображення: hype.codes

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

Але давайте зрозуміємо одне: Котлін навряд чи замінить Java, хоча він швидко стає улюбленим. Я вважаю, що через десять років команди малого та середнього розміру будуть виглядати не далі, ніж Котлін, тоді як великі групи продовжуватимуть використовувати Java виключно із застарілих причин.

Однак, у Kotlin чекає надзвичайно світле майбутнє, оскільки він робить все, що робить Java, може зливатися з кодом Java, не помічаючи нікого, і набагато приємніше!

5. TypeScript

Бог знає, що мені довелося стримати себе на цьому місці! Все всередині мене кричало: «В’яз! В’яз! », Але якими б революційними не були його ідеї або наскільки божественний синтаксис, Elm ще слід розглядати як основну альтернативу для передової роботи. �� У будь-якому випадку, перейдемо до того, що є основним: TypeScript.

JavaScript схожий на лісові ягоди: некрасиві та неприємні, але вам доведеться поживити його, якщо хочете пережити джунглі переднього розвитку. Було зроблено багато спроб його заміни (і, швидше за все, новий стандарт WebAssembly вдасться), але те, що справді привернуло увагу всіх, було суперсетом, розробленим Microsoft.

Є чудові шанси, про які ви чули TypeScript: Angular був першою основою, яка прийняла його від версії 2 і далі, і люди швидко взяли до відома. Це тому, що TypeScript додає дуже потрібні та фантастичні надсили до найвідомішої мови програмування у світі.

Так, нарешті можна писати рідний JavaScript-код, не страждаючи і не проклинаючи народження!

Ось удосконалення, які TypeScript вносить у таблицю:

✓ Сильне введення тексту: Нарешті, рядок – це не число, а число – це не об’єкт, який не є порожнім масивом!

✓ Перевірка часу компіляції: Якщо ваш код складено правильно, то більш-менш гарантовано звільниться від бородавок часу виконання JavaScript.

✓ Класи та модулі: Так, класи стандартні в ES6, але вони також включені в TypeScript, окрім акуратної модульної системи.

✓ Введіть умовивід: Для складних типів компілятор може легко зрозуміти тип, що врятує вас від головного болю.

✓ Асинхронізація / очікування: Ключові слова та шаблони асинхронізації / очікування є основоположними, тому більше не возиться з обіцянками та зворотними зворотами!

Простори імен, дженерики, кортежі. . . Я міг би продовжувати і продовжувати, але слід сказати, що TypeScript перетворює один з найгірших досвіду розробки в один з найкращих.

Фрагмент коду TypeScript

Вплив TypeScript не можна відмовити. Це витіснило подібні спроби, як “Дартс Google”, з поля (хоча це намагання повернутися через Flutter, мобільну систему розвитку) і відкрило очі розробникам JS на переваги більш сильних типів.

Як результат, значні бібліотеки, такі як React, D3, Vue (навіть jQuery!), Тепер мають версію TypeScript, а в кращих магазинах програмного забезпечення у всьому світі весь код JavaScript записується як код TypeScript. Тепер заголовки TypeScript також доступні і для Node.js (якщо чесно, якщо вузол може покращити історію одночасності та виправити своє кепське управління пам’яттю, він триватиме назавжди).

Ви можете бути здивовані, дізнавшись, що творець Node.js, після публічно шкодуючи його створення, працює над а новий час виконання (поки що немає офіційного веб-сайту; лише репортаж GitHub), на якому основним мовою є TypeScript.

Найкращі новини? TypeScript невеликий мову для вивчення із значними перевагами в майбутньому. Якщо ви проміжний розробник JavaScript, ви отримаєте достатньо TypeScript протягом двох днів, щоб перенести весь наявний код!

Висновок та відмова від відповідальності

Конкретні мови набувають такої ж популярності, як і в цій статті, але не були включені до списку з різних причин. Ось короткий погляд:

  • Голанг: Вже створена як основна, якщо не дуже популярна, мова. Я вірю, що на даний момент у Golang є декілька конкурентів, які будуть тримати свою частку ринку низькою.
  • R: R вже гаряча серед науковців даних, і навряд чи багато хто приверне розробників додатків. Крім того, ми не повинні забувати, що бібліотеки машинного навчання повільно пробиваються у всі основні мови (ради богу, навіть у PHP зараз є!), Тому все, що вам потрібно зробити, – це почекати деякий час. ��
  • Swift: Apple має залізну ручку в своїй екосистемі, і Swift є єдиною доступною мовою. Без сумніву, раніше мета C була люттю, як і зараз Свіфт. Я вважаю це обманом і тому відмовляюся його включати сюди. ��

Майбутнє завжди невизначене, і один із способів займатися своєю кар’єрою – це дотримуватися того, що вже працює, і відмовлятися «відволікатися». Якщо ви це зробите, Java, PHP, Python, Ruby тощо – це чудові мови, якими слід дотримуватися. Однак для деяких із нас норми недостатньо. Вони хочуть вийти на вулицю і досліджувати великі гроші на майбутнє. Якщо ви потрапляєте в останній табір, одна з цих п’яти мов повинна знаходитися вгорі вашого списку справ.

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

Чи пропустив я тут якусь критичну мову? А може, у мене щось не так у мовах, перелічених тут? Якщо так, будь ласка, залиште коментар та допоможіть мені покращитись. ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map