R и Python объединяют свои усилия в самом амбициозном событии года для программистов
Хэдли Уикхем - самый важный разработчик в программировании языка R. Уэс МакКинни является одним из самых важных разработчиков в программировании языка Python. Эти два языка, которые являются открытыми для использования, часто воспринимаются в качестве конкурирующих в мире науки о данных. Уикхем и МакКинни не считают, что необходимо соперничать. На самом деле, они думают, что, работая вместе, они могут сделать языки друг друга более полезными для миллионов своих пользователей.
В прошлом месяце МакКинни объявил о создании исследовательской группы Ursa Labs, призванной улучшить инструменты для научных исследований. McKinney будет сотрудничать с работодателем RStudio-Wickham, который поддерживает самый популярный пользовательский интерфейс для R-проекта. Основные цели Ursa Labs - облегчить взаимодействие ученых по данным, работающих на разных языках программирования, и избежать избыточной работы разработчиков с разными языками. Помимо улучшения R и Python, группа надеется, что ее работа также улучшит работу пользователей на других языках программирования с открытым исходным кодом, таких как Java и Julia.
R и Python являются важными инструментами для ученых по данным, работающих на таких технических платформах, как Google и Facebook, исследователи, научных работников исследователи и журналистов данных (Quartz плотно использует оба языка). Общей проблемой для кодировщиков является то, что с коллегами, использующими один из других языков, сложно сотрудничать. Ursa Labs попытается сделать обмен данными и кодом с кем-то, кто использует другой язык, проще, создав новые стандарты, которые работают во всех этих языках. Разработчики называют это улучшением «интероперабельности». Уикхем и МакКинни уже поработали вместе, чтобы создать формат файла, который можно использовать как в Python, так и в R.
Помимо облегчения совместной работы Wickham и McKinney говорят Кварцу, что ключевая мотивация проекта заключалась в том, что разработчики на каждом языке решают одни и те же проблемы, но не делятся друг с другом тем, что они нашли.
Например, Уикхем объясняет, что на каждом языке люди должны иметь возможность вычислять средние значения. Это простой процесс для пользователей, включающий одну строку кода в R или Python. Но для разработчиков языков сложной задачей является определение наилучшего способа выполнения этой одной строки кода. Разработчики в R и Python стремятся решить эту проблему на языках C ++ и C -языках, которые хороши для разработки, но сложны для среднего пользователя. В идеале Уикхем говорит, что если разработчик на одном языке определяет лучший способ сделать что-то, он должен применяться на всех других языках. Это главная миссия Ursa Labs.
Уикхем и МакКинни добавляют, что помимо решения технических проблем проект также служит попыткой наладить мир между кланами по программированию. Говорят, что чем больше людей используют эти языки, тем лучше для науки о данных в целом. «Надеюсь, это закончит бессмысленную вражду между R и Python, - говорит Уикхем. «Оба языка потрясающие».