1. 程式人生 > >回到過去看未來 1

回到過去看未來 1

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

昨天看完李建忠的TechEd2011《WINRT》講演,隨手寫了點口水文章記錄下來。


回到過去看未來(1)


N多年前有各種大中小主機,那是主機伺服器作業系統百花齊放各個廠商各異的歲月。


N多年前有各種品牌的PC。但核心CPU、主機板、記憶體、硬碟都是標準。INTEL的CPU和微軟的WINDOWS寡頭統治了這個領域。


N多年前有各種品牌的PC級伺服器。也是INTEL 伺服器級CPU和微軟WINDOWS SERVER在進攻。但情況有點變化,Linux泛起了,而且侵入了這塊領域。


SUN公司發起自Solaris伺服器級作業系統和SUN主機。比IBM\HP之類要輕量級,比INTEL、微軟之類重量級。SUN期望打入IBM的市場。而IBM準備轉型做服務,通過諮詢服務和專案總包來牽引軟體產品和硬體產品的銷售。


JAVA的發明和身世蹊蹺極了,原本是想作為智慧(不用嵌入式程式設計)家電的軟體核心。大家都知道,在嵌入式開發這塊一直是晶片各異(想象家電、醫療裝置、汽車、工業流水線這都是嵌入式開發晶片),雖然大多都用C開發已經提升了不少可移植性,但程式設計要求的穩定性和移植性仍然難度很高。JAVA發明的目標就是降低程式設計要求和移植性。


想象當年手機領域,愛立信、阿爾卡特、索尼、LG、MOTO、NOKIA等等,以及繁多變種的山寨機與一體化解決方案的聯發科,以及國內的熊貓、波導、聯想、TCL等等。那時候有多少種晶片,那時候又沒有如今的WP、iOS、Android、Symbian手機作業系統。那時候的手機開發,幾乎都是嵌入式程式設計,程式設計要求和移植性確實難度很大。和嵌入式裝置是一樣一樣的。


JAVA沒有出現在手機紛亂的年代,嵌入式開發至今這個領域也沒有多少邁入智慧化或者受到廣大開發者的熱捧以及VC的追逐。但一切的技術先為娛樂服務,這個N多案例跌撲不破的道理一直是好使的突破口。JAVA可以做Applet動畫。這在都是文字,甚至只能是靜態圖片的網際網路時代,這是多麼需要的啊。網際網路發展初期需要的是眼球,如何吸引大家來上網(如同電商如今虧本吸引人們網購)是個大事。JAVA佔了先機,JAVA火了。雖然後來很快出現了gif圖片、FLASH、眼花繚亂的CSS+JS、以及現在更牛的HTML5。


於是Applet倒了。但JAVA很快趕上了另外一件大事,網際網路的興起,要求網站伺服器端WEB開發程式設計。現在面臨兩個問題,一個是當年WEB開發技術很單一,CGI是主流;另外一個是伺服器硬體和作業系統太多(當年搭建網站還沒有多少人使用PC級伺服器,當年WINNT還不入伺服器級的開發者的法眼)。而JAVA在發明初衷就是為了跨各種嵌入式晶片,所以與生俱來的可移植性考慮。而且JAVA上趕著形勢大好趕快支援WEB開發(Applet本身就是嵌入在網頁中的)。於是在PHP\RUBY\PERL\ASP還是發展期的時候JAVA已經趕上了形勢。


而手機,在2000年的時候我已經有了一部手機。說明在全世界各地手機已經很普及了。而手機也是晶片各異。SUN看中了機會,於是一口氣出了J2EE、J2ME。(奇怪,嵌入式開發也用J2ME?)。另外,雖然出了J2SE,但PC是WINDOWS天下,對於做伺服器出身的SUN,既沒有經驗也不看不起,所以J2SE只是裝裝門面而已。


如今,Linux已成氣候,IBM為了推動自己服務轉型,所以大量採取業界開放標準,大力推動JAVA和LINUX的發展。這使得這兩項技術越來越能接受的住企業應用。IBM親自做表率在自己的產品中使用這兩項技術,而其他的伺服器廠商也亦步亦趨的跟進。於是紛雜的伺服器端OS亂像消失了。所以說跨伺服器OS的需求減少了(幾乎現在就是WINDOWS和LINUX兩大陣營了),但JAVA作為應用級開發語言卻已經承載了太多應用,而且很成熟很多實際成功案例有大量的社群和開發人員,所以JAVA仍然流行著並仍然是主力。


近些年,在伺服器端市場,WindowsServer不斷擴充自己的份額,而Linux也在更大型應用中佔據主力位置。JAVA在伺服器端程式設計遭遇了許多WEB開發技術如PHP、Ruby等。而規模量變引起質變,所以伺服器端市場從硬體到軟體現在都在研究雲的硬體、雲的作業系統和中介軟體。在新的一個層面而非現在傳統伺服器硬體和傳統伺服器作業系統層面,所以技術原理、要求也和現在一般的伺服器、伺服器作業系統的競爭不一樣了。


如今,三大手機OS:WP、Android、iOS三雄並起。WP是WINDOWS核心、.NET虛擬機器、上面是各種開發語言以及展現層開發技術。而Andorid也是LINUX核心、JAVA虛擬機器、上面是JAVA開發語言和展現層開發技術,而iOS是類Linux核心,上面沒有用虛擬機器,而是採用Object-c作為開發語言。而Object-c雖然不像C#、JAVA是應用級語言那樣易用,但傍於蘋果各種硬體的大銷售熱賣以及AppStore的發財神話,所以即使有困難開發人員也咬牙上了。當年Symbian也是手機作業系統,用的類似Object-c的C++,但一直被開發人員詬病為難開發,主要還是NOKIA在開發社群、教育市場沒有狠命投入,在賺錢通道上也沒有琢磨實現AppStore,所以Symbian缺少應用而萎縮。


如今,三大手機作業系統從手機反控制到平板電腦,未來更會反控制到PC。而三大手機作業系統更會進入遊戲機、家電(如TV等等),就是過去嵌入式裝置的領域。所以說智慧(帶作業系統而非嵌入式晶片開發的)裝置也會被這三者啟動。而這三者支援的大量感測器以後也會更加普及應用到各種智慧裝置上,於是帶有移動功能、帶有感測器功能的各種智慧裝置應用紛紛而生。所以手機、平板、PC、遊戲機、家電、汽車、醫療裝置等等等,真的是移動無線+物聯網(感測器)+雲。

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述