Как помочь редакции делать еще больше полезного контента?
Support us

Новый протокол от Microsoft «позволит разработчикам программировать на любом языке»

Оставить комментарий
Новый протокол от Microsoft «позволит разработчикам программировать на любом языке»

Компании Microsoft, Codenvy и Red Hat объявили на днях о выпуске в релиз проекта языкового протокола с открытым исходным кодом Language Server Protocol, целью которого является универсальная интеграция языков программирования в различные редакторы кода и интегрированные среды разработки, пишет eWeek.

Читать далее

Компании анонсировали новый протокол на открытии пленарной сессии конференции DevNation 2016 в Сан-Франциско. Отправной точкой Language Server Protocol стал проект IDE-платформы Eclipse Che, представленный ранее в этом году на конференции EclipseCon.

«Лекарство» от «головной боли» программистов

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

«Так исторически сложилось, что большинство языков программирования были оптимизированы только под какой-то один инструмент разработки, — констатировал Тайлер Джуэлл, генеральный директор Codenvy и руководитель проекта Eclipse Che. — Это мешает разработчикам пользоваться хорошо знакомыми и любимыми редакторами, а создателям самих языков — сделать свой язык популярным среди широкой публики. Благодаря единому протоколу, поддерживаемому компаниями Microsoft, Red Hat и Codenvy, разработчики смогут получить доступ к логическому функционалу любого языка при помощи предпочитаемых ими программных средств».

Как пояснил Джуэлл, на протяжении последнего десятилетия «головной болью» программистов при работе с инструментами разработки была необходимость выбирать для работы определенный язык и довольствоваться доступным для этого языка инструментарием, так как возможности таких инструментариев всегда привязаны к проприетарным API и компонентам, которые могут меняться в зависимости от конкретного языка.

«Так что для переключения на другой язык программирования, как правило, приходилось менять и IDE, — говорит он. — А если программисту понравилась определенная IDE, то в ней довольно непросто обеспечить поддержку сразу нескольких языков».

Между тем с внедрением нового протокола Language Server Protocol в любой IDE можно будет работать с каким угодно языком программирования, а создатели языков смогут писать их так, как считают нужным.

Джуэлл сообщил, что Language Server Protocol — это открытый проект, описывающий протокол обмена данными для языковых серверов в формате JSON. Проект размещён на GitHub и доступен по лицензиям Creative Commons и MIT. Благодаря обеспечению операционной совместимости между редакторами кода и языковыми серверами протокол позволяет разработчикам пользоваться вспомогательными средствами, облегчающими процесс разработки (поиск по символам, синтаксический анализ, автозаполнение кода, переход к месту объявления функции/класса, иерархическое структурирование кода и рефакторинг), внутри выбранных ими редакторов и IDE, уточняет он.

Плодотворное сотрудничество, или Кто за что отвечает

По словам Джуэлла, первую пару инструментов, поддерживающих такой функционал, составили Eclipse Che (новейшая среда разработки под Eclipse) и Visual Studio Code от Microsoft. Codenvy отвечает за поддержку этих возможностей в Eclipse Che, а Microsoft поставила перед инженерами задачу обеспечить соответствие протоколу в среде VS Code.

«Коллектив проекта Eclipse Che и компания Red Hat также заявили о намерении принять действующий в Visual Studio Code протокол Language Server Protocol — открытый протокол, добавляющий некоторые расширенные возможности редактирования к VS Code, — пишет в блоге компании Джозеф Сирош, корпоративный вице-президент подразделения Data Group компании Microsoft. — Это признак того, что открытое ПО, разрабатываемое командой VS Code, берут на вооружение создатели программных сред и языков, в результате чего у разработчиков появляется возможность комбинировать предпочитаемый ими язык с любимым рабочим инструментарием».

«Мы сформулировали единый протокол языковых серверов после того, как интегрировали в VS Code серверы программного пакета OmniSharp для C# и языка TypeScript, — сообщил в своем заявлении Эрих Гамма, заслуженный инженер Microsoft (внутреннее почётное звание) и руководитель проекта Visual Studio Code. — После двукратной интеграции языковых серверов стало ясно, что единый языковой протокол станет обоюдовыгодным решением как для разработчиков инструментов для кодирования, так и для создателей языков: ведь таким образом любой автор языка сможет добиться поддержки своего языка в нужных инструментах, при этом разработчикам этих инструментов будет несложно добавить ее в свои продукты».

