Наверх
Логотип кафедры РКС УИПА
11:36
22.11.2024
Пятница
Добрый день, Гость

Вход
Регистрация
   

Top 10 экспериментальных языков программирования

Есть ли у нас потребность в еще одном языке программирования? Несомненно, смотря на существующие языки, - уже нет. Среди императивных, функциональных, объектно-ориентированных, динамических, компилируемых, интерпретируемых языков и языков сценариев ни один разработчик не смог бы изучить все варианты, доступные сегодня.

И все же, новые языки появляются с удивительной частотой. Некоторые из них разработаны студентами или любителями, как личные проекты. Другие - продукты крупных IT-компаний. Даже небольшие и средние компании принимают участие в разработке, создавая языки для удовлетворения потребностей своих отраслей.

Почему же люди продолжают изобретать колесо?

Ответ на этот вопрос прост – не существует универсального языка программирования. Более того, само программирование постоянно развивается. Внедрение многоядерных и многопроцессорных систем, облачных вычислений, мобильность и т.п. приводят к возникновению все новых и новых проблем для разработчиков. Очевидный путь решения этих проблем основанный на добавлении поддержки новых функций, парадигм и шаблонов для существующих языков оказывается слишком сложным. Иногда проще разработать новый язык с нуля, чем добавить необходимый функционал в существующий.

 

Рассмотрим 10 передовых языков программирования

Некоторые из них - зрелые проекты, а другие находятся на ранних стадиях развития. Некоторые из них, вероятно, останутся непонятными, но любой из них мог бы стать передовым инструментом, который изменит программирование на долгие годы - по крайней мере, до следующего поколения новых языков.

 

1: Dart (Разработка Google)

Google создал Dart как язык, который как он надеется, станет новым прорывом в веб-программировании и заменит собой JavaScript.

Как и JavaScript, Dart использует C-подобный синтаксис и ключевые слова. Однако существует одно различие заключающейся в том, что в то время как JavaScript использует прототипы языка, объекты в Dart определяются с помощью классов и интерфейсов, как и в C + + или Java. Дарт также позволяет программистам объявлять переменные со статическими типами. Идея в том, что Dart, который должен быть более динамичным и гибким, чем JavaScript, все же позволяет разработчикам писать код, который быстрее, проще в обслуживании и менее восприимчив к мелким ошибкам.

 

№ 2: Ceylon (Gavin King)

Gavin King отрицает, что Цейлон, язык который он создал на Red Hat, должен стать "Java-убийцей". King наиболее известен как создатель Hibernate - объектно-реляционного framework'a для Java.

Кинг и его команда не планируют заново изобретать колесо полностью. В цейлоне не будет виртуальной машины; цейлонский компилятор output Java bytecode, будет работать на JVM. Но Цейлон будет больше, чем просто компилятор. Основная цель проекта заключается в создании нового Цейлон SDK для замены Java SDK, который по мнению Кинга, раздут и неуклюж.

Это трудная задача, и Red Hat еще не выпустила Цейлон инструменты. По мнению Кинга компилятор стоит ожидать в этом году. Только не ожидайте программное обеспечение, написанное в «100 процентов чистый Цейлон" в ближайшее время.

 

№ 3: Go (Google)

Переводчики и виртуальные машины, управляемые программно актуальны в наши дни. Нужен ли нам еще один старомодный язык, который компилируется в машинный файл? Команда инженеров Google - во главе с Робертом Griesemer и Bell Labs, легенды Кена Томпсона и Роба Пайка, - говорит да.

Go универсальный язык программирования, подходящий для всего, от разработки приложений до системного программирования. В этом смысле, он больше похож на C или C++, чем на Java или C#. Но подобно недавним языкам, Go включает в себя современные функции, такие как сбор мусора, динамическое отражение, и поддержку параллелизма.

Не менее важно, что Go предназначен для быстрого и легкого программирования. Его базовый синтаксис C-подобный, что устраняет избыточный синтаксис и шаблонны при одновременной оптимизации операций, таких как определение объекта. Цель команды Go в том, чтобы создать язык, является динамическим языком сценариев все же представляет собой компилируемый язык.

Go все еще в стадии разработки, и спецификации языка могут измениться. Тем не менее, вы можете начать с ним работать уже сегодня. Google сделал инструменты и компиляторы доступными наряду с обильной документацией.

 

№4: F# (Microsoft)

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

F# (произносится как "F-sharp") - язык от Microsoft. Так так F # является языком входящим в состав .NET Common Language Runtime (CLR), он может получить доступ ко всем библиотекам, как другие языки CLR, такие как C# и Visual Basic.

