10 Перспективних мов програмування, які можуть перевернути світ ит

10 перспективних мов програмування, які можуть перевернути світ ІТ

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

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

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

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

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

Досліджуваний мова програмування № 1: Dart

Досліджуваний мова програмування № 2: Ceylon

10 Перспективних мов програмування, які можуть перевернути світ ит

Гевін Кінг (Gavin King) заперечує той факт, що Ceylon. розробляється їм мову в Red Hat, повинен стати «вбивцею Java». Кінг добре відомий як творець фреймворка об'єктно-реляційного відображення Hibernate для Java. Йому подобається Java, але він вважає, що в ньому ще багато чого потрібно поліпшити.

Серед тих речей, які не влаштовують Кінга в Java, знаходяться детальний синтаксис мови, відсутність першокласних функцій і функцій вищого порядку, а також недостатня підтримка метапрограмування. Особливо його засмучує відсутність декларативного синтаксису для визначення структурованих даних, що, за словами Кінга, «прирівнює Java до XML». Ceylon націлений вирішити всі ці проблеми.

Кінг і його команда не планують заново винаходити колесо. Ніякої віртуальної Ceylon-машини не буде, Ceylon-компілятор буде видавати java-байткод, який можна запустити на JVM. Але Ceylon буде більше, ніж просто компілятор. Стратегічною метою даного проекту є створення нового комплекту розробника для Ceylon, який замінить Java, що є, за словами Кінга, «набряклим», незграбним і до сих пір ретельно Не модернізовані.

Це важке завдання, і поки що Red Hat не випустив ніяких утиліт для Ceylon. Кінг каже, що компілятор повинен вийти в цьому році. Але найближчим часом не чекайте будь-якого ПО, написаного на «100% чистому Ceylon».

Досліджуваний мова програмування № 3: Go

Інтерпретатори, віртуальні машини, а також керовані коди сьогодні дуже популярні. Невже нам справді потрібен ще один старомодний мову, який компілює в «рідні» двійкові коди? Команда інженерів Google - під керівництвом Роберта Грізмер (Robert Griesemer) і легенд Bell Labs Кена Томпсона (Ken Thompson) і Роба Пайка (Rob Pike) - говорить «так».

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

Також важливим є те, що Go був створений для легкого програмування. Його основний синтаксис схожий на C, проте Go видаляє непотрібний синтаксис і повторення під час оптимізації таких програм, як, наприклад, визначення об'єктів. Метою команди Go було створення мови, на якому було б зручно писати коди, як і на динамічному мовою сценаріїв, але який в той же час володів потужністю компилируемого мови.

Над Go ще працюють, і специфікація мови ще може бути змінена. Проте, працювати з ним можна вже зараз. Google створила утиліти і компілятори, до яких додається детальна документація. Наприклад, в навчальному посібнику Effective Go добре показані відмінності Go від попередніх мов.

Досліджуваний мова програмування № 4: F #

10 Перспективних мов програмування, які можуть перевернути світ ит

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

Знайомтеся, F # (вимовляється «Еф-Шарп») - мова, розроблений Microsoft з метою об'єднання в собі функціональність і практичність. Так як F # є мовою першого класу на віртуальній машині .Net CLR, він може підтримувати такі ж бібліотеки і функції, як і інші CLR мови, наприклад, як C # і Visual Basic. Код F # чимось схожий на код OCaml, але містить свій власний цікавий синтаксис. Наприклад, для полегшення проведення наукових розрахунків числовими типами даних в F # можуть бути одиниці виміру. Також в F # є конструкції для полегшення асинхронних вводів / висновків, паралелізації ЦПУ і виведення процесів на графічний процесор.

Досліджуваний мова програмування № 5: Opa

10 Перспективних мов програмування, які можуть перевернути світ ит

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

Природно, з такого роду інтегрованою системою в кінці повинно вийти щось чарівне. Середовище виконання Opa об'єднує власний веб-сервер і систему управління базою даних, які не можуть бути замінені самостійними альтернативами. Як би там не було, це може бути не так вже й важливо, з огляду на можливість розробки сучасних веб-додатків, керованих даними, за допомогою всього лише кількох десятків рядків коду. Opa поставляється безкоштовно і на даний момент доступний для 64-х бітних Linux і Mac OS X платформ, інші ж порти поки розробляються.

Досліджуваний мова програмування № 6: Fantom

10 Перспективних мов програмування, які можуть перевернути світ ит

Хочете створювати додатки для Java або .Net? Якщо Ви пишіть на Fantom. то можете зробити вибір, а потім навіть поміняти платформи. Все тому, що Fantom з самого початку створювався для крос-платформної мобільності. Проект Fantom складається не тільки з компілятора, який може виводити байткод як для JVM або .Net CLI, але також з набору API, які відокремлюють API Java і .Net і створюють додатковий рівень мобільності.