Используя Language Server Protocol, поставщики языков программирования смогут обеспечить поддержку множества инструментов под различными операционными системами. В рамках проекта был составлен глобальный реестр языковых серверов, созданный компанией Codenvy в качестве проекта Eclipse и размещённый на серверах Eclipse Foundation, чтобы разработчики инструментария для создания кода могли узнать об интересующем их языковом сервере и при желании применить его у себя, рассказал Джуэлл.

«Что касается наших трёх организаций — Red Hat, Codenvy и Microsoft, — все мы занимались развитием нескольких языков программирования и привлекали целый ряд создателей языков программирования к сотрудничеству, — поделился он. — На данный момент в проекте задействованы девять языков. Red Hat занимается интеграцией языка Java; Microsoft — TypeScript, C и C++; Codenvy в числе прочих компаний работает над xText, XML, JSON и другими языками. Мы уже обеспечили совместимость большинства популярных языков, и не за горами тот день, когда мы включим в проект и все остальные».

И в самом деле, в настоящее время доступны языковые серверы для таких языков как JSON, C++ и Powershell — они поддерживаются в среде VS Code и её расширениях. А во втором полугодии к этому протоколу приобщатся и другие языковые серверы: над сервером для языка C# работают в рамках проекта OmniSharp, серверы для языков xText и R создает компания Typefox, для JavaFX — Ensime, а для CSS — Microsoft. Компания Red Hat открыла код проекта, призванного создать первый автономный сервер языка Java. Этот проект предлагается безвозмездно передать организации Eclipse Foundation, пояснил Джуэлл.

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

Всё упирается в выбор разработчиков

«Мы усматриваем в этом огромные возможности для улучшения процесса разработки ПО, особенно в облаке, и мы чётко настроены на то, чтобы донести эти нововведения до наших клиентов в наиболее удобоваримом для них виде, — сделал заявление Гарри Моуэр, главный директор по программам для разработчиков в Red Hat. — Выбор разработчиков — наш ключевой приоритет, а операционная совместимость языков и средств программирования является важной частью стратегии поддержки разработчиков, декларируемой Red Hat».

И правда, всё упирается в выбор разработчиков. В 2014 году Microsoft решила предпринять ряд мер для того, чтобы разработчики смогли использовать .NET Framework и сопутствующие инструменты при создании приложений на любом языке и на какой угодно платформе. Позже софтверный гигант выразил готовность ещё больше развязать руки программистам и предоставить им больше выбора, начав в марте сотрудничество с Eclipse Foundation и объявив о своём участии в проекте Eclipse Che.

Как новый протокол упростит жизнь разработчикам

«Новый протокол языковых серверов, планируемый компаниями Microsoft, Red Hat и Codenvy, должен значительно упростить жизнь самым разным программистам и участникам проектов по разработке ПО», — считает Чарльз Кинг, главный аналитик фирмы Pund-IT.

«По существу, вместо того, чтобы навязывать средства редактирования кода, требуемые определёнными языками программирования, новый протокол языковых серверов со временем позволит разработчикам пользоваться знакомыми, полюбившимися им редакторами для работы практически над любым проектом, — продолжает Кинг. — Это позволит обойтись без лишнего обучения, сократить время реализации проекта и улучшить процесс взаимодействия с разработчиком — все это привлекательные цели, как ни крути».

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

«Мы начинаем процесс избавления разработчиков от трудностей, связанных с программированием на разных языках, чтобы те смогли вплотную заняться написанием кода на том языке, на котором они хотят», — подытожил Джуэлл.

Помогите нам делать больше полезного контента — поддержите редакцию.

Все способы поддержки

Читайте также
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
Sony не может договориться с Microsoft о продлении выпуска Call of Duty на PlayStation
Sony не может договориться с Microsoft о продлении выпуска Call of Duty на PlayStation
Sony не может договориться с Microsoft о продлении выпуска Call of Duty на PlayStation
1 комментарий
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.