#Java寫的字幕軟體
Explore tagged Tumblr posts
guangyaw · 5 years ago
Text
透過 ArcTime 字幕軟體幫影片上字幕
之前提到過語音轉字幕軟體-pyTranscriber,
但遇到影片沒有語音的話,
那就真的要自己手動加上,
今天就來介紹一個好用的工具:
透過 ArcTime 字幕軟體幫影片上字幕
ArcTime是使用Java寫的字幕軟體,
強調字幕新增是以視覺化方式編輯,
可點此前往官方網站下載頁面
安裝完畢之後打開程式,
將影片以滑鼠拖拉方式將其放置到編輯區,
右側放上要打上的字幕,
Tumblr media
接著在中間的工具按鈕中,
點選快速拖拉工具,
它會幫助使用者逐行以拖拉的方式新增字幕,
Tumblr media
使用方法也很簡單,
將滑鼠移動到要新增字幕的時間點按下滑鼠左鍵不放,
移動到要結束的時間點後再放開滑鼠左鍵,
Tumblr media
新增以後系統會自動��到下一行字幕,
再以同樣方式拖拉到正確位置即可,
View On WordPress
0 notes
gozealouscloudcollection · 6 years ago
Text
Flash興衰史:當年它讓互聯網動起來 卻敗給喬布斯
Tumblr media
2008年6月9日,羅伯斯莫爾(Rob Small)正在英國倫敦看加州舉行的蘋果公司全球開發者大會直播。主題演講進行了大約一個小時後,蘋果創始人史蒂夫·喬布斯(Steve Jobs)回到了台上,看上去對自己特別滿意。
“當我們迎來iPhone的第一個生日時,我們把它提升到了一個新的高度,今天我們推出iPhone 3G!”喬布斯喊道,台下觀眾歡呼起來。
輝煌
早在2001年,也就是斯莫爾20歲出頭的時候,他就發現了一個被文化產業傳統玩家所忽視的機會,也就是如何把播放時間較短的強制性娛樂節目推向大眾。當時他還不知道這種娛樂活動將採取何種形式,於是就創立了一家公司,公司的名字就源於這種信念:Miniclip。
斯莫爾和聯合創始人逖翰·普萊斯比(Tihan Presbie)開始尋找合適平台來實現這個目標。他們很快就發現了一款動畫軟件,只需要下載一個小播放器,就可以在任何瀏覽器或者通過任何互聯網連接顯示交互式多媒體內容。 1996年,網絡開發公司Macromedia購買了這款軟件,並將其重新命名為Flash。
Miniclip的成功立竿見影。公司開發出了一款名為《跳動的布什》(Dancing Bush)的互動動畫,用戶可以讓畫面中的布什隨迪斯科舞動身軀。最初Miniclip只通過電子郵件向40個人發送了這款遊戲,後來卻成為世界上最早的病毒式遊戲之一。到2002年,該公司已經成長為網絡上最大的Flash遊戲發行商,並在接下來的四年裡獨占鰲頭。 2006年,迪斯尼以5億美元的價格收購了Miniclip旗下的遊戲開發商Club Penguin。用斯莫爾的話說,Club Penguin只是“幾隻企鵝在Falsh中搖搖擺擺地走來走去”。在頂峰時期,Miniclip每月能夠吸引7500萬用戶。
就在迪斯尼收購的同一年,Adobe為Flash誕生十週年寫了一篇新聞稿。就在幾個月前,該公司為收購該軟件支付了30億美元,而新聞稿旨在強調Flash在網絡上的絕對統治地位。 Adobe誇口稱,Flash Player“安裝在近98%的聯網台式機上”。在《財富》100強企業中,約70%的企業在其網站上提供Flash內容。該軟件在“6500萬移動設備、消費電子產品、電視、媒體播放器、機頂盒、數字廣告牌、相機、益智玩具,甚至冰箱”上都可以使用。它為捷豹的XK4汽車提供了音頻、導航、氣候控制、電話和車輛設置的“單屏傳輸”等功能。2005年,谷歌三名前員工查德·赫爾利(Chad Hurley )、陳士駿和賈韋德·卡里姆(Jawed Karim)以該軟件為基礎開發了一個視頻網站。他們稱之為YouTube。
到2008年,Flash已經成為網絡視頻的標準格式。它將動畫、遊戲和多媒體設計滲透到網絡的方方面面。它為我們現在習以為常的在線內容創造文化注入了活力。但是當喬布斯在蘋果舞台上演講時,斯莫爾意識到iPhone 3G將會改變用戶訪問遊戲的方式。
此前,他曾探索過如何將Flash遊戲擴���到支持java語言的移動設備,但發現很難在手機上複製Flash體驗。應用商店讓斯莫爾感覺就像是一場革命。 “很明顯,這將是手機行業的一個突破時刻,”他回憶道。 “我們希望它能讓我們為玩家創造更豐富的體驗。”但iPhone並不支持Flash。
Tumblr media Tumblr media
誕生
Flash最初被稱為Future Splash Animator,誕生於另一個產品的失敗之中。其是由喬納森·蓋伊(Jonathan Gay)於1996年5月開發的。蓋伊在高中時曾看到他的家人與當地藝術家合作,在聖地亞哥山區建造了一座房���。受此啟發,蓋伊夢想成為一名能夠為自己所建造房子畫草圖的建築師。令他失望的是,大多數建築師從來不碰水泥攪拌機,他們只是設計建築,而不是建造它們。
蓋伊最終選擇“進入計算機領域”。編程似乎是設計和構造的結合。他創建了一個用Pascal編寫的圖形編輯器,並將其帶到了高中成果會。父親很快給蓋伊買了一台麥金塔電腦。在Mac用戶群中,蓋伊的父親向組織者查理·傑克遜(Charlie Jackson)吹噓兒子高超的編程技能,而傑克遜後來成為《連線》(Wired US)雜誌的早期投資者。蓋伊回憶道:“查理想要開一家軟件公司,但當時並沒有錢,然後他說:'噢,只是一個高中生,在軟件開發完成之前他不需要得到報酬。'”“所以我開始研究這個昂貴的、價值1萬美元的開發系統,並編寫遊戲軟件。”
1993年1月,蓋伊說服傑克遜和另一位前同事米歇爾·沃爾什(Michelle Walsh)和他一起成立了一家新公司FutureWave Software。蓋伊當時堅信用手寫筆和平板電腦與台式機進行互動將會大出風頭,但最終並沒有成功。他們為繪圖工具SmartSketch設計的系統失敗了。 SmartSketch最終被移植到微軟Windows和麥金塔平台上,並被打包銷售。
1995年夏天,蓋伊參加了計算機圖形學年度會議SIGGRAPH去展示SmartSketch。他感到很丟臉,因為一套也沒有賣出去。然而,那些到蓋伊展台前試用SmartSketch的人們都在告訴他:他應該把它變成動畫產品。
儘管蓋伊此前曾考慮過這條路,但他認為動畫市場太小:發行渠道僅限於錄像帶和CD,因此製作動畫的唯一機構是大型工作室。但是後來他聽說了叫做互聯網的新東西。蓋伊在2006年的一份備忘錄中回憶道:“它似乎有可能變得足夠受歡迎,以至於人們願意通過網絡發送圖形和動畫。”該公司在原有軟件中增加了動畫功能,並將該軟件的名稱首先改為CelAnimator,然後改為FutureSplash Animator。這款產品最終於1996年5月發布,並作為“完整的網站圖形工具”銷售。
成功立即隨之而來。微軟需要一個能夠在其網站MSN.com上顯示視頻的軟件,這也是所有ie用戶的默認主頁。最終微軟選擇了Future Splash,讓其在網絡用戶中推廣開來。迪斯尼後來也採用該產品為自己的網站製作動畫。 1996年12月,Macromedia收購了FutureWave軟件,進一步提升了知名度,並將其作為一個免費的瀏覽器插件發布。由於名字太繞口,FutureSplash動畫器最終被改成了Macromedia Flash 1.0。
和大多數長期運行且定期更新的軟件一樣,Flash在其發展過程中也發生了巨大的變化。 《Flash:開發交互式Web》(Flash: Building the Interactive Web)一書的合著者安娜斯塔西婭·索爾特(Anastasia Salter)描述該軟件時表示:“我們很難把整個過程寫全。 ”從本質上將,Flash的核心吸引力在於其門檻很低。其簡單易用讓任何人都可以快速學習如何成為一名動畫師。
傳統的動畫製作耗時冗長,但亞當·菲利普斯(Adam Phillips)說:“我可以用這個小程序完成整個生產線的工作,基本上就像一個工作室。”他回憶說,一位動畫師同事在做一個三分鐘的試播演講時,紙甚至堆到了頭頂。然後,他還必須支付1萬美元將其數字化,這個過程歷時7個月。但在Flash中,完成類似的動畫可能只需要三天時間。
正如蓋伊想要的那樣,Flash本質上擁有可視效果。 “我們有這個簡單的基於框架的動畫模型,讓用戶完全可以從圖形和繪圖開始,然後逐漸添加和構建動畫效果,”蓋伊並不覺得Flash的成功是個意外。它實現了網絡世界渴望已久的三項功能。首先,人們普遍渴望創造出比GIF或HTML更豐富的內容:Flash為互聯網上的短格式視頻提供了一個平台。其次是Flash的通用性,它適用於不同的瀏覽器和設備。
第三,用蓋伊的話說,是Flash讓設計師能夠創建互動媒體,並將其傳遞給廣大觀眾。可以說,Flash將視覺藝術家帶到了網絡之上。早期Flash網站Halfempty.com的設計師馬蒂·斯佩爾伯格(Marty Spellerberg)表示:“你可以將視覺效果與編程行為結合起來,當你的動畫循環時,你的行為也會循環。” “它把這兩個想法聯繫在一起,我認為這是吸引很多視覺藝術家參與其中的一個重要因素。我們甚至不知道我們在編程,我們以為我們只是在學習Flash。”
Flash打入的網絡世界基本上是靜態的,GIF動圖提供了大部分的在線動畫。��Flash改變了這一切。它改變了網絡的表現形式,網站被賦予了生命。斯佩爾伯格說,“這有點像電影裡描繪的互聯網,對吧?”當你在流行文化中看到互聯網時,它是一種動態的、身臨其境的體驗——你可以用Flash創造出那種東西。 ”
動畫可以被限制在網頁上的互動框中,也可以包含整個網站。斯莫爾對此表示同意:“我們今天在遊戲機上看到的東西與虛擬現實內容之間的差別類似。”“這是一個巨大的飛躍,在復雜性、深度和參與度方面都是如此。 ”
Tumblr media
沒落
然而在2010年4月一封名為《關於Flash的說明》信中,蘋果創始人喬布斯解釋了為什麼iPhone永遠不會支持Flash。他的評價極其坦率。 Flash耗電量大、運行緩慢,而且存在安全問題。他斷言一個時代已經結束。 “Flash不再是觀看視頻或消費任何網絡內容的必要工具,”喬布斯寫道。 “Flash是在PC時代為PC和鼠標設計的。Flash對於Adobe來說是一項成功的業務,我們可以理解為什麼他們想把它推廣到個人電腦之外。但移動時代是低功耗設備、觸控界面和開放網絡標準的時代——所有這些都是Flash的不足之處。”2017年,Adobe宣布將在2020年底前停止開發和支持Flash Player。
喬布斯的一些批評,尤其是對Flash安全問題的批評都很到位。但總的來說,這位蘋果首席執行官的舉動是戰術性的,目的是想鼓勵人們為iOS創造原生遊戲。索爾特說:“我的意思是,從市場營銷的角度來看,很容易看出蘋果為什麼會做出這樣的決定。”“這是蘋果保持對軟件和手機應用體驗控制的好方法。”
斯莫爾說,不管原因是什麼���Miniclip的用戶已經開始停止使用Flash。他說:“從2008年到2009年,我們的用戶人數開始減少。”“我們清楚這是因為他們著迷於智能手機。所以我們需要關注這些用戶。”
iPhone 3G的推出,促使斯莫爾採取了行動。他表示:“在看到喬布斯帶著iPhone 3G走上舞台並發布這款產品後的兩週內,我們就開始探索將iPhone作為一個潛在平台,讓我們推出Flash遊戲的移動版內容。”Miniclip開始為蘋果應用商店開發《怪物卡車賽》等遊戲,這是他們從Flash遊戲的成功轉型。 《怪物卡車賽》於2009年初上線後,立即成為銷量第一的遊戲,銷量超過380萬份。斯莫爾表示:“那是我們全押移動的時候。”“我們在Miniclip.com上積極交叉推廣我們最受歡迎Flash遊戲的移動版內容,這使得Miniclip成為2009至2010年訪問iTunes流量排名前三的網站之一。”2000年,Miniclip 95%的收入來自網絡。而到了2012年,其95%的收入來自移動業務。
斯莫爾的《霹靂八球》現在是西方市場最賣座的遊戲之一,他將Flash的衰落比作家用錄像帶系統VHS:令人悲傷但卻是必要。他說:“現在,我們每個月有2億活躍用戶——我們比以前要大得多。”“但我們今天在手機免費遊戲中看到的一切,都是從Flash遊戲的基礎上開始的。這是手游產業的一部分,現在每年價值已經達到了700億美元。”
後Flash時代的互聯網看起來有所不同。索爾特解釋說,Flash的衰落促成了一種美學的興起,其是由智能手機規格和社交媒體發展所塑造的。智能手機規格要求開發人員更務實地考慮他們的設計理念,必須首先考慮什麼樣的內容在小屏幕上更為有效。索爾特說:“人們越來越重視以用戶為中心的設計、可用性和可訪問性,這在我們談論老式網站時並不常見。”“如果你回頭看看這些網站,你會發現其中不免讓人揪心的痛苦元素和難以辨認的配色方案。現在的變化只是因為我們更多地考慮用戶。”
Tumblr media
第二個變化是Facebook的崛起。簡單的早期設計剝奪了用戶可能期望獲得的控制和定���功能。 “這種審美和一致性對所有社交媒體平台處理用戶內容的方式產生了巨大的影響。我們得到了很多有趣的用戶創建內容,但都被嚴格限制在社交媒體生態系統的模板中。”索爾特說,“它很實用,在很多設備和用途上都能很好地工作。”
蓋伊則認為,互聯網的設計目標也發生了廣泛的變化。 Flash設計師試圖讓觀眾沉浸其中,讓他們興奮:他們的目標是“模仿電視或電影體驗”。 “事實證明,Twitter是一個更有效吸引註意力的模式,”他解釋道。關鍵是信息的衝擊性,就像是金·卡戴珊的照片。人們想要那種衝擊,而不是身臨其境的體驗。 ”
Newgrounds也已經多年沒有使用Flash。 2012年,在重新設計網站時,開發人員把Flash從門戶網站上去掉了。但創始人富爾普哀嘆失去了一個通用平台,互聯網被分散到不同的生態系統中。他說:“如果你用Flash製作東西,它可以在每台電腦上的每個網頁瀏覽器中運行。”“遺憾的是,他們沒有更好地延續下去。”
.(tagsToTranslate)Adobe(t)Flash興衰史:當年它讓互聯網動起來 卻敗給喬布斯(t)kknews.xyz
from Flash興衰史:當年它讓互聯網動起來 卻敗給喬布斯 via KKNEWS
0 notes
meitukong · 8 years ago
Link
範主說:JAVA、PC、Web、Android、ios…
最近,西二旗人挺火的。大家都說西二旗人是裝逼界的一股清流,他們熟練掌握 java、c++、ios 和安卓,也會一百種編碼技巧,但月入五萬卻過的像月入五千,鮮有人炫富。
西二旗,北京一個地名,聚集百度、網易、新浪總部 …. 距離中關邨 9 公裡不到,房租比周邊更便宜,深得質樸碼農程序員喜歡,而西二旗人泛指租住在西二旗的程序員們。
賺這麼多過得像月入五千?回想好像是這麼回事,一般程序員底薪都在萬元以上,可平時見到的碼農都是濃厚的直男風,過得極為樸實,似乎跟炫富扯不到一起。
可範主細想起來,紮克伯格、比爾 · 蓋茨這些常年掛榜福布斯的大佬,其實也是程序員,他們也有炫啊。
高級程序員也 ” 炫富 “,而且更誇張。
一般生活中,大家見到的炫富,往往都是這樣:” 今天天氣不錯 “、” 喝個咖啡提提神 “…. 朋友圈有意無意抒發感情,只為曬出精心準備好的 ” 名貴道具 “。
這些 ” 道具 ” 往往都是大牌奢侈品,從衣服、包、手表到車日常都能見到,只是價格比起同類產品要貴一點 ~(而且很多都是代購在炫 ~)
然而,常年掛榜福布斯的程序員大佬們其實也會炫,不過他們���的東西可有點不一樣 ~
☞飛機游艇大輪船,曬興趣
Larry Ellison 是世界上最大數據庫軟體公司甲骨文的老板,在碼農圈,可謂教父級別,平時都是穿著數萬美金的定制西裝 ~
除了寫代碼,日常愛好就是開著自己買的帆船游艇出海 ↓
愛下海?順便買下全世界最大的游艇— Rising Sun 號 ~ 範主也是很服氣 ~
不光愛買,還會玩,Larry Ellison 還出資快 1 億美金與寶馬公司共同建立了寶馬甲骨文帆船隊,親自下場參加比賽,甚至還拿了 2010 年美洲杯帆船賽的冠軍。。
看到這裡,很多範友肯定覺得,這麼牛,你咋不上天呢?!
然而,Larry Ellison 真的可以上天 ~
Larry Ellison 持有飛行執照,還是名專業飛行員。除了一架 Cessna Citation 小型飛機和一架稱為 ” 追夢者 ” 的飛機外,還有灣流 V、波音 757 等多架私人飛機 ~
☞豪宅別墅科技園,曬科技
坐擁多年世界首富的比爾蓋茨,住得當然極其講究。作為碼農出身,家中自然是滿滿的高科技 ~
坐落在西雅圖世外桃源 2.0(名字就很符合程序員)占地極為龐大,66000 平方英畝,相當於幾十個足球場。
豪宅名叫 ” 世外桃源 2.0″,位於美國西雅圖的華盛頓湖畔,從市區開車只需 25 分鐘。” 世外桃源 2.0″ 這個名字來源於《Citizen Kane》裡 Charles Foster Kane 虛構的房屋。
從外觀看,世外桃源 2.0 四周植被環繞,目的是其實是為了減少熱量損失。
其中還有比爾蓋茨最喜歡的一棵樹,有電腦 24 小時進行監測,一旦發現它需要澆水,就有機器自動完成。果然是高級程序員。。。
從進門開始,客人會先領到一個內建微晶片的胸針,將預先設定好的溫度、濕度、燈光、音樂等條件傳到中央電腦,一切按照你想要的呈現 ~
比如無論你走到哪個房間,都會有音樂伴隨你 ~
每個房間牆上也會有很多觸摸屏,訪客可以直接在屏幕上操作喜歡的畫作或照片 ~
作為碼農,家中自然也要備很多書。比爾 · 蓋茨就在家中建了一個私人圖書館,圓���屋頂中間有一個接收自然光的天窗,室內光線可以隨著外界陰晴調整。
不過可別以為都是碼農資料,其實館中珍藏很多名人字畫和手稿。
比如達 · 芬奇的《萊切斯特 手稿》、拿破侖寫給約瑟芬的情書、希區柯克電影《驚魂記》的劇本手稿等。原來程序員大佬也可以那麼熱愛藝術 ~
△館中奧納多 · 達 · 芬奇《萊斯特手稿》 ( Codex Leicester )
☞吊燈門廳扶手桿,曬品位
雖然喬布斯並不是每天埋頭寫代碼的典型程序員,不過他在科技圈的地位非同一般。從某種程度上,是引領全球程序員時尚的 ICON。
比起前邊曬飛機曬科技曬豪宅,喬布斯曬得更加獨特,品位 ~
喬布斯的家位於加利福尼亞州伍德塞德市,占地面積為 17250 平方英尺,是英式紅磚建築,外觀看起來比較破舊冷清。
進去後才發現真的很 ! 冷 ! 清 !,裝修風格可以說是沒有風格,灰白的牆面木制的扶手桿特別簡約,家中除了必要的家具其他都是空蕩蕩的。
之前就說喬布斯總是在給自己做減法,”Less is More” 一生是他的設計理念。1982 年,攝影師 Diana Walker 在喬布斯位於加州 Woodside 的家中拍下這張照片。整個環境中,只有燈、音嚮、黑膠。
不過,僅有的幾個物件卻都是精心挑選。燈是 Tiffany 的,黑膠機是 GyroDecMK1,音箱是 Acoustat Monitor 3s,功放是 Threshold FET-one。
點一盞燈,席地而坐,估計只有在這種空蕩蕩的環境下,才能不被外界幹擾,更好地進行創作吧 ~
這麼看來,頂級的程序員(IT 大佬)其實還是很愛曬的,只是關註的點不一樣,曬得不是一個 level~ 除了這些大佬級別,生活中遇到的碼農卻低調的不行 ~
普通的程序員為甚麼鮮有炫富?
☞工作很忙,整天埋頭寫代碼。
大部分普通程序員每天都很忙,代碼水平不高的階段,每天加班通常也幹不完,每天工作 8 小時,OT 卻無休止,範主找到身邊幾個程序員小夥伴,他們都表示贊同。
” 你見過淩晨的北京嗎?” 在都以加班為榮的環境下,不加班,倒顯得有些格格不入。既然這樣,碼農們就更沒機會去炫富了,對他們來說時間真的 rio 寶貴。
淩晨的支付寶大樓
☞生活圈單一,碼農圈 = 直男圈
一名程序員,身邊就會有無數程序員,大家的狀態、思想都很相似。
作為一名合格的程序員,每天要面對電腦 N 個小時,大家還是更講求舒適,能穿拖鞋絕不會穿運動鞋。如果你穿西裝革履、中規中矩來上班,不好意思,大家只會覺得你傻。
之前就傳如果去硅穀面試,盡量要穿的休閑一點,牛仔褲襯衫就 OK,如果 HR 看到你穿西裝打領帶去面試,他們會覺得你沒啥經驗 ~
張小龍之前曬過一張團隊照,可以看出很多程序員的共性:穿著休閑,牛仔褲、棒球衫、衞衣、運動鞋 …
或者再來一張更為直接的特徵圖:
作為程序員,牛仔褲永遠必不能少。
很多人以為喬布斯萬年不變牛仔褲,是為了增加個人風格,其實現實中的程序員也是這樣 ~
不用天天洗,穿上擋風還有彈性,顏色也百搭,就是這些特點讓碼農們對牛仔褲愛不釋手。
運動鞋也是不必說,拖鞋更是喜歡的休閑利器 …
☞即使炫富,同行也不懂,大家都是看代碼的。
對於智商頗高的碼農程序員來說,他們把 99% 的精力放在了代碼寫的好不好,詮釋是否 OK,如果強行向人家展示你的新款 Gucci,根本不認識 Gucci 的他,會覺得很是丟面兒。
但是,不愛服輸的碼農們又不會就這麼認慫,反而會向你炫燿一些謎の奇怪的單品,(比如買電腦送的包、或者包上的密碼鎖 @%&。。)
所以普通人炫燿的東西,程序員不懂,程序員炫燿的東西,往往普通人也不懂。
☞普通程序員也沒有個個都是月薪 5 萬的富。
範主向身邊程序員朋友了解過,程序員的工資也有差異,並不是每個人都是月薪 5 萬、10 萬,剛出道的小白可能也就 1、2 萬。尤其在北上廣深大城市,生活壓力也不小
前邊其實提到普通程序員也會炫一些東西,很多產品可能是他們特別引以為傲的,而這些,對於曬奢侈品包包、曬名表豪車來說,根本算不上炫富 ~
普通程序員都愛曬甚麼?
☞曬科技
之前寫翻包記那會,範主清楚記得有兩位碼農程序員,一位稱自己根本就沒有包,而另一位沒有上榜的直男碼農,包裡擺滿了電腦、相機、VR 眼鏡等各種智能小件。(大概這個場面 ↓)
很多碼農會喜歡買他們覺得有科技性的東西,3D、降噪、機械這些名詞他們聽到就會特別感興趣,如果擁有,翻翻他們朋友圈,必定��常出現。
十個碼農五個米環 ~
紮克伯格就特別喜歡 VR 產品,除了各種投資 VR 項目,之前還想把女兒保存在虛擬現實中。。。(在家中安裝了 VR 設備,360 度記錄自己的女兒)
☞曬代碼、軟體、小程序
除了科技,碼農程序員們還熱衷在圈子裡互相競(裝)爭(逼),要麼曬自己獨特的代碼,要麼自己開發軟體自己用,反正一定是原創,獨一無二,才會讓他們獲得莫大的滿足感 ~
而且還擅長利用技術,制造一些黑科技求婚,範主更是滿滿的服氣 ~ 只是對方能不能接受,那就另說啦。(一萬只電子單身狗收到了傷害。。)
☞曬女朋友
其實除了科技感和成就感,能在茫茫碼農程序員中脫離單身,才是碼農圈最為裝逼的終極大法!
很多碼農們在單身了 N 年終於收獲女朋友時,必定會各種花式曬女友。(然而即使天天在朋友圈發也並沒有幾個朋友會為之打 call)
說到最後,範主發現身邊好多程序員都很愛自黑,而且熱衷自黑,不過他們也有禁忌,就是不能提到禿頂這個梗。
0 notes
gozealouscloudcollection · 6 years ago
Text
“霸道總裁”還是黯然離場,馬雲的十八羅漢今何在?
Tumblr media
文 | 搜狐科技 尹莉娜
最初,阿里巴巴以正式合同的形式將18位創始人來自各行各業的原始路徑綁定到了一起,這群怀揣夢想的年輕人自稱“十八羅漢”,共同創造出了被稱為”六脈神劍“的企業價值觀。
但隨著阿里逐漸枝繁葉茂,“十八羅漢”也走向解體,合夥人們開始競聘上崗,他們有人出任總裁,有人退居幕後,有人仍在基層,也有人黯然離場。大浪淘沙,多數人沒能追上阿里前進的步伐,當初重合的人生軌跡也開始逐漸分化。
隨著馬雲退居幕後,當初創立阿里巴巴的十八羅漢也淡出歷史舞台。搜狐科技帶你看一看,除了最為高調的馬雲外,阿里的十八羅漢今何在?
張瑛:押上全部身家、台前退居幕後
Tumblr media
馬雲的成功離不開妻子的支持,畢業後馬雲開始做海博翻譯社時,她就和馬雲結婚,開始共克時艱。為了讓翻譯社維持下去,他們背著麻袋去義烏、廣州進貨,販賣鮮花、禮品、服裝,做了3年的小商小販,支撐了翻譯社的3年發展。
而在創立阿里巴巴時,張瑛更是搭上全部身家甚至舉債全力支持馬雲的事業。當馬雲苦於沒資金、沒人脈、沒背景的境況時,張瑛拿出了6000元積蓄,又向親朋好友借錢,湊夠了八萬元給馬雲當做創業的資本。
不過,在大家在會議室里大談B2C、C2C時,張瑛卻只能“頂著政委的虛職,乾著勤雜工的事”:在廚房裡做飯、準備夜宵,準備給食堂“開伙”。實際上,張瑛並非毫無抱怨:“當老師當得好好的,為什麼就成了一個倒貼伙食費的老媽子?”
但付出總算有所回報,煎熬了一年多後,張瑛問馬雲:
——“我們現在到底賺了多少錢?“
他伸出一根手指頭給我看。
——“1000萬?”他搖頭。
——“1億?”他還是搖頭,告訴我:“100萬。”
——“這麼少?”
——“每天。現在是一天利潤100萬,將來,會變成一天納稅100萬。”
不過,這樣的“政委“日子也沒有維持多久。在阿里收購了雅虎中國,發展出了淘寶、支付寶、阿里軟件等業務後,張瑛被馬雲勸離了總經理的崗位,回家做起了全職太太。 “你辭職吧,我們家現在比阿里巴巴更需要你。你離開阿里巴巴,少的只是一份薪水;可你不回家,兒子將來變壞了,多少錢都拉不回來。兒子跟錢,挑一樣,你要哪個?”
自此,張瑛開始了每天接送孩子上下學,回家以���準備兩葷一素一湯的生活。有一次,馬雲和雅虎公司CEO楊致遠閒聊,楊致遠問起張瑛,馬雲這麼告訴他:“張瑛以前是我事業上的搭檔,我有今天,她沒有功勞也有苦勞,我也一直把她當作生產資料。但現在我覺得,作為太太,她更適合做生活資料……”
蔡崇信:從放棄70萬美金年薪到“運動隊投資人”
Tumblr media
如果說張瑛是馬雲背後的女人,那麼蔡崇信則當之無愧是馬雲背後的男人。
蔡崇信在阿里巴巴剛成立時加入,就任CFO。他的到來,讓阿里從徹底的“草台班子”開始走向規範化運作。 “在湖畔花園炎熱的夏夜,蔡崇信揮著汗水對著白板和第一批員工講股份講權益,將十八份個完全符合國際慣例的英文合同,叫馬雲等十八羅漢們簽字畫押。”這樣的文字也經常出現在描寫蔡崇信的文章之中。
在當時看來,蔡崇信是在十八羅漢中“犧牲”最大的一位。擁有耶魯大學經濟學士和商學院法學博士學位的他為了加入阿里,放下七十萬美元年薪(約合當時580萬元人民幣)的德國投資公司工作,每月只拿五百塊人民幣的微薄薪資,妻子還在孕中。馬雲後來也開玩笑稱:“蔡崇信可以買下十幾個當時的阿里巴巴。”
從註冊公司的等看似瑣碎的事情開始,蔡崇信先後成立了阿里巴巴設在香港的總部,負責國際市場推廣、業務拓展及公司財務運作。
他靠家族關係從台灣商界人士手中拉來投資,又��住孫正義4000萬美元占股49%的投資意向,只允許投進2000萬,保住了創始團隊的控制權,讓阿里的後續融資得以順利進行,主導了協商收購雅虎中國及雅虎對阿里巴巴集團的10億美金的投資。
後來隨著阿里的業務逐漸枝繁葉茂,蔡崇信又開始從零到一組建戰投團隊,從最能“籌錢”的人變成了最能“花錢”的人,幫助阿里巴巴從單一的電商公司逐漸擴展成為匯聚各類業務的“商業帝國”。
最近,蔡崇信還收購了NBA籃網隊。此前,他還買下了WNBA紐約自由人隊和聖地亞哥的一支曲棍球隊。
孫彤宇:從戰功赫赫的總裁到栽培勁敵的天使投資人
Tumblr media
與蔡崇信做戰投、買球隊的瀟灑人生不同的是,同屬於十八羅漢團隊、為淘寶發展立下戰功的孫彤宇卻最終離開了阿里。
早在1996年馬雲創立中國黃頁時,孫彤宇就已經加入了創始團隊。從2003年起,他一直擔任著淘寶網總裁的職位,並在短短幾年時間裡就把淘寶網做到年銷售額400億,市場份額達80%。
但在阿里巴巴B2B公司上市後,同年的12月公司宣布了孫彤宇的休整、學習計劃,2008年3月1日,孫彤宇正式卸任淘寶網總裁一職,並前往倫敦商學院等的海內外著名商學院進修。自此以後,一直在台前的孫彤宇似乎銷聲匿跡了。
2008年5月,在線教育軟件博卡思創立。次年年初,一個叫做盒子世界的兒童虛擬在線社區開始在線運營,這正是孫彤宇休整後的“首秀”。遺憾的是,這款軟件在當時並沒有泛起多大的水花,這次的回歸算是“失敗”了。
而當孫彤宇沉寂許久,再次出現在公眾視野中時,則是作為阿里電商業務的勁敵、拼多多的天使投資人。而關於孫彤宇當初卸任總裁的原因,也再次被翻找,顯得撲朔迷離了起來。
彭蕾:耿直的“女版馬雲“和傳聞中的“大義滅親”
Tumblr media
雖然曾經的“正規軍”孫彤宇離開了阿里,但曾作為“隨軍家屬”的彭蕾卻“意外轉正”。在杭州商學院財經學院做了4年老師之後,彭蕾因為丈夫孫彤宇追隨馬雲北上創業而辭職。
從阿里創業早期彭蕾化名“小土豆”扮演公司客服接線員,到先後轉戰人力資源部副總裁、市場部副總裁和服務部副總裁,再到最後被委以重任,成為支付寶CEO,彭蕾一路走來稱得上是披荊斬棘。
不過,與彭蕾傳奇的工作歷史相比,她的“花邊新聞”似乎讓同樣引人注目。當外界普遍認為她將成為阿里CEO時,彭蕾在公司內網發文表示“無論是誰接人集團CEO,我的任務都只有一個,幫助這個決定成為最正確的決定。”
彭蕾也曾回應過孫彤宇離開公司的原因:這些年一直有諸多揣測,“陰謀論”甚多。每個人最終都會離開公司,離開的原因真那麼重要嗎?耳聽為虛,眼見也未必為實,真相不是靠盲人摸象得出來的,一切交給時間吧,都洗洗睡吧。
而關於長相上“女版馬雲”的言論,她也曾直截了當:”都怪我一直覺得馬總五官雖不咋地但湊一起就是氣質獨特很有範兒。但長相這事吧,美也好,醜也罷,說到底就一句話,我長什麼樣關你屁事。”
而關於傳聞已久的“大義滅親”,彭蕾也坦誠回應稱淘寶網前總裁孫彤宇是自己的丈夫,不是前夫。兩人曾經有過短暫離婚,但很快复婚。 “離婚复婚是私事,這跟公司並沒有半毛錢的關係,但現在被演繹成一段大義滅親的傳奇。”
今年4月9日,彭蕾卸任螞蟻金服董事長。馬雲在內部信中說:“帶領螞蟻走過的這八年,彭蕾用她堅定的內心和傑出的領導力,用女性獨有的溫暖和洞察,讓一個支付工具充滿了愛、信任和責任觀。”
金建杭:從筆桿子到發聲筒
Tumblr media
金建杭與馬雲是從採訪稿結緣,他曾在外經貿部機關報《國際商報》工作5年,也是外經貿部官方站點的首任主編,而金建杭在阿里的後續也還是沒能擺脫與“筆桿子們”打交道的“宿命”。
“讓天下沒有難做的生意”這一句如雷貫耳的阿里巴巴集團使命,正是出自他之手。而曾經在全網刷屏的馬雲創業系列視頻,也正是他所錄下的。他常常作為阿里巴巴發言人,向外界披露消息。後來,他主導承辦的“西湖論劍”大會成為了互聯網界的一大盛事。
如今的金建杭,擔任著阿里巴巴集團資深副總裁,負責阿里巴巴集團公關、政府事務、市場活動。
謝世煌:從米飯鹹菜到“一擲千金“
Tumblr media
在謝世煌吃米飯、就鹹菜的時候,可能並沒有想到如今的“風光生活”。
在同樣從事資本運作的蔡崇信在思考如何考取耶魯時,謝世煌看到同學吃餅乾時,“口水只能往肚子裡咽。”曾經的謝世煌家境貧寒,父親是鐵匠,兄妹四人全靠父親賺錢養家。女友也因貧困與他分手,令他臥病在床整整一個星期。
不過,事情很快就發生了轉機。畢業後,經過了三年朝九晚五的安逸國企生活後,謝世煌不甘如此,加入了杭州電信下面的通訊公司,因考取了CPA註冊會計師證書被安排做投資工作,也因此結識了被他認為是“另類”、“瘋狂”的馬雲。
1998年底,謝世煌通過自己的努力,已經成為了年薪4萬的公司高管,公司還試圖用事業編制、一套75平米的杭州房子將他“套牢”,但顯然,阿里和馬雲更為吸引他。加入阿里後,謝世煌一直從事著資本相關的工作,他曾與馬雲聯手奪回支付寶的股權,打贏中國支付工具爭奪戰。後來,他又幫助阿里進行多領域的投資併購,主導收購了恆生電子(600570)、華數傳媒(000156)、光線傳媒(300251)等優秀公司,幫阿里獲得了不菲的收益。
戴珊:愛吃梅干菜的首席人才官和法定代表人
Tumblr media
作為十八羅漢的之一,戴珊本人並不高調。不過,2018年8月4日,戴珊卻“意外”地接替CEO張勇成為阿里巴巴集團的法人代表。
從2002年到2005年,戴珊擔任阿里中國市場部誠信通高級銷售總監,建立電話銷售小組。從2005年開始,戴珊晉升為廣東分公司總經理,負責廣東省的直銷及電話銷售、市場推廣及人力資源。隨後,戴珊的行動一直頗為低調,直到2013年4月,阿里宣布戴珊正式接任集團首席人才官時,才開始進入到人們的視線。如今戴珊出任B2B事業群業務總裁。
戴珊曾有一趣聞:18年前的一天,愛吃梅干菜的戴珊在湖畔花園民房裡吃著盒飯,突然對大家說,“等我有錢了,我就去買一屋子的梅干菜! ”
蔣芳:鐵腕手段,從打雜走向權力中心
Tumblr media
如果要說出追隨馬雲最久的女性,人們可能會猜張瑛、彭蕾,但實際上,這個人是蔣芳。曾有人稱她是馬雲身邊的“錦衣衛”, 也被認為是“唯一敢拆馬雲台的人”。
不過,如今擔任著阿里巴巴集團首席人才官(CPO)的職位的她,曾是個不折不扣的農村姑娘。從打雜開始,蔣芳一步一步地走向了權力中心。
2010年底,蔣芳調到了被稱為“阿里鐵軍”、 “現金奶牛”的中供(中國供應商)。與此同時,滴滴CEO程維、美團COO幹嘉偉、大眾點評COO呂廣渝、去哪兒網COO張強,趕集網COO陳國環等等,也都出自其中。
不過,隨著阿里業務體量的擴大,內部的貪腐現像也變得尤為嚴重。在她的多方斡旋下,阿里成立獨立調查組,根據2300多位黑名單客戶,順藤摸瓜找到了內外勾結簽黑名單客戶的銷售。上千名中層、基層員工也因此被開除或降級處理。
吳泳銘:從技術人才到總裁再到投資人的“轉型”人生
Tumblr media
程序員中也有特例,就像十八羅漢中的吳泳銘。當時是淘寶網的核心開發人員之一,如今是阿里健康的董事會主席,而且還是國內知名的投資人。
吳泳銘當年跟隨馬雲進京,是做外經貿部網站的,就他一人負責網站技術開發,成為第一代程序員,也是史上最有錢的程序員之一。
2011年,淘寶分拆為3家公司,分別是一淘網,淘寶網和淘寶商城(現天貓商城),吳泳銘任一淘網總裁。
金媛影:在“家庭”裡做9個月一換崗的“小孩”
Tumblr media
金媛影也同為馬雲的學生。金媛影外號小孩,也是馬雲的學生。
當時金嬡影在北京五道口聽研究生課,經常到潘家園去��同學和老師,馬雲問她有什麼感覺?她說:不像個公司,像一個家庭。金媛影的父親是民營企業家,聽說女兒要到阿里巴巴,擔心受騙親自跑來查看,知道馬雲是女兒的老師後就放心了。
同時,阿里也給了金媛影更多的鍛煉機會,張瑛曾親手教她寫英文郵件。後來做客服做得很投入,無論多晚都要回复客戶。由於郵件回復得非常快,以至於客戶懷疑他們的真實存在。有報導說金媛影差不多9個月換一個崗位,幾乎阿里巴巴的所有部門都乾過。
金媛影曾為阿里巴巴集團阿里學院高級專家、資深經理,如今是市場部阿里學院經理。
師昱峰:被慫恿著從氣象局轉行電商的技術達人
Tumblr media
師昱峰加入阿里算是半路轉行,因為酷愛研究網絡技術,因此境界頗高。 1999年,師昱峰還在中央氣象局工作。同年便被網友吳泳銘慫恿入夥。
在北京孔乙己餐廳,他第一次見到吳泳銘的“帶頭大哥”馬雲。當時馬雲正準備殺回杭州第三次創業。馬雲的激情,深深震撼了師昱峰。
第一代的阿里網站的建設者,隨著阿里在美國上市股票瘋漲,師昱峰與妻子金影媛手中的原始股票市值達到了上百億人民幣。
盛一飛:就是他,決定了淘寶logo長啥樣
Tumblr media
盛一飛是阿里巴巴Logo的設計者,現任支付寶產品部總監。
1995年大學畢業後,他花了1600多元錢自費學電腦。 1995年,馬雲創辦了中國黃頁。盛一飛與中國黃頁結緣於“第一屆上海電視節”的項目招標。1996年,他成為了中國黃頁的第一個設計師。在中國黃頁工作一年後,盛一飛和馬雲到了北京,開發了外經貿部的官方網站後又回到杭州,一起投身到阿里巴巴的創業中。
2005年,他接觸到“用戶體驗”和“以用戶為中心的設計”等外來詞彙,開始嘗試將UED的概念帶入公司。就在這時,盛一飛突然接到通知,去支援剛成立的支付寶團隊,3天內到崗。到崗後,盛一飛馬上對支付寶進行了完全脫離淘寶的改造,在一個多月的時間裡,項目組重新設計了整個網站。
樓文勝
Tumblr media
樓文勝是B2B中國市場運營部核心產品部產品規劃師,江甦的辦事處蘇州才開不久,他從杭州調動過來,負責江蘇阿里巴巴銷售團隊的管理。外界只知道他彈得一手好吉他,其部下都親切的稱呼其為“老樓”。
周悅虹
Tumblr media
阿里巴巴創始人之一,馬雲的學生,java架構師,技術精湛,為人低調,是一個典型的Geek。而他給阿里帶來的個人突出貢獻,則是淘寶最早採用的Turbine風格的MVC框架WebX,其核心代碼就是周悅虹所編寫。目前他已經離職阿里巴巴,在杭州的一家智能家居公司任技術總監。
麻長煒
麻長煒在2005年8月曾參與了阿里巴巴併購雅虎中國後的一系列前期整合工作。其領導的團隊致力於人機交互、圖形化設計、界面設計、用戶體驗研究等技術領域。如今,他在淘寶網產品技術中心擔任用戶體驗設計總監。
饒彤彤
關於饒彤彤的資料少之又少,就連接近他的人也說,饒彤彤相當低調, 而且平易近人。據公開的資料,目前饒彤彤遠離杭州總部,外調到香港,隸屬於阿里基礎運維部,從事與網絡及基礎設施有關的工作。
韓敏
關於韓敏的公開資料也並不多,從目前的信息看,韓敏曾擔任支付寶市場運營部總監,如今是小微金服集團人力資源部上海分公司總經理。
馬雲為讓阿里巴巴建立起“合夥人”制度,奠定公司百年發展的基礎,免去了十八羅漢的創始人職位,讓他們從零開始,重新競聘上崗。
隨著馬雲的卸任,十八羅漢也幾乎全盤退出了阿里的主舞台,阿里巴巴集團由張勇挑樑,螞蟻金服集團由井賢棟掌舵,阿里的“草創時代”結束,“後馬雲時代”的阿里將駛向何方?
訪問:
阿里雲 – 最高1888元通用代金券立即可用
.(tagsToTranslate)人物 – 馬雲(t)“霸道總裁”還是黯然離場,馬雲的十八羅漢今何在? (t)kknews.xyz from “霸道總裁”還是黯然離場,馬雲的十八羅漢今何在? via KKNEWS
0 notes
gozealouscloudcollection · 6 years ago
Text
拜拜虛擬機,全面深度解密華為方舟編譯器
訪問:
華為商城
2017年5月的一個凌晨,華為某實驗室裡,方舟編譯器上第一個Java程序“Hello, World”跑通了。
當時項目組的一位工程師就哽咽了:“I never thought printing ‘Hello, World’ would be this hard .”(我從來沒想到打出“Hello, World”會如此艱難。)
十年前華為啟動編譯組到這一刻,初見曙光。
2019年4月,華為方舟編譯器正式面世!
今天我們聚焦華為新貴——方舟編譯器,這個一發布就引起巨大響動的底層核心技術。
它為什麼能擁有和世界對話的榮光?
它承載著怎樣的使命?
它能否做到傳說中的“出於安卓,勝於iOS”?
1. 機器的“原力覺醒
這個故事,先從計算機的語言說起。
事實上,人類文明中最早出現的文字就是數字,比完整表意的文字早500-1000年。
隨著人類社會的發展,社會結構開始變得複雜,徵稅必須先收集國民收入、財產、付款、欠款、債務、罰款等數據,遠遠超過人腦的記憶系統。於是,數字誕生了。
5000年前,蘇美爾人文明(今科威特及鄰近地區)以6和10作為基數,用符號表達1、10、60、600、以及3600。今天,我們仍然常見以6為基數的數字,例如圓有360度,一天有24小時。
而另外一種叫安第斯文化(主要在今天的南美地區),則用“結繩語”記錄數字,管理稅收等財務數據長達數百年甚至數千年。就算西班牙人佔領南美之後,還在相當一段時間內用結繩語來管理他們建立的新帝國。
這就是人類最早的語言,雖然不能完整傳遞口語,也無法寫詩,但是記賬收稅效率一流。
公元8世紀,印度人發明了數字0-9,這種十進制的數學符號讓數據存儲和處理的效率一日千里,成為人類文明重要的里程碑,奠定了現代數學基礎。後因阿拉伯人將其發揚光大並傳入中東和歐洲,所以大家稱之為“阿拉伯數字”。
還有一種文字系統——“0”和“1”的二進制,是人類文明另外一個重要的里程碑,被廣泛應用在現代計算機領域中。此外,我們喜歡的音樂、我們熱愛的電影、我們拍攝的照片,今天都是通過這種二進制的數字來進行“重現”,包括記錄、存儲、傳播和分享。
人類通過0和1開啟了機器“文明”,從此科學革命的進程就像安裝上了“火箭”。
那為什麼計算機使用的是二進制呢?
這個故事得回溯到大英帝國的航海時代。
早在17世紀,英國借助強大的經濟實力和海軍力量擁有了眾多的殖民地,建立了全球霸主地位。艦隊使用的航海表計算複雜,人工計算的數據經常有誤,百年間導致大量的船隻觸礁沉沒。
直到第一次工業革命爆發,英國政府找到了數學家巴貝奇(Charles Babbage)來修正航海表。巴貝奇通過十年的努力,研製成功了“差分機”。用蒸汽機時代的機械齒輪來存儲計算過程中的數據,大大提升了航海表數據的計算速度和準確率。
同期,他開始了另外一種新機器——分析機的設計。在開發分析機的過程中,巴貝奇冥思苦想,發現乘法是加法的重複,除法是減法的重複,減法可以用加法來代替,這樣就只要設計一個加法運算器即可。基於這種假設,計算機器只需要具備兩個功能即可運作:
1)判斷兩個數的大小;
2)不斷重複執行加法計算。
所有的運算轉化為最簡單的判斷和計算,1表示Yes(開),0表示No(關),計算機用0和1不斷重複計算。這就是計算機使用“0”和“1”二進制語言的理論基礎。
值得一提的是,巴貝奇發明分析機不久之後,英國數學家喬治·布爾於1854年發表了“布爾代數學”,提出了邏輯學的二元運算,為現代電子計算機提供了另外一個重要的理論基礎。
回到分析機,巴貝奇借鑒了法國紡織機上使用的穿孔卡片。卡片上的孔眼排列,控制紡織機的梭子,能夠不斷重複的織出各種各樣美麗圖案的布匹。巴貝奇在著名詩人拜倫之女Ada Lovelace的幫助下,發現穿孔卡片不僅可以用來記錄數據,還能用來控制機器工作的指令。在卡片上打上不同排列的孔,機器便有不同的工作程序,這就是現代計算機的軟件設計思想。
基礎研究與基礎教育是產業誕生和振興的根本。這也是為什麼今天的英國,仍然在數學和通信領域擁有非常廣泛的影響力。
1884年,美國統計專家赫爾曼·何樂禮(Herman Hollerith)借鑒穿孔卡原理髮明了電動製表機,用於美國人口統計,與巴貝奇的分析機具有異曲同工之妙。他把所有需要調查的項目依次固定在一張硬紙卡上,然後將統計的居民個人信息在相應位置打孔,用來表示“Yes”。當統計機器的探針撞到卡片上的“孔”,就會接通電流,計數裝置往前進一個刻度。何樂禮博士正是採用了二進制的原理,來高效統計美國人口信息。
我們今天使用的答題卡,就採用了這種原理。
何樂禮博士隨後創建了製表機公司,也就是赫赫有名的IBM公司的前身。
1935年,著名的現代計算機科學之父和人工智能之父,艾倫·圖靈提出了著名的圖靈機模型,為現代計算機的邏輯工作方式奠定了理論基礎。
1937年,美國哈佛大學著名計算機專家霍德·艾肯在IBM公司的資助下,借鑒上面提到的英國數學家巴貝奇的分析機理論,於1944年研製成功世界第一台機電計算機—— Mark-I型。 IBM把這台計算機送給了哈佛大學,並一直使用到1959年,為培養早期的計算機科學家做出了巨大貢獻。
另外一位學者就沒有這樣幸運了。美國愛荷華州立大學理論��子物理學的約翰·阿塔那索夫(John Atanasoff)副教授,苦於沒有機器能夠計算出量子物理中許多變量的求解。同樣是在1937年,他尋求IBM公司的資助,但被斷然拒絕,於是他橫下決心一定要研製一台更好的計算機器。他利用當時正在發展的真空晶體管,用電子脈衝來表示“0”和“1”,並在電氣工程專家克利福特·貝瑞(Clifford Berry)的幫助下,兩人於1940年底研製成功了世界第一台電子計算機,並用兩個人的名字將其命名為ABC(Atanasoff-Berry Computer)。
阿塔那索夫開闢了一種計算機的全新路徑,為現代電子計算機的架構奠定了不可磨滅的基礎。今天的華為在內部強調研發上要多路徑突破,或許也曾受此啟發。
1940年底,他結識了美國物理學家莫克利(JohnW.Mauchly)。莫克利在了解和參觀了ABC計算機後,聯合賓夕法尼亞大學莫爾學院的電氣專家艾克特(J.PresperEckert),在國防部的資助下和馮·諾依曼博士的指導下,於1945年研製成功了世界第一台通用電子計算機ENIAC。雖然這台計算機採用的是十進制,但當時毫不影響它的計算能力,它大大縮短了美國“曼哈頓計劃”的原子彈研發時間,加速了二戰的結束。
(1945年6月,馮·諾依曼將ENIAC電子計算機的十進制改回成二進制,並提出計算機內部存儲器存儲程序的概念,從而奠定了現代電子計算機理論的架構。
0和1這種極簡的語言設計,像給計算機注入了永遠在生長的“原力”,帶來了無限的可能。與通信領域IP路由理念具有異曲同工,就像“看不見的蒸汽機”,用最簡單的理論架構開啟了一個全新的偉大產業。
2. 軟件王國的“四大明珠
實際上,在電子計算機誕生之前,計算機這個角色是由女人來扮演的。這些女人被稱為Computers,大多數計算都是她們手工完成的。
世界第一段程序,是上面提到的巴貝奇的師妹著名詩人拜倫之女Ada Lovelace在打孔卡上寫出來的。程序設計人員都要把程序編排成010101這樣的形式,在紙上打孔,再送到機器裡去讀。這減少了相當多的工作,寫一個卡片能使用相當久,也避免了重複造輪子。
因此,當程序員開始在卡片上寫這些程序時,人們開始構建程序庫(libraries)。隨著時間的推移,大部分的程序漸漸的有了一些規則手冊來指導編寫。但還是很繁瑣,畢竟編寫和記憶0和1的各種組合,對於很多人來說相當於是“天書”。
一個傳奇的人物出現了。
美國海軍的傳奇天才格雷斯·霍珀(Grace Hopper),在海軍服役時,曾被派到哈佛大學,與艾肯博士一起工作,負責為美國國防部資助的Mark-II型機電計算機編製程序。在二戰結束後,她加入了發明ENAIC電子計算機的莫克利和艾克特創辦的“電子控制公司”,開始了她改變世界的光輝旅程——打開編譯器和編程語言的新世界。
Grace在加入莫克利和艾克特的公司,便產生了一種想法。她想設計一種程序,讓人可以用類似英文的語法,把想做的事寫下來,然後用這個程序把英文翻譯成機器能執行的語言,交給機器去執行。
她把這個革命性的想法付諸實踐,發明了世界上第一個編譯器A-0。這是編譯器的始祖,也是現代編程語言的始祖。
1952年,Grace和莫克利研究出了一種較為接近自然語言的計算機語言——彙編語言Flow-Matic。彙編語言本質上是使用助記符來代替機器語言01010101,進了一大步,但這種語言對計算機硬件依賴很大。不同的計算機,彙編語言不相通。
IBM公司在1946年後從製表機全面轉型電子計算機市場,並投入巨資招攬了世界眾多頂尖的計算機人才。其中一位叫約翰·貝克斯(John W. Backus),這位出身證券經紀人家庭的富二代,酷愛數學,加入IBM公司三年後,發明了一種快速編程的FORTRAN語言。同時,他深入研究了Grace發明的Flow-Matic的編譯器,應用到FORTRAN的編譯器中。
FORTRAN的問世,在計算機史上具有劃時代的意義。它是世界第一個高級編程語言,使計算機語言從原始的低級彙編語言走到人人易懂的境界,計算機不再是科學家的專利**。 **FORTRAN的誕生,孕育了軟件產業。此後,計算機高級編程語言進入蓬勃發展的時代。
隨後,IBM公司開發出了的ALGOL高級語言,人工智能之父約翰·麥卡錫(John McCarthy)發布了人工智能設計語言LISP,Grace奶奶也在Flow-Matic彙編語言的基礎上開發了COBOL語言。
FORTRAN適合科學計算,ALOGOL適合事務處理,LISP適合人工智能計算,COBOL適合商業處理。這四種高級語言雖然比彙編語言更簡單,但對於非計算機專業人員,編程仍難度較大。於是,Dartmouth學院的兩位教授聯手開發一種更簡單的編程語言BASIC(初學者的全方位符式指令代碼)。這是一種不需要編譯的語言,只需要經過解釋器執行即可,初期的Android智能手機軟件借鑒了這種機制。 BASIC語言也是目前被廣泛使用的Visual Basic語言的鼻祖,目前在微軟Excel的“宏”中可以直接使用。
美國編程語言的開發熱潮你追我趕,其他國家也不甘示弱。
1963年,英國��橋大學推出了CPL語言,後又推出了簡化的BCPL語言。
1970年,美國貝爾實驗室的肯·湯普遜(Ken Thompson)和丹尼斯·利奇(Dennis Ritchie)在BCPL語言的基礎上,推出了更加簡單的B語言(取BCPL第一個字母),後又簡化出了C語言(取BCPL第二個字母)。這是目前世界上最常用的編程語言之一,甚至可以說是第一大編程語言。
C語言之後,誕生了很多著名的語言,包括:
C++:1983年正式發布。由貝爾實驗室基於C語言改良,所以C++是完全兼容C語言的。
Objective-C:1980年代發明。 1988年,斯蒂夫·喬布斯(Steve Jobs)在NeXT公司時買下了 Objective-C 語言的授權,後來成為蘋果公司MAC電腦和iPhone手機的程序設計語言。
Java:1995年5月發布。 SUN公司為了在電視機頂盒等電子產品智能化過程中搶占先機,解決跨平台的問題,所以開發了Java語言。但Java需要藉助虛擬機機制來解釋源代碼並調度硬件資源。安卓系統使用的基礎語言就是Java。
C#:2000年6月,由微軟發布。 C#與Java有著驚人的相似,也需要藉助類似於虛擬機的Framework來運行;不同的是,Java支持所有平台,而C#只支持Windows和Linux系統。
GO:谷歌在2009年發布。 GO語言主要用作服務器端和雲計算開發。
Swift:2014年由蘋果公司發布,可以和Objective-C語言混合使用。
其中,C/C++是編譯語言,即在程序員寫完程序後,通過編譯器直接編譯成機器碼,安裝到相應的硬件設備上即可直接運行。
Java/C#是預編譯語言,就是需要先在開發者環境中將源代碼(Source Code)轉換成字節碼(Byte Code),然後在設備上運行時再將字節碼編譯或解釋成硬件能聽得懂的機器碼。將源代碼轉換成字節碼的過程,就叫預編譯。
軟件王國還有兩個很重要的成員,就是操作系統和數據庫。
上個世紀60年代,計算機高級語言的發展為操作系統和數據庫的誕生培育了沃土。
1970年,貝爾實驗室B語言和C語言的開發者肯·湯普遜(Ken Thompson)和丹尼斯·利奇(Dennis Ritchie),開發出了世界第一個通用計算機系統——UNIX。現在大家熟悉的Linux和Mac OS就是類UNIX操作系統。
其中Linux可以運行在服務器和其他大型平台之上,如大型計算機和超級計算機,世界上最快的前10名超級計算機運行的都是基於Linux內核的操作系統。在移動設備上廣泛使用的Android操作系統也是創建在Linux內核之上。
隨著磁盤的發明,從磁盤隨機存取數據成為可能。 1961年,美國通用電氣公司成功地開發出世界上第一個數據庫���理系統(DBMS)——IDS(Integrated DataStore 集成數據存儲)。 1968年,IBM公司開發了IBM第一個數據庫系統IMS(Information Management System)。 IBM科學家的論文理論,成就了著名的Oracle數據庫。 IBM公司出品的DB2和微軟公司的MS SQLServer數據庫也成為當今數據庫領域重要的角色,目前在全世界已經廣泛應用。
高級編程語言、編譯器、操作系統和數據庫,被稱為軟件王國的“四大明珠”。
從上圖可以看出,為軟件底層貢獻核心技術的公司主要來自於歐美。華為通過多年持續的研發投入,讓我們終於看到了美國巨頭的背影。
3. 編譯器的前世今生
如果說計算機是汽車,那麼軟件就像汽車的操控系統一樣,是計算機的血液。
編譯器則是汽車發動機裡最核心的汽油燃燒技術,將軟件變成計算機的動力,其編譯性能和效率,直接決定了用戶的使用體驗。
如上文所述,最早的編譯器是Grace奶奶發明的A-0編譯器。
第二個被大規模應用的編譯器,則是和FORTRAN編程語言配套的FORTRAN編譯器。
目前主流使用的編譯器主要有下面幾種:
Windows系統
使用CL編譯器。它直接集成在Visual Studio或Visual C++的開發者環境中,一般不單獨使用。
Linux系統
使用開源的GCC編譯器。 GCC,由自由軟件運動的精神領袖理查德·馬修·斯托曼(Richard Matthew Stallman, RMS)在上個世紀80年代創立。它原本只處理C語言,後續擴展可以處理C++、Objective-C、Java等其他語言。 GCC被認為是跨平台軟件的編譯器首選。
蘋果Mac和iOS系統
最初使用GCC編譯器,現已替代為Clang + LLVM。
為什麼蘋果公司要換編譯器呢?
因為蘋果發現開源的GCC開發者根本使喚不動,他們不願意專門為了蘋果公司的要求優化和改進GCC代碼,所以蘋果將編譯器後端直接替換為LLVM(Low Level Virtual Machine,底層虛擬機),並且將讀研時(2003年)發明LLVM的天才少年克里斯·拉特納(Chris Lattner)招入麾下。克里斯進入了蘋果之後,大幅度優化和改進LLVM以適應Objective-C的語法變革和性能要求,同時發起了CLang項目來完全替代GCC。
今天,GCC + LLVM 已經被替換成了 Clang +LLVM。 LLVM負責編譯器後端,用來處理代碼優化和跨平台,而Clang負責前端,只需將程序源代碼轉換成LLVM可以看得懂的IR(Intermediate Representation,中間語言)即可。
另外,上文提到的Swift語言,則是這位天才少年克里斯為蘋果公司貢獻的第三個重要作品。
安卓系統
安卓主要使用預編譯的Java語言開發,最初版本通過虛擬機運行,不需要編譯器,後續版本加入了JIT和AOT編譯機制(下一部分將詳細展開)。
除了上述編譯器之外,還有兩個著名的編譯器值得一提。
Intel的ICC編譯器
ICC編譯器,全稱Intel C++ Compiler,是Intel開發的C/C++/Fortran編譯器套裝,適用於Linux、Microsoft和Mac OS X操作系統,廣泛應用於高性能計算、分佈式計算等商業計算領域。
SGI等公司推出的Open64編譯器
SGI(S代表超級計算機,G代表圖形工作站,I代表具有突破性的洞察力)生產的超級計算機,主要應用於巨大的實驗室,採用Open64編譯器。
4. 安卓的四大命門
交待完計算機和軟件的發展歷程,終於說到正題。
安卓系統從2008年1.0到今天的9.0,十來年間安卓系統大小版本超過15個,從2016年開始也在不斷融入了華為等手機公司發起的文件系統、人工智能學習、智能硬件調度和內存管理等底層創新技術,安卓手機的體驗已經今非昔比。
為什麼仍然還有很多人詬病安卓手機沒有iPhone流暢?安卓系統的程序是怎樣運行的?下面展開闡述一下安卓的四大命門。
解決安卓這四大命門,也是華為方舟編譯器的使命!
第一個命門
Java的“虛擬機”
前面提到,Java為了能夠實現跨平台操作,便藉助虛擬機來調度硬件平台資源。在虛擬機裡,還需要集成翻譯器或者編譯器,來將Java的字節碼(即中間代碼)解釋成機器聽得懂的機器語言,或者直接編譯成機器直接執行的010101的機器碼。
2008年,Android 1.0剛發布的時候,使用的是一個叫Dalvik的虛擬機,裡面集成了一個解釋器,每次用戶在安卓手機上運行APP時,就會叫醒這個解釋器,來給安卓的硬件解釋APP想要幹嘛。這就相當於新聞發布會,發言人講一句自己的母語,然後再由專業翻譯將其翻譯成外國記者聽得懂的語言,效率非常低下,一個小時可能也問不了幾個問題。
谷歌意識到這個問題嚴重拖了安卓手機的後腿,所以通過一年多的努力,在2010年中發布了2.2版本,引入了JIT(Just in Time,即時編譯)機制。 JIT比較聰明,當用戶在安卓手機運行APP時,會同時將用戶經常使用的功能編譯為機器能直接執行的010101機器碼,不用每一句每一句的去翻譯。當出現不常用的功能時,再把解釋器叫起來翻譯。
JIT雖然變聰明了一點,但是每次啟動APP都要先編譯一次,不能一勞永逸。加上Dalvik虛擬機性能比較落後,所以穀歌在2014年10月推出了Android 5.0版本,將虛擬機從Dalvik替代成ART(Android Run Time),同時把JIT的編譯器替代成AOT (Ahead of Time) 。意思就是說,APP在下載後安裝到手機上時同時把能編譯的代碼先編譯成機器聽得懂的101010。剩下不太好翻譯的代碼,就在用戶使用時再叫醒解釋器來翻譯。 AOT相比JIT的好處,就是不用每次打開APP都需要先編譯一遍。但是,壞處就是用戶安裝APP的時間有點長。
越來越多的用戶吐槽為什麼安裝一個APP也慢吞吞。於是,谷歌在2017年Android 7.0又做了一點改進,安裝時先不編譯中間代碼,而是在用戶空閒時將能夠編譯成機器碼的那部分代碼,通過AOT編譯器先靜態編譯了。如果AOT還沒來得及編譯或者不能編譯,再叫醒JIT+解釋器兩個難兄難弟來頂住。這種機制,相當於用時間換空間,既縮短了用戶安裝APP的等待時間,又將虛擬機裡編譯器和解釋器能做的優化提升到最大效率了。
很多人以為華為方舟編譯器就是Android 7.0的ART虛擬機,其實不然。
無論是編譯器還是解釋器,只是在虛擬機上打補丁。手機上的虛擬機+編譯器+解釋器本身不僅佔用硬件資源,還無法最大發揮軟件運行性能。正因如此,所以絕大部分手機廠商只能無奈的通過簡單粗暴提升安卓手機的內存和存儲空間,來彌補虛擬機的弊端。
這就是安卓的第一個命門,虛擬機先天不足。
第二個命門
Java的“原罪”——額外的JNI開銷
JNI,全稱Java Native Interface(Java原生接口),用來和C/C++等代碼進行交互。
目前95%的TOP應用都是使用Java和C/C++等多種語言混合開發而成。 Java和C/C++屬於兩種不同架構的語言,各有自己的使用規範。為了APP正常運行,它倆之間需要互通有無,這個互通有無的接口就是JNI。在數據訪問、函數調用、生命週期維護、異常處理等方面都需要這兩種代碼互相調用。這就意味著手機硬件資源要分配一部分給JNI去做調度。不僅佔用了硬件資源,而且這種機製本身就效率較低。
這便是額外的JNI開銷。
第三個命門
代碼優化空間有限
安卓虛擬機的編譯器受限於手機硬件和代碼優化模板單一,代碼優化空間有限。
編譯器包含三個部分。前端Front End,主要負責將源代碼翻譯成IR(Intermediate Representation,中間表示);中端的Optimizer主要負責代碼優化,將前端翻譯過來的IR代碼優化得更高效;後端Back End則將優化後的IR編譯成101010的機器碼。
為了防止生態過於碎片化,安卓只為第三方開放了簡單的編譯代碼優化模板,代碼優化空間有限。
第四個命門
Java現有內存回收機制易造成間歇性卡頓
當手機內存資源不夠用的時候,安卓虛擬機就會召喚GC(Garbage Collection)封鎖公路,讓所有手機運行的Java線程“Stop World”,全部暫停,等待它回收內存空間,避免“交通流量超載” 。這個GC機制,無法精確控制和乾預,用戶也無法把它去掉,所以性能比較差的手機還存在“間歇性”卡頓。
十餘年間,通過安卓系統的持續優化,以及內存���不斷加持,安卓手機構築了足夠流暢的用戶體驗。
但是安卓的四大命門,如同達摩克利斯之劍,懸在安卓廠商的頭上。華為科學家和工程師們,對此持續攻關了十年,只為再造安卓。
5. 十年方舟,再造安卓
沒錯,華為為此準備了十年。
2009年,華為啟動5G基礎技術研究的同時,開始創建編譯組,第一批海內外研究人員加入。
2013年,華為推出面向基站領域的自研編譯器HCC,並正式提出編譯器框架構想。
2014年,眾多海內外專家加入華為,方舟項目正式啟動。
2016年,成立編譯器與編程語言實驗室。
2019年,華為方舟編譯器正式面世!
這十年,每一次攻關都蘊含著華為軟件工程師們的傾力投入,每一個進展都值得銘記。
2017年5月,方舟編譯器上第一個Java程序“Hello World”跑通。
2017年8月的一個凌晨,在華為的一個實驗室裡,項目組已經連續數日24小時不間斷攻關,卻始終看不到success的返回信息。絕望之下,工程師把所有通信數據打印出來,逐個字節排查,最終發現有一處字節的順序不一致。糾正後,華為方舟跑通了第一個安卓後台服務DiskStatus,這標誌著對安卓的換心手術進入了實操階段。
2018年春節前一周,方舟編譯器跑通安卓系統所有後台服務,並成功移植到手機。當晚,所有人聚集在實驗室的機房中,等待首個開機畫面加載成功的神聖時刻。秒針滴答,如同過了一個世紀那麼久,屏幕終於點亮。
歡呼,擁抱,一蹦三尺高,項目組成員們到底沒忍住,留下了激動的淚水。
接下來,項目組在除夕前夜啟動了方舟編譯手機的Beta測試。大年初一清晨,總架構師發來了第一條經編譯器編譯的運行程序發出來的拜年消息:
春節快樂,方舟大吉!
當P30發布會上“方舟”甫一出現,就在中國軟件行業“炸”了鍋。無數軟件從業者從一開始的質疑,到弄清方舟真相後的驚嘆……這些都是對華為軟件工程師們十年如一日、一點一滴“啃硬骨頭”的致敬!
實際上,方舟已經不是傳統意義上從高級語言到機器碼的“萬能翻譯”,更是一個編譯運行系統。
一方面,方舟編譯器首次在Java領域將虛擬機幹掉了,也是軟件史上首次將Java/C/C++等混合代碼一次編譯成機器碼直接在手機上運行,徹底告別Java的JNI額外開銷,也徹底告別了虛擬機GC內存回收帶來的應用進程掉線,使操作流暢度大幅提升。如果說目前最新的安卓系統是和諧號動車,那麼經方舟編譯的安卓系統便是高鐵,是“復興號”。
華為手機直接通過方舟編譯器替換了Android system-server的所有後台服務,這一項就已經足夠讓華為EMUI比其他安卓系統更快一步。根據華為官方測試,方舟編譯器提升手機系統操作流暢度高達24%,系統響應性能提升44%。入手P30系列的用戶,應該已經體驗到了。
另一方面,方舟編譯器用空間換性能,直接將編譯器的代碼優化搬到了開發者環境,不再被手機端的硬件資源所限制,為代碼優化提供了無限可能。
此外,經測試,新浪微博極速版APP經方舟編譯後,操作流暢度提升高達60%。
解決安卓的四大命門,出於安卓,勝於安卓,超越iOS,並且全面兼容安卓,這就是華為方舟編譯器的使命!
6. 生來就是要幹掉虛擬機
方舟編譯器從立項開始,就是要徹底幹掉虛擬機。這在歷史上,是從來沒有人做過的。
SUN公司當初發明Java語言,就是藉助虛擬機的這個“萬能中轉站”,屏蔽掉各種硬件的差異,方便同一個代碼在多個平台運行,所以Java是目前最流行的高級編程語言之一。這麼多年,從來沒有人能夠幹掉虛擬機,說明難度非常之大。
那麼方舟編譯器,是如何完全乾掉虛擬機的呢?
最關鍵的就是要能夠將Java代碼直接編譯成010101的機器碼。
這種設想在理論是可行的,但是從現實來講太難了。歷史上有過一些嘗試,比如現在大行其道的安卓ART虛擬機。這些嘗試能夠提前翻譯Java語言裡很多的靜態語義,但是多數的動態語義,仍然搞不定,還得交給虛擬機。
所謂靜態語義,我們可以理解為確定的語言和意思,比如“我是張三”。而動態語義,則需要結合上下文去理解,比如“能穿多少就穿多少”,到底穿多還是穿少,要看是冬天還是夏天了。例如大家熟悉的微博、京東等APP的開屏廣告就需要用到動態語義。像編譯靜態語義一樣去編譯動態語義,很多知乎大神認為根本就不可能。
為了這個目標,華為軟件工程師們對自己苛求再苛求,這裡涉及到大量的細節,從對像模型的設計,到每一個bit的用途、每一個對象的元數據metADATA(描述數據的數據)每一個編譯優化的設計,都經過了無數次的激烈討論和推倒重來。
最終,方舟編譯器通過編譯階段和運行階段的雙向加持,將靜態編譯動態語義最大的兩大難點一一解決:一是設計數據模型,二是如何在運行時高效獲得動態信息。方舟編譯器團隊基本遍歷了Java的動態語義,進行了大規模的數據建模。同時,大大提高了編譯時動態語義分析的精度,特別是涉及跨語言調用時;另外,華為設計了一套具有核心專利的動態語義匹配機制,有效降低了運行時動態語義的開銷。
正是因為這兩大難點的突破,讓方舟編譯器能夠將Java代碼編譯成機器能直接執行的語言。經過華為方舟編譯器的APP,再也不需要在手機上編譯了,徹底告別了虛擬機,從而帶來了媲美甚至超越iOS的安卓體驗。
7. 代碼“萬國通”
95%的Top應用都是Java/C/C++等混合語言編寫而成。方舟編譯器的第二個使命,就是乾掉混合語言互相調用帶來的JNI開銷。
華為方舟編譯器團隊基於多個編程語言的深刻理解和大量研發積累,將混合語言破天荒實現了統一的中間表示IR,這就相當於同一個人能夠理解全世界的語言,所以我們把這個革命性突破叫做,代碼“萬國通”。
那麼方舟編譯器是如何使用統一的IR來表示各種語言呢?
IR是用來表示代碼的數據結構,它是編譯器的各模塊以及相關工具之間用來傳遞信息的“協議和通用語言”,也是程序變換和編譯優化各種算法的承載體。它是編譯器的“大腦”,直接決定了編譯器的最終效果。它的難度是最高的。
華為方舟編譯器團隊對IR進行了長達五年的精雕細琢,逐漸摸索出“大腦”裡每一條神經、每一個神經元的信號規律,並在此基礎上發明了一套核心專利,使得不同語言代碼在開發者環境中能夠統一編譯成同一套可直接執行的機器碼,從而徹底消除混合語言互相調用的開銷。
8. 給代碼裝上飛機發動機
除了IR,編譯器還有一個非常重要的價值,就是代碼優化。
華為方舟編譯器,直接將代碼優化從手機環節搬到了開發者環境,未來還可能搬到雲端。利用開發者環境更強大的算力,可以實現更先進和精細的優化算法,來達到更強大的優化效果,在很多特定場景代碼優化的提升甚至是顛覆性的。
這相當於給APP在方舟裡裝上飛機發動機,讓你的APP運行如飛!
值得一提的是,開發者使用方舟編譯器,並不需要改變原來的編碼習慣。開發者可以自行開發代碼優化算法,也可以僅通過方舟編譯器預置的算法進行代碼優化。未來,華為還將提供代碼調優工具,開發者可以選擇根據工具的優化建議來調整代碼,和方舟編譯器配合獲得更優的執行效果。
可以想像,未來廣大APP開發者使用方舟編譯器後,消費者們的體驗將達到一個前所未有的高度。這對於整個安卓生態,都是一件前所未有的幸事!
9. Stop World,安卓卡頓再見
方舟的第四個使命,就是解決安卓虛擬機GC內存回收帶來的“Stop World”。
目前安卓手機內存資源不夠用的時候,GC直接叫停所有應用,所以偶爾會遭遇莫名卡頓。
方舟編譯器採用了引用計數法(RC,Reference Counting)來進行內存的實時回收,並且配合使用了專門的消除環算法(消除對象互相引用帶來的無法回收問題),來避免GC集中式回收帶來的系統卡頓。相比GC,方舟的內存回收是實時的而非集中式的,且不需要暫停應用進程,這樣便大大消除了卡頓。
如果把內存回收比作成打掃房間,那麼GC的策略是專門有一個衛生員,看房間裡垃圾太多了,就把所有人請出去,打掃完了再讓��家回來。而方舟的RC則是每個人收拾自己的垃圾,用完就清理,保持清潔的同時不影響人的正常活動。
軟件有一個大家很熟悉的死循環,就是電腦被一個無限循環的運行程序把計算機資源佔光。
這種“死循環”在軟件中叫“環引用”。為了從機制避免手機內存被環引用“吃掉”,方舟編譯器引入annotation的“告警”標示,對基礎類的環進行標註。當然,Java程序員也可以對業務代碼中的環進行標註。經過豐富的實踐驗證,方舟這種機制可減少大部分程序中環的出現。
另外一方面,方舟編譯器在運行狀態下引入了高效的環回收機制,允許有選擇的智能回收某個APP的內存佔用,這對傳統的環回收算法是一個非常棒的改進。
Stop World,安卓卡頓,再見!
正是因為方舟做到混合語言的統一中間表示和完全靜態編譯,它幹掉了虛擬機,消除了JNI開銷,告別了GC內存回收的“間歇性”卡頓,以及其他很多開銷。同時,為開發者進行代碼優化提供了一個更廣闊的舞台。
華為很快將全面開源方舟編譯器,屆時開發者們可以使用方舟編譯器作為開發工具,為移動應用生態和體驗打開一扇全新的大門。
科技的進步,離不開全球無數科學家和工程師的奉獻。產業的繁榮,開放是唯一出路!
最後,以Linux 的創始人Linus Torvalds的名言結尾!
Talk is cheap. Show me the code!
空談誤國,實幹興邦!
> 文章轉載自:首次全面深度解密華為方舟編譯器
.(tagsToTranslate)Huawei 華為(t)拜拜虛擬機,全面深度解密華為方舟編譯器(t)kknews.xyz from 拜拜虛擬機,全面深度解密華為方舟編譯器 via KKNEWS
0 notes