Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Новая волна языков программирования




На конференции OSCON (19-23 июля, Портленд) в этом году решили организовать дополнительную секцию Emerging Languages Camp, посвящённую языкам программирования нового поколения. Организатор — Алекс Пейн, известный по своей работе в компании Twitter.

Новые языки появляются постоянно и в бесчисленном количестве, потому что в программировании всё время возникают новые задачи, с которыми старые языки справляются плохо. Алекс Пейн говорит, что главная фундаментальная проблема сейчас — параллелизм. Он добавляет к этому ясность выражений (expressability) и удобство сопровождения (maintainability).

На конференции будут обсуждаться три десятка новых и относительно новых языков: Go, Io, Duby, Kodu, Newspeak, Coffeescript, Ur, Objective-J, BitC, F#, PyPy, Clojure, Fancy, Coherence/Subtext, Noop, Factor, C#, E, Caja, Slate, D, AmbientTalk, Thyrd, Cola, Gosu, Stratified Javascript, Frink, Dalvik, Trylon, Ioke, ooc. Почти каждый язык будет представлен лично его автором.

Из всего этого многообразия сам Алекс Пейн выделяет несколько наиболее интересных докладов, на его взгляд.

Джилад Брача (Gilad Bracha) расскажет о своей разработке под названием Newspeak — это странная комбинация идей из Smalltalk и Java, а также некоторых вещей из Lisp. В сообществе разработчиков языков программирования и заинтересованных лиц (это сообщество очень маленькое) Newspeak считается провокационным языком, и вокруг него развернулись интересные дискуссии.

Рич Хикки (Rich Hickey) расскажет о Clojure. Это экспериментальный язык, который угрожает всей индустрии, это довольно редко встречается. В языке реализовано несколько совершенно новых идей нового уровня, и многим это нравится.

Язык Мэтта Маклорина (Matt MacLaurin) под названием Kodu использует способ визуального программирования и первоначально был разработан для Xbox как часть детской игры. Визуальные языки и раньше появлялись на сцене, но этот уже готов и нашёл свою нишу. Kodu резко отличается от всех остальных языков в повестке Emerging Languages Camp.

Джонатан Эдвардс из программы искусственного интеллекта Массачусетского технологического института многие годы работал над языком программирования Subtext, который сейчас переименован в Coherence, но работа так и не завершена. Скорее всего, выступление Эдвардса будет сугубо теоретическим.

Алан Элиасен (Alan Eliasen) покажет язык программирования Frink, нацеленный в первую очередь на научные вычисления, но при этом обладающий некоторыми уникальными синтаксическими способностями (пример).

Наконец, разработчик Слава Пестов выступит с презентацией языка программирования Factor, в котором программы записываются в стековой нотации, как в Forth. С коллегами они проделали невероятную работу по оптимизации компилятора и виртуальной машины для Factor. Около месяца назад они опубликовали запись в блоге о текущем состоянии дел, и многие считают, что это настоящий прорыв в реализации языка программирования.

 


Бейсик и Паскаль

Когда-то наиболее популярными языками программирования в школах мира были Бейсик и Паскаль. Бейсик всегда считался самым простым языком программирования, а Паскаль — самым подходящим языком для обучения программированию. Но теперь это не так. Да, Бейсик прост. Но он создавался во времена, когда человечество не имело никакого опыта создания компьютерных систем, и основан на устаревших и не оправдавших себя принципах. Собственно, никакой фундаментальной целостной идеи в основе Бейсика не лежит. Сегодня есть простые и при этом более наглядные и идейно замкнутые языки программирования, нежели Бейсик. Паскаль удобен в учебных целях; ведь именно для них он и создавался. Студенты быстро учатся решать с его помощью алгоритмические задачки. Но так получается, что изучать Паскаль полезно только для того, чтобы писать программы на Паскалe. А если нужно создать настоящий программный продукт, Паскаль оказывается неудобен. И студентам, знающим только Паскаль, приходится переучиваться, что часто сложнее, нежели изучить правильные языки и технологии с нуля. Часто слышишь от преподавателей школ и вузов:

«Уж лучше Паскаль, чем Бейсик. И лучше Java, а не Паскаль: в Java есть сборка мусора, а это очень удобно для изучения программирования. А еще лучше какой-нибудь сценарный слабо нетипизированный язык. Там и сборка мусора есть, и в типах путаться не будут, всё будет просто и понятно.»

«Скриптовые языки больше соответствуют потребностям среднего пользователя компьютера. Многие из существующих скриптовых языков имеют достаточно серьёзный идеологический фундамент, замкнутую модель, наглядный естественный синтаксис и хорошие учебные материалы с примерами, в том числе на русском языке. В первую очередь, я имею в виду языки Форт, Руби и Питон.»

Есть и другие номинации. Язык Python сегодня победитель в номинации "простота синтаксиса", а Perl более, чем какой-либо другой язык удобен для обработки текстов и CGI-скриптинга. Язык Python в принципе создавался как язык интегратор. С его помощью можно интегрировать различные приложения и создавать свои собственные пакеты и новые макроязыки. (Прошу извинения у школьников, которые, скорее всего, не знают, что такое "парадигма программирования", "Скриптовые языки", "Объектно-ориентированное программирование" и "макроязык". На страницах этого журнала мы понемножку будем освещать эти понятия и давать базовые знания, которые необходимы молодому уму, для того, чтобы развиваться и творить, используя современные компьютерные технологии.)


Итак, Perl многогранен, Python прост, Python красив, Ruby тоже молодец, Java и Си технологичны. Номинаций много и явного победителя нет, так же как и нет одежды, которая одинаково хорошо подходит под летнюю, дождливую или зимнюю погоду. Температура и влажность — всего лишь два параметра, а в языках программирования их гораздо больше.

В поисках царского пути

В качестве первого языка используются Java, Lisp, Haskell, Си, Паскаль, Prolog и др. Наиболее популярны следующие линейки языков (последовательности изучения):

Высокоуровневый набор

Питон или Руби → Лисп или Хаскелл → Java или C#

Путь уменьшения абстракции от машины

Питон или Руби → Java → Си → Ассемблер

 

Пути увеличения абстракции:

От ассемблера до самых «человечных» языков

Ассемблер → Си → Питон или Руби

Смещённый в сторону высокоуровневости

Си → Си++, Java или C# → Руби, Питон, Лисп или Хаскелл,

С математическим уклоном

Си → Java → Хаскелл или Mathematica

Набор популярных языков разных видов

Паскаль → Си → Лисп или Хаскелл → Си++ или Java.

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 53; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты