Re: [請益] 請教推薦軟體開發的書
看到這篇讓我想到...
演講:窮得只剩下 Compiler -- 淺談編譯技術的革命
中文議程名稱: 窮得只剩下 Compiler -- 淺談編譯技術的革命
英文議程名稱:What Compilers do for us -- Introduction to Evolution of
Compiler Technologies
議程簡介:
誠如易經所謂的窮則變、變則通、通則久,我們可見 compiler 技術的影響無所不在,無
論是程式語言範疇、Web 應用程式,甚至是 OpenGL/3D,都潛藏著與 compiler 密不可分
的關聯。乍看很難想像其關聯性,但回頭看看 JSP/Servlet 的運作,或者 OpenGL ARB
的 GLSL,或者當紅炸子雞 Google Android 平台的關鍵技術 Dalvik VM,不難理解編譯
技術實在是解決工程問題所需的背景。
隨著開放源碼的蓬勃發展,Compiler 相關的技術也獲得空前的成功,且當今的運算型態
已變得多元,無論是虛擬化技術、VM、JIT (Just-In-Time) compiler,或者 Binary
translator 等等,都是吾人耳熟能詳且為建構當今資訊建設的基礎技術。希望藉由這次
的機會,分享過去幾年的開發經驗,希望能和與會的朋友們一同成長。
議程大綱:
隱藏在我們周遭的 Compiler 技術
回首 Compiler 已遠:從 A0 到 LLVM
透過 LLVM 建構虛擬機器
技術大融通與未來展望
本議程不直接談許多人印象中艱澀的 (dynamic) Compiler 技術,而是從整個廣泛應用的
資訊技術中,點明「到處都是 Compiler」的現實。這樣的案例多如牛毛,比方說,現在
Web 2.0 與 Mobile Web Browser 正火熱,為了要能改善 Web 應用程式的效能,
Google 與 Apple 兩家公司的工程團隊,各自推出 V8 與 SquirrelFish Extreme 等
Just-In-Time compiler for JavaScript,而 Mozilla Foundation 更是將高速的
JavaScript 引擎當作 Mozilla 2 的重要賣點,強大的自由軟體開發者 [Jim Blandy]
甚至離開專業 GNU Toolchain 開發公司 CodeSourcery,加入 Mozilla Corporation,就
為了致力開發 [ActionMonkey] (整合 Mozilla 原有 SpiderMonkey 與 Adobe 貢獻的
Tamarin)。自此,這個在瀏覽器平台的戰役,從桌面系統延續到手機,又將從手機移轉
到各種不同的資訊裝置上。
但撇開 JavaScript 執行引擎不論,實際上,連 Firefox/Mozilla 底層的向量繪圖函式
庫 [Cairo],也透過 JIT compiler 技術,去提昇整體繪圖的效能與使用者體驗。日前,
Dan Amelang 揭露他的開發成果,可參見郵件論壇的訊息 [JIT for pixman]。[pixman]
是提供給 X 與 Cairo 使用的 pixel-manipulation 函式庫,顧名思義,就是處理
image compositing 與 trapezoid rasterization 等操作,而在 Dan Amelang 的論文
[Jitblt: Efficient Run-time Code Generation for Digital Compositing] 給予令人
振奮的突破,無疑是個極佳的突破點,我們也可預見 (dynamic) compiler 技術在更多資
訊領域的廣泛應用。
所以,當編譯器技術走入新的層次時,就需要更強大且多元的 Toolkit,而我們選定
[LLVM] (Low Level Virtual Machine),當我們已知曉整個典範移轉 (paradigm
shift) 的衝擊,就思考 LLVM 這樣的嶄新架構能給予我們哪些突破限制的可能性。當我
們「窮得只剩下 Compiler」之際,該如何才能達到
王陽明牧師在《窮得只剩下錢》一書
提到的話:
「人生兩條路:『生活的幸福』不等於 『生命的幸福』,
兩樣幸福我們都需要」
不知道什麼是我們Android APK軟體開發工程師的幸福 ~.~
※ 引述《diousk (~Sharek~)》之銘言:
: ※ [本文轉錄自 Android 看板 #1CkFte9j ]
: 作者: diousk (~Sharek~) 看板: Android
: 標題: [請益] 請教推薦軟體開發的書
: 時間: Sat Oct 16 09:20:38 2010
: 最近找有關於android apk上層利用JNI呼叫底下C函式的範例
: 不過網路上找到的資源似乎是做一些加加減減的功能...
: 想了解比較進階利用JNI的控制方式 ( ex:system() )
: 不知道大家有沒有比較推薦的書or網站呢?
: p.s.高煥堂的第二本書Google Android 應用軟體架構設計
: 似乎有提到這方面的東西,大家覺得如何呢
天龍可以買來翻翻看
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.219.15.247
討論串 (同標題文章)