Fantom поширюється безкоштовно відповідно до Academic Free License 3.0 і доступний для Windows і Unix-подібних платформ (в тому числі і Mac OS X).

Досліджуваний мова програмування № 7: Zimbu

10 Перспективних мов програмування, які можуть перевернути світ ит

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

Єдиною проблемою є портативність. Хоча Zimbu і є компільовані мовою, його компілятор видає ANSI C код, а виконавчі файли можуть бути створені лише на платформах з вбудованим C-компілятором.

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

Досліджуваний мова програмування № 8: X10

Колись паралельна обробка даних була спеціалізованої нішею розробки ПО, але з поширенням багатоядерних процесорів і розподілених обчислень, паралелізм здобув популярність. На жаль, нинішні мови програмування не встигають за цією тенденцією. Саме тому IBM Research створює X10 - мова, створений спеціально для сучасних паралельних архітектур, який націлений на збільшення продуктивності розробників «в десять разів».

Код X10 найбільше схожий на Java. По суті, Виконавча X10 доступна як в якості вбудованих здійсненних файлів, так і як класові файли для JVM. Компілятор X10 може видавати вихідні коди або на C ++, або на Java. В майбутньому планується розробити пряму сумісність з Java.

А поки мова розвивається, хоча він вже досить розроблений. Компілятор і середовище виконання доступні для різних платформ, в тому числі Linux, Mac OS X і Windows. В якості додаткових утиліт виступають інтерактивне середовище розробки (IDE), заснована на Eclipse, і відладчик, які поширюються за ліцензією Eclipse Public License.

Досліджуваний мова програмування № 9: haXe

10 Перспективних мов програмування, які можуть перевернути світ ит

Багато мови можна використовувати для написання переноситься коду. C-компілятори доступні практично для всіх ЦПУ архітектур, а Java-байткод буде виконуватися всюди, де є JVM. Але haXe (вимовляється як «Хекс») є більш ніж просто стерпним. Це мультиплатформенний мову, який може використовуватися в різних операційних середовищах, починаючи від вбудованих довічних систем до інтерпретаторів і віртуальних машин.

Незважаючи на те, що haXe все ще знаходиться в розробці, він вже використовується в комерційних цілях своїм творцем, ігровий студією Motion Twin, так що все серйозно. Він доступний для Linux, Mac OS X і Windows по комбінації безкоштовних ліцензій.

Досліджуваний мова програмування № 10: Chapel

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

Chapel є частиною програми Cray Cascade Program. масштабного проекту по високопродуктивних обчисленнях, частково профінансованого американським Управлінням перспективних дослідницьких програм в області оборони (DARPA). Серед цілей даного проекту знаходяться відділення алгоритмів паралельної обробки від використовуваного обладнання, поліпшення їх продуктивності на архітектурі і збільшення портативності паралельних програм.

Синтаксис Chapel складений з синтаксисів декількох мов. На додаток до найбільш часто використовуваних (C, C ++, Java), в ньому запозичені поняття з таких мов наукового програмування, як Fortran і Matlab. На його функції паралельної обробки даних вплинули ZPL і High-Performance Fortran, а також попередні проекти Cray.

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

Робота над Chapel триває. На даний момент він може бути запущений на суперкомп'ютерах Cray і різних високопродуктивних кластерах, але його можна перенести на більшість систем типу Unix (в тому числі на Mac OS X і Windows за допомогою Cygwin). Вихідний код доступний по безкоштовній ліцензії типу BSD.

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

Захід Рунета вручну

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

Пояснюємо суть MapReduce "на пальцях"

  • Kostia »Більш менш зрозуміло як працює, але не зашкодить ще розповісти, чим цей підхід такий хороший, і яку користь (в порівнянні з альтернативами) він приносить.

Рунет приречений. Частина 2

До питання про VPN і його кармічно-негативному трафіку

  • NoSupport »Дзвінок в тех. підтримку провайдера: "Пінг на вас не йде, показує обрив лінії". Відповідь з Сапорта - у вас віруси на виндовс. "У мене опен Сусі. Немає Віндовс". Сапорт в впадає.
  • Mikhail »» не жив в СРСР, не може не розуміти Прошу вибачення, одне _не_ явно зайве.
  • Неанонім »2NoSupport: 95% дзвінків відбиває стандартної перевіркою, для решти 5% у вигляді нестандартних осей, мікротіков, людей, які знають, що кажуть є друга-третя лінії або оформлення тікета. Ну і рідкісний птах у вигляді.
  • Анонім »Після Сноудена завжди стежу за новинами про те як держава любить лізти в наші труси, але. Але в даному випадку тут навіть не пахне, а смердить нобросом на вентилятор.

ФСБ взяла за жопу: історія на ніч для адмінів і блогерів

  • Аз Воздамов »Чувак зробив фейк про самого себе. Нахер він потрібен фсб

Схожі статті