Кристофер Артур Латтнер (родился в 1978 году) — американский учёный-компьютерщик и создатель LLVM , компилятора Clang , языка программирования Swift и инфраструктуры компилятора MLIR . [1]
После получения докторской степени в области компьютерных наук Латтнер проработал в Apple 12 лет, в конечном итоге возглавив команду Developer Tools. В период с 2017 по 2022 год Латтнер занимал различные должности в Tesla , Google [2] и SiFive . [3] В настоящее время он является соучредителем и генеральным директором Modular AI, компании, создающей платформу для разработчиков искусственного интеллекта . [4]
Латтнер изучал информатику в Университете Портленда , получив степень бакалавра наук в 2000 году. В Орегоне он работал разработчиком операционных систем , улучшая DYNIX/ptx компании Sequent Computer Systems . [5] [6]
В конце 2000 года Латтнер присоединился к Иллинойсскому университету в Урбане-Шампейне в качестве научного сотрудника и студента магистратуры. Работая с Викрамом Адве , он разработал и начал внедрять LLVM , инновационную инфраструктуру для оптимизации компиляторов , которая была предметом его магистерской диссертации 2002 года. [7] В своей докторской диссертации, завершенной в 2005 году также с Викрамом Адве, Латтнер использовал LLVM для исследования оптимизации программ с интенсивным использованием указателей . [8] [9]
В Apple Латтнер в первую очередь отвечал за создание новой инфраструктуры компилятора на основе LLVM и создание языка программирования Swift для создания приложений на платформах Apple. Латтнер занимал должность старшего директора и архитектора в отделе инструментов разработчика с января 2013 года по январь 2017 года, возглавляя команды Xcode , Instruments и компилятора. [10] [5] [11] [12]
В 2005 году Apple Inc. наняла Латтнера для начала работы по доведению LLVM до уровня производственного качества для использования в продуктах Apple. Со временем Латтнер разработал технологию, лично реализовав множество новых важных функций в LLVM, сформировал и построил команду разработчиков LLVM в Apple, начал проект Clang , взял на себя ответственность за развитие Objective-C (внося вклад в функцию языка блоков и продвигая функции ARC и литералов Objective-C), а также взращивал сообщество с открытым исходным кодом (руководя им через множество релизов с открытым исходным кодом). Apple впервые представила технологию на основе LLVM в стеке OpenGL 10.5 (и 10.4.8) в качестве компилятора just-in-time (JIT) , выпустила компилятор llvm-gcc в интегрированной среде разработки (IDE) Xcode 3.1, Clang 1.0 в Xcode 3.2, Clang 2.0 (с поддержкой C++) в Xcode 4.0, а также технологию LLDB, libc++, ассемблеров и дизассемблерных программ в более поздних выпусках. [13]
Работа Латтнера включала проектирование, реализацию и пропаганду компиляторов LLVM и Clang , создание и управление отладчиком LLDB , а также контроль разработки низкоуровневого набора инструментов . По состоянию на 2016 год технологии LLVM являются ядром инструментов разработчика Apple и набором инструментов по умолчанию в FreeBSD . [14]
В июне 2010 года Ассоциация вычислительной техники (ACM) Специальная группа по языкам программирования ( SIGPLAN ) вручила Латтнеру свою первую премию ACM SIGPLAN Programming Languages Software Award «за его проектирование и разработку низкоуровневой виртуальной машины», отметив, что профессор Адве заявил: «Талант Латтнера как архитектора компиляторов, а также его навыки программирования, техническое видение и лидерские качества имели решающее значение для успеха LLVM». [15]
В апреле 2013 года ACM наградила Латтнера премией Software System Award [ 16] , которая вручается любому человеку, «получившему признание за разработку программной системы, которая оказала длительное влияние, выразившееся в вкладе в концепции, в коммерческом принятии или в том и другом». [10]
Латтнер начал разрабатывать язык программирования Swift в 2010 году, в конечном итоге сотрудничая со многими другими программистами. [17]
2 июня 2014 года приложение WWDC стало первым публично выпущенным приложением, использующим Swift. [18]
Swift — язык программирования с открытым исходным кодом [19] [20] с первоклассными функциями для разработки под iOS и macOS , созданный Apple и представленный на конференции разработчиков Apple Worldwide Developers Conference (WWDC) 2014. [21]
Swift разработан для сосуществования [22] с Objective-C , объектно-ориентированным языком программирования, ранее предпочитаемым Apple, и для большей устойчивости к ошибочному коду. Он построен с помощью компилятора LLVM , включенного в Xcode 6. [23]
Латтнер объявил, что роль руководителя проекта перешла к Теду Кременеку, и что Латтнер покинет Apple в январе 2017 года. [24]
В Tesla Латтнер занимал должность вице-президента по программному обеспечению автопилота с 30 января по 20 июня 2017 года, где он работал над переходом на аппаратное обеспечение автопилота. [25] [26]
С августа 2017 года по январь 2020 года Латтнер занимал должность старшего директора и выдающегося инженера по инфраструктуре и технологиям TensorFlow в Google . [27]
Работая в Google, Латтнер был соучредителем инфраструктуры компилятора MLIR [1], компилятора, который направлен на решение проблемы фрагментации программного обеспечения, улучшение компиляции для гетерогенного оборудования, значительное снижение стоимости создания доменно-специфичных компиляторов и помощь в объединении существующих компиляторов вместе. [28] [29]
Латтнер присоединился к SiFive в январе 2020 года в качестве президента по проектированию платформ [30] [31], возглавив подразделения по продуктам и проектированию RISC-V (все, кроме кадров, финансов, продаж и поддержки клиентов). [32] [33]
В 2022 году Крис Латтнер вместе со своими соучредителями основал Modular AI, компанию, которая создает платформу для разработчиков искусственного интеллекта (ИИ). Их первыми продуктами стали язык программирования Mojo и механизм вывода . [4] Латтнер является нынешним генеральным директором Modular AI.
Латтнер женат на Тане Латтнер, которая в 2015 году стала соучредителем LLVM Foundation и с тех пор является его президентом и главным операционным директором . [34] [35]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )CS1 maint: числовые имена: список авторов ( ссылка )