После длительного периода вынашивания исследований в Microsoft Research, F# теперь поставляется с Visual Studio 2010. А еще более необычным шагом было то, что компания Microsoft сделала компилятор F#  и базовые библиотеки доступными под открытой лицензией Apache, вы можете начать с ней работать бесплатно и даже использовать его на Mac и Linux системах (с помощью среды Mono).

 

№ 5: Opa

Веб-разработка является слишком сложной. Даже самое простое веб-приложение требует бесчисленных строк кода на нескольких языках: HTML и JavaScript на стороне клиента, Java или PHP на сервере, SQL в базе данных, и так далее.

Ора не заменяет любой из этих языков в отдельности. Скорее, он стремится устранить их все сразу, предложив совершенно новую парадигму для веб-программирования. В приложении Ора, клиентский интерфейс, логика на стороне сервера и ввод/вывод данных из базы данных реализованны на одном языке - Opa.

Opa достигает этого благодаря сочетанию клиентских и серверных структур. Компилятор Opa решает, должна ли данная процедура работать на клиента, сервер или обоих сразу, а дальше выводит код соответственно принятому решению. Для клиентских процедур, он переводит Opa в соответствующий код JavaScript, в том числе AJAX.

Естественно, что эта система требует некой магии. Динамическая окружающая среда Opa связывает свой собственный веб-сервер и систему управления базой данных, которая не может быть заменена автономными альтернативами.

 

№ 6: Fantom

Если вы разрабатываете приложения для Java или .Net? Если ваш код написан на Fantom, вы можете выбрать и даже переключить платформы. Это потому, что Fantom с самого начала предназначен для кросс-платформенной переносимости. Fantom проект включает в себя не только компилятор, который может выводить байт-код для любой JVM или .Net командной строки, но и набор программных интерфейсов, чтобы абстрагироваться от Java и .Net API, создания дополнительного уровня переносимости.

Но портабильность Fantom это единственный смысл его существования. Хотя по-прежнему он по своей сути остается C-подобным, он также призван улучшить языки, которые вдохновили его..

Fantom с открытым исходным кодом под Academic Free License 3.0 и доступна для Windows, и Unix-подобных платформах (включая Mac OS X).

 

№ 7: Zimbu (Bram Moolenaar)

Большинство языков программирования заимствуют особенности и синтаксис из ранних языков. Zimbu берет куски почти из всех из них. Детище Bram Moolenaar, создателя текстового редактора Vim, Zimbu стремится быть быстрым, кратким, портативным и легким для чтения языком, который может быть использован, чтобы создать какое либо приложение GUI для ядра ОС.

По причине его нечистокровной природы, синтаксис Zimbu является уникальным и своеобразным, но многофункциональным. Он использует C-подобные выражения и операторы, но его собственные ключевые слова, типы данных и block-структуры. Он поддерживает управление памятью и потоками.

Мобильность является ключевым вопросом.

К сожалению, проект Zimbu находится в зачаточном состоянии. Не все предлагаемые возможности реализованы, и некоторые из них реализованы неуклюжими способами. В спецификации языка так же с некоторым временем ожидаются изменения, добавление ключевых слов, типов и синтаксиса по мере необходимости. Таким образом, документация тоже изменится. Тем не менее, если вы хотите экспериментировать, предварительные инструменты доступны под лицензией Apache.

 

№ 8: X10 (IBM Research)

Параллельная обработка была когда-то низшим уровнем разработки программного обеспечения, но с появлением многоядерных процессоров и распределенных вычислений, параллелизм стал очень популярен. К сожалению, современные языки прграммирования шагают не в ногу с модным трендом. Вот почему IBM Research разрабатывает X10 - язык, разработанный специально для современных параллельных архитектур, с целью повышения производительности труда разработчиков "10 раз".

X10 управляет параллелизмом, пользуясь глобальным адресным пространством (PGAS) модели программирования. Код и данные разделены на блоки и распределяются по одному или нескольким "местам", что позволяет легко масштабировать программы из однопоточного прототипа (одно место) в несколько потоков, работающих на одном или нескольких многоядерных процессорах (нескольких местах) в высокопроизводительной группе.

Компилятор и среда выполнения доступны для различных платформ, включая Linux, Mac OS X и Windows. Дополнительные инструменты включают Eclipse, основанные IDE и отладчик, все распространяется под Eclipse Public License.

 

№ 9: haXe (Motion Twin)

Много языков может быть использовано для написания портабильного кода. C компиляторы доступны практически для каждой архитектуры процессора и Java код будет работать везде, где есть JVM. Но haXe (произносится как "Hex") больше, чем просто портативный. Это мультиплатформенный язык, который может компилироваться на разнообразных операционных средах.

