Блог

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

Сергей Бобровский
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

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

Интересно

Статьи

Пять способов заставить анализ данных работать на вашу компанию
От «запусков на Луну» до инноваций на переднем крае. Ниже один из ведущих директоров …

На пути к голосовому управлению в офисе будущего
По фильму «Космическая Одиссея», который вышел на экран в 1968 г., голосовое управление должно было …

Нужно ли российским компаниям управлять производственными активами?
С этого, казалось бы, риторического вопроса с очевидным ответом «Да, конечно! А как же иначе!» …

Цена знания
Экономика знаний как цель развития цифровой экономики. Такой была тема очередного заседания Комитета …

ИТ в ЦУМе: акцент на мобильность и аналитику
Центральный универсальный магазин на углу Петровки и Театральной площади в Москве, более известный под …

Мы в социальных сетях

PC Week/RE в Facebook PC Week/RE в Контакте PC Week/RE в Google+ PC Week/RE в Одноклассниках PC Week/RE в Twitter

Решения

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

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

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

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

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

Блог

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

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

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

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

Китай строит собственный квантовый компьютер
Китай, являясь суперкомпьютерным лидером мира (именно в этой стране действует самых быстрый в мире н ...

 

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

Статьи

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

Панорама

Новая услуга Техносерв Cloud — облачное хранилище данных
Компания “Техносерв” запустила новую услугу на базе собственной облачной платформы Техносерв Cloud — “Облачное хранилище данных”.
Цифровые рабочие области придут на смену модели клиент-сервер
В наступившей эпохе мобильности и облаков речь идет не только о своевременном предоставлении приложений, но также об упрощении процессов, ускоряющих выполнение рабочих задач.
АО “Транснефть — Прикамье”: опыт создания электронных хранилищ документов
Полноценная реализация процессного подхода к управлению бизнесом возможна только на прочном фундаменте …
Компания “Терн” расширяет горизонты бизнес-анализа
Прошедшая в Москве Ежегодная конференция одного из лидеров отечественного рынка BI — компании «Терн» …
4 способа повышения рентабельности инвестиций (ROI) при использовании не только решения ERP по планированию ресурсов предприятия, но и системы управления складами WMS
Основная задача складского хозяйства — идеальное выполнение заказов. Модуль складского учета, входящий в состав решения по планированию ресурсов предприятия (ERP), решает эту задачу в условиях очень малых и малых складов.

Интересно

 

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

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