Swift 程式語言首席架構師 Chris Lattner 簡介
Chris Lattner(1978年出生)是 LLVM 專案的主要發起人與作者之一,Clang 編譯器的作者。他現在是蘋果公司『開發者工具』部門的主管,領導 Xcode、Instruments 和 編譯器團隊,從 2010 年 7 月開始主導開發 Swift 程式語言。本文編譯自 Chris Lattner 的個人主頁(最新一次更新就在昨日)。
Chris Lattner
我是 LLVM 編譯器的原作者和主要架構師,LLVM 編譯器是一個雄心勃勃的專案,其目的是要建一個可重用的編譯器元件系統,可用於構建各種工具,包括編譯器、偵錯程式、JIT系統、優化器、靜態分析系統等等。LLVM 常用作 C 和 C++ 的優化器,能生成用於多種不同架構的機器碼。Clang 專案(也是我發起的)目前是業內領先的 C、Objective-C 和 C++ 編譯器,廣泛用於學術界和業界。在語言支援和其他特性方面,LLDB 偵錯程式(LLDB Debugger)開創了先河。LLVM 正在多方面擴充套件和改進,以支援新優化、新目標、新領域和新特性。因在 LLVM 方面的工作,我贏得了兩項 ACM 獎項。
譯註:蘋果公司是LLVM計劃的主要資助者。早年蘋果一直使用GCC作為官方的編譯器,但Apple對GCC的效能不滿意,再者Objective-C在GCC中優先順序低,GCC對Objective-C語言新特性的支援程度也不高。因此蘋果一直在尋找compiler的開源替代品,於是他們將目光轉移到LLVM身上。2005年,蘋果直接僱用了克里斯·拉特納及他的團隊,為了蘋果計算機開發應用程式系統。(摘自維基百科)
2005年加入蘋果公司後,我有過多個不同崗位,包括工程師、一線經理、二級經理。這些年來,我一直通過蘋果生態系統中推動 LLVM 技術,取代 GCC 作為系統編譯器,讓 LLDB 更真實,推動和內部硬體團隊的行動。我目前是『開發者工具』部門的主管,領導 Xcode、Instruments 和 編譯器團隊。
我從 2010 年 7 月開始著手 Swift 程式語言的工作。我實現該語言的大部分基礎架構,僅有幾個人知道這個專案的存在。2011年末有幾位優秀同事開始參與,2013年7月,Swift 專案成為蘋果開發者工具部門的主要焦點。
Swift 語言是團隊不懈努力的產品,團隊成員包括語言專家、文件大拿、編譯器優化大牛,還有一個內部非常重要的 dogfooding 團隊,他們提供了改進產品的反饋和測試點子。當然,Swift 也從從其程式語言的來之不易的經驗中獲益良多,這些語言包括 Objective-C、Rust、Haskell、Ruby、Python、C#、CLU……這裡就不一一列出了。
譯註:『dogfooding 』就是『Eating your own dog food』俚語的縮寫。常用於描述公司(尤指軟體公司)使用自己生產的產品這一情況。在IT業界這句俚語可能最早是於1988年開始使用的。當時微軟公司的高階主管保羅·馬瑞茲曾寫過一封題為“Eating our own Dogfood”(吃我們自家的狗糧)的郵件,在郵件中他向微軟區域網管理工具專案的測試主管布萊恩·瓦倫蒂尼提出“提高內部使用自家產品比重”的挑戰。而從此以後,這一俚語在公司內就傳播開來了。(摘自維基百科)
Xcode Playgrounds 特性和 REPL 是我的個人熱情,為讓程式設計更有互動性和平易近人。Xcode 和 LLDB 團隊已經完成把瘋狂想法轉變真實東西的異常工作。Playgrounds 深受 Bret Victor 思想、Light Table 和其他很多互動系統的影響。我希望讓程式設計更加平易近人和有趣,我們將呼籲下一代程式設計師,幫助重新定義電腦科學教學。
【補充】:
① Chris 在 WWDC 2014 上演示 Swift 和 Playgrounds:
“I can build anything with Swift… from a social media application, all the way up to a high-performance, 3D game using Metal.” https://www.youtube.com/watch?v=nKMAV6owYh4#t=6436
② 他還參與《The Architecture of Open Source Applications》一書 LLVM 章節的編寫。
原文連結: Chris Lattner 翻譯: 伯樂線上 - 黃利民
相關文章
- Chris Lattner:Swift 程式語言首席架構師Swift架構
- 蘋果的新程式語言 Swift 簡介蘋果Swift
- 對話首席架構師 | 北京架構師大會活動報名架構
- 程式設計師眼中的蘋果Swift語言:簡單 易學 高效程式設計師蘋果Swift
- 分散式事務有自己的架構語言嗎?TLA +簡介分散式架構
- Java程式語言特點簡介Java
- groovy 程式語言簡單介紹
- 對話首席架構師 | 北京架構師大會12月活動報名架構
- 李道兵:輟學的首席架構師架構
- 微博首席架構師楊衛華:新浪微博技術架構分析架構
- 新浪微博技術架構分析-微博首席架構師楊衛華架構
- 淺談Swift程式語言Swift
- python之程式語言(簡介)01Python
- 函數語言程式設計簡介函數程式設計
- 一、程式語言簡介與C++C++
- Lisp語言簡介Lisp
- Sentry 監控 - Snuba 資料中臺架構(SnQL 查詢語言簡介)架構
- ELK架構簡介架構
- 程式設計師下一門要學的程式語言Swift程式設計師Swift
- 專訪豆瓣網首席架構師洪強寧:Python,簡單的力量架構Python
- 認真學好一門程式語言你才能成為架構師架構
- 用JavaScript實現一門程式語言 2 (λanguage語言簡介)JavaScript
- Swift 程式語言入門教程Swift
- 大劉跌倒,老田吃飽——首席架構師之爭架構
- CTO、技術總監、首席架構師的區別架構
- 8 語言模型簡介模型
- 專訪豆瓣網首席架構師洪強寧:Python,簡單的力量薦架構Python
- Go 語言簡介(上)— 語法Go
- 軟體架構簡介架構
- 微服務架構簡介微服務架構
- Flume(一):簡介架構架構
- 誰說設計師不會寫程式碼?—Photoshop指令碼語言簡介指令碼
- Go 語言的網路程式設計簡介Go程式設計
- 由Swift程式語言說開去Swift
- 微博平臺架構和安全——微博平臺首席架構師楊衛華演講架構
- C語言-1.簡介C語言
- 四種JavaEE架構簡介Java架構
- 微服務架構模式簡介微服務架構模式