Разработчики могут писать программы на haXe, а затем компилировать их в объектный код, JavaScript, PHP, Flash/ActionScript, или NekoVM bytecode сегодня, дополнительные модули для вывода C# и Java находятся в разработке. В дополнение к основному языку есть haXe библиотеки, которые функционируют одинаково на каждом объекте, а также целезависимые библиотеки, чтобы раскрыть уникальные особенности каждой платформы. Синтаксис haXe С-подобный, с богатым набором функций. Его главное преимущество в том, что он исключает проблемы, связанные с каждой из платформ, на которые он ориентируется.

Хотя он еще в стадии разработки, haXe используется в коммерческих целях его создатель, студия разработки игр Motion Twin, так что это не игрушка. Он доступен для Linux, Mac OS X, и Windows, под сочетанием open source licenses.

 

№ 10: Chapel (DARPA USA)

В мире высокопроизводительных вычислений существует не много имен более известных, чем Cray. Не стоит удивляться тому, что Chapel, будучи первым языком программирования для Cray, был разработан с ориентацией на супервычисления и кластеризацию.

Chapel является частью Каскадной Программы Cray, в амбициозных высокопроизводительных вычислений инициатива, финансируемая частично за счет Министерства обороны США и управления перспективных исследований (DARPA). Среди его целей абстрагируют параллельные алгоритмы от используемого оборудования, повышение эффективности их деятельности на архитектурах, и создание более переносимых параллельновыполняемых программ.

Синтаксис Chapel черпали из многочисленных источников. В дополнение к обычным подозреваемым (C, C + +, Java), он заимствует понятия из научных языков программирования, таких как Fortran и Matlab.

Одним из наиболее важных функций Chapel является его поддержка " multi-resolution programming ", которая позволяет разработчикам создавать прототипы приложений с высоко абстрактным кодом и заполнить в деталях.

Работа над Chapel продолжается. В настоящее время, он может работать на суперкомпьютерах Cray и различных высокопроизв

одительных кластерах, Unix-подобных системах (включая Mac OS X и Windows, с Cygwin).Исходный код доступен под BSD-style с открытой лицензией.

Источник: infoworld.com


Рубрика: Интересные факты

Авторы: Супрун О. В., Коваленко Н.А.
Опубликовано: 02.02.12 02:56

Н р а в и т с я ?    Р а с с к а ж и    Д р у з ь я м !

Сдесь должны появиться кнопки социальных сетей

Комментарии могут оставлять только зарегистрированные пользователи.
Войдите под своим логином, чтобы оставить комментарий.


vasutin
Студент
Нет фото


ktimus, 15 лет. Может быть. Но не пять и не десять.
Опубликовано: 04.02.12 17:21:47

ktimus
Студент
Нет фото


Того и глядите, что лет, эдак, через 5-6 в ВУЗах (в наших лет через 15 как мин.) будет преподаваться один из этих языков. Не говоря уж о том, на каком языке будет писаться софт.

Опубликовано: 04.02.12 12:41:46

dimko_p
Студент
Нет фото


каждое творение имеет право на жизнь!!! может за одним из этих языков будущее?!?!

Опубликовано: 03.02.12 17:19:12

   
  Случайное фото  
 
     
  Популярные статьи  
Ускоряем 3G интернет. 3G Антенна своими рукамиОпрос студентов кафедры РКС. Отзывы студентов об УИПА (Видео)Поздравляем с Днем Рождения!!!Стенгазеты студентов кафедры к празднику 8 марта 2012 годаПравила поведения в общественных местах. Административные правонарушенияВыставка морских раковин "Планета Океан" в галерее "АВЭК"Светодиодная цветомузыка для компьютераПоздравляем с 8 марта
     
Loading
  Полезные ссылки  
  • Официальный сайт УИПА
  • Сайт Библиотеки УИПА
  • Дистанционное обучение
  • Сервисный Центр FreshIT
  • Веб-студия Around
  • СТО Новые Дома "Алекс Сервис" Харьков
  • Заправка картриджей Харьков
  • Ремонт телефонов Холодная гора
  •      
    Система Orphus



    Tips&Tricks
    Web programming
    Жизнь студентов
    Интересные факты
    Мероприятия
    Молодые ученые
    Общежитие
    Объявления
    Свободный софт
    Технический раздел
    Компьютерные системы и сети
    Телекоммуникации и связь
    Преподаватели кафедры
    Трудоустройство
    Дни открытых дверей
    Copyright © 2010 - 2024. created by nick