Блог

Про идеальный язык программирования

Сергей Бобровский
16.03.2012 10:43:49

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

Главный вопрос риторичен (да и сама тема, понятно, довольно абстрактна): почему мы по сей день применяем ЯП, разработанные тридцать лет назад -- где инновации-то? Почему именно отсутствие инноваций -- одна из объединяющих черт современных технологий программирования?

Ведь и по сей день популярные Си и Фортран создавались с прицелом на совсем медленные по современным меркам машины с крохотными ресурсами. Но и сегодня они используются в мега-проектах, очень часто просто потому, что преподаются в институтах именно эти языки. А зачем?

Недаром многие удачные языки часто создаются отнюдь не коллективами. Лопес приводит список известных языков (который дополнен в комментах), созданных фактически как хобби, для удовольствия или решения конкретных и локальных задач -- PHP, Python, Ruby, JavaScript, и тем не менее ставших всемирно известными. "Корпоративно" же были разработаны Си, Фортран, Кобол, Смолток, Лисп.

Лопес полагает, что правильнее не считать сферу программной инженерии наукой. Это скорее проектирование, однако классическая инженерия тут помогает слабо, потому что вещи создаются нематериальные. И если подчас случайные люди способны спроектировать и реализовать хорошую систему программирования, какие цели должно преследовать академическое исследование в этой сфере? Каковы ключевые инновационные свойства ЯП?

Они должны обеспечивать:
- высокую производительность, способность масштабироваться на будущие многоядерные архитектуры;
- продуктивность работы программиста;
- эффективную верификацию/тестирование.

Однако абсолютное большинство утверждений, что "а вот язык XXX самый удобный" ни на каких измеряемых критериях не основываются. В лучшем случае организуется далеко не всегда корректное сравнение по быстродействию, и приводятся ссылки на маловразумительные графики популярности наподобие такого:


По этой причине Лопес даже прекратила научную деятельность в сфере компьютерных наук в официальном формате, полагая, что подобная деятельность приносит больше вреда, чем пользы. Как можно объективно выявить разницу в продуктивности разработчиков, использующих разные ЯП? Можно, конечно, но такие исследования будут весьма ресурсоемкими, и привлекать к ним надо прикладных психологов. Но столь высокая планка просто уничтожает академические исследования ЯП.

Лопес полагает, что главное качество создателя хорошего ЯП -- это отличные навыки проектирования программно-аппаратных систем, когда в технологии воплощается богатый проектный опыт. Действительно, одни из лучших на сегодня языков созданы на инвестиции крупных фирм, но осваивали их все же гениальные люди. Java -- Джеймс Гослинг; C#/.NET -- Андерс Хейлсберг (автор Delphi).

ЯП меж тем продолжают и продолжают "порождаться". Гугль выпустил за последние год-два Go и Dart, вот свежая новость про "открытый динамический язык программирования Julia, использующий наработки проекта LLVM, нацеленный прежде всего на техническое программирование в статистико-математических областях, с областью применения аналогичной таким известным решениям, как Matlab, язык R и связка из Python и NumPy... Julia мультипарадигменный язык, который может комбинировать разные стили программирования, такие как императивный, объектно-ориентированный и функциональный. Синтаксис Julia очень близок к синтаксису MATLAB..."

Акцент в анонсах подобных систем сейчас уже делается на первом пункте (эффективности), и в частности поддержке параллельности, но по второму пункту (продуктивность разработчика) в лучшем случае упоминается некий гибрид "лучших фич" из других известных ЯП ("богатый язык типов для описания и конструирования объектов"), а вот каковы объективные причины выбора именно такой комбинации языкового синтаксиса и семантики (да и есть ли они), остается лишь гадать.

Комментариев: 3

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

Андрей Губанов
16.03.2012 12:03:28

Относительно SQL не все ясно. Имеется в виду "чистый" SQL, на котором, например, можно делать приложения в APEX Oracle XE, который я неоднократно упоминал? Или это SQL, уже "участвующий" в проектах на других языках программирования, например, на C++ или Python для информационных систем, или на PHP для разработки WEB-приложений - тут вариантов будет масса. Т.о., получаем, что SQL входит почти в любой проект, работающий с СУБД, и его доля должна быть очень высока.

Андрей Губанов
16.03.2012 14:26:49

Проект Julia можно рассматривать именно с исследовательской точки зрения. А уж сравнение, которое источник приводит, например, с R, не выдерживает критики. Ибо в R главное не собственно синтаксис, удобство, графические возможности и т.д., а богатейшая библиотека прикладных алгоритмов. Словом, это не новость, а так себе, а вот это - новость про R и СПО (из рассылки Oracle от 15 марта):

Oracle R Enterprise Integrating Open Source R with Oracle Database 11g
http://www.oracle.com/technetwork/database/options/advanced-analytics/r-enterprise/index.html?msgid=3-6085552149

Евгений
24.03.2012 01:42:33

Хотите инноваций? У нас их есть =!
Сначала перешли на чистый икскуери вместо нечистого эскуэля. Получили возможность гибко и динамично менять структуру БД и прочие плюшки, включая полный стек XRX (XQuery+REST+XForms), но код все еще оставался изолирован от данных. И смена схемы последних приводит к рефакторингу кода в любом случае. В итоге родился язык Animo и среда для него Animotron. https://docs.google.com/document/d/1DrlUT30L1qeRcyjTxGi3Zu5IPUpI4ia3Uu7YHoDYMGE/­edit

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

Интересно

Статьи

Технологии, которые готовятся проникнуть на предприятия. Часть III
Мы продолжаем рассказ о развивающихся технологиях, «дозревших» к адаптации на предприятии …

Технологии, которые готовятся проникнуть на предприятия. Часть II
Мы продолжаем рассказ о развивающихся технологиях, «дозревших» к адаптации на предприятии …

Технологии, которые готовятся проникнуть на предприятия. Часть I
Долгие годы связь между рынками корпоративных и потребительских ИТ не прослеживалась, но десять лет …

Разработана технология производства флэш-памяти на бумаге
Простота интеграции в архитектуры массивов NAND и NOR обеспечила транзисторной флэш-технологии доминирующие …

Taco обрабатывает большие данные в 100 раз быстрее
Ученые из Массачусетского технологического института разработали программный алгоритм под названием Taco, который …

Решения

Сборник статей «Как определить ценность Интернета вещей для бизнеса»
Internet of Things — тренд, который уже сейчас кардинально меняет бизнес во всем мире. И хотя некоторые до сих пор с …

Сервис — это наше «все» в прошлом, настоящем и будущем!
Сервисные центры ГК «Паладин» осуществляют различные виды обслуживания вычислительной техники Hewlett-Packard …

HP SM соединяет лучшие практики с жизнью
Множественный опыт российских и зарубежных компаний показали, что ПО для управления ИТ-услугами помогает упростить …

Администрация Стрежевого подключает к корпоративному документальному серверу eDocLib муниципальные учреждения
Единая информационная система Администрации городского округа Стрежевой (Томская область), базой для которой стали …

Распределительная теплосетевая компания «ОмскРТС» внедрила СЭД «ДЕЛО» в первый месяц своей хозяйственной деятельности
«Территориальная генерирующая компания № 11» (ОАО «ТГК-11»), одна из крупнейших теплоэнергетических бизнес-структур в …

Блог

ИТ как средство повышения эффективности российского судостроения
Так получилось, что менее года назад у меня состоялось два интервью с ИТ-руководителями из города Ры ...

Продолжение разговора о российских ОС по следам OSDAY'2017
На конференции ОSDAY, которая прошла в конце мая в Москве, я общался с ее участниками, встретился с ...

Обфускация: настало время запутывать программный код
Сколько занимался программирование, занимался изучением соответствующих наук и пытался внести посиль ...

IBM делает еще один важный шаг к квантовым вычислениям
16-ти кубитовый квантовый компьютер теперь доступен в качестве сервиса облачной платоформы IBM Cloud ...

Что мешает использованию в бизнес-аналитике внешних данных?
Издавна для бизнес-анализа компании использовали, в основном, данные, накопленные ими самими в ходе ...

 

Лидеры читательского рейтинга

Статьи

Записи в блогах

Панорама

Новое поколение Secure Web Gateway от Symantec и почему архитектура прокси является наиболее эффективной для веб-защиты
и почему архитектура прокси является наиболее эффективной для веб-защиты Интернет является современным центром …
Десятилетний юбилей APC в составе Schneider Electric: конвергенция технологий
Основанная в 1981 г. компания АРС с самого начала своей истории активно развивала направления …
ASUS ZenFone 4 Selfie Pro (ZD552KL): снимаются все!
Селфи-снимки стали неотъемлемой частью современной культуры. И потому покупатели, задумываясь о приобретении …
Ритейл: как повысить продажи с помощью современных ИТ-решений?
Всё начиналось с крайне простых по сегодняшним меркам вещей. Сначала интернет …
“Мы не продаем системы хранения данных, мы продаем опыт”
Рынок систем хранения данных на флэш-памяти быстро растет и переживает революционные времена. Одноуровневую …

Интересно

 

Создание сайта - студия iMake
© 2017 АО «СК ПРЕСС».
Информация об авторских правах и порядке использования материалов сайта.
Правила поведения на сайте.

На главную PC Week/RE  |  Об издании  |  Архив номеров  |  Подписка на бумажную версию
Другие проекты «СК ПРЕСС»ITRNБестселлеры IT-рынкаByte/РоссияCRN/REIntelligent Enterprise/REPC Magazine/RE.