成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

編程領域的十一大發展趨勢

譯文
開發 前端 新聞
從隨處可見的JavaScript到無所不包的JVM,新工具、新技術以及新問題正改變著開發人員的日常工作方式.

【51CTO 2011年12月1日外電頭條】根據我們各自的視角及對具體問題的切身感受,編程世界的發展到底是過快還是過慢在不同人的眼中會有不同的結論。但無論大家的關注重心是Cobol應用還是Node.js破解,有一項事實沒人能夠否認,即:程序員必須始終緊跟不斷發展變化著的編程技術趨勢,否則就無法保持自己在這一活躍領域中的競爭力。

從隨處可見的JavaScript到無所不包的JVM,時代與主流工具始終處于變化之中。程序員們的工作方式同樣如此,多虧了框架與相關規范的出現,目前的發展方向開始擺脫一味追求開放性的誤區。對于帶寬、能耗以及可擴展性的關注使更多人開始從編程層面尋求解決方案,例如并行計算及顯卡。這一切的一切都在我們身邊迅猛發生,使得很多人對變化產生了恐懼感,甚至希望可以回到學校重新進修——只要那些傳統的教學內容還能幫得上忙。

每隔一段時間,我們就要對進行編程工作所需要的方法及手段加以更新或是全盤替換,這有點像使用新的操作系統或是函數庫。在本文中,我們將與大家分析十一大近來正在如火如荼發展著的技術趨勢,借以共同把握編程領域的未來走向。

編程發展趨勢第一位: JVM不再只為Java服務

在很久很久以前,Sun公司打造了Java并為全世界貢獻了虛擬機這一寶貴財富。在微軟推出C#語言的時候,人們意識到虛擬機本身在功能上并不局限于某一種語言。任何能夠被轉化為字節代碼的內容都能在虛擬機上發揮應有的作用。

現在,似乎每個人都在為實現這一目的而著手構建自己的語言。將構建虛擬機方面的工作完全交給Sun/甲骨文公司,而將自己的主要精力放在語法與結構的種種細節上,這已經成為當下極為常見的開發態勢。

因此,依附于JVM的語言正在不斷增多。Ruby愛好者們樂于談論JRuby在繁重負載下的良好工作狀態Scala與Cloture則可以讓開發者們編寫出的代碼能夠在同一套JVM中實現比Java更多的功能性及更快的運行速度。

甚至連Java的擁躉們也開始嘗試使用JVM卻拋開Java的做法。比如說Groovy,這是一款集合了JVM及Java API的腳本語言。利用Groovy進行縮略并同時采用Grails,大家就能夠以類似Rails的編碼規則進行工作。需要調用Java函數庫?鬧太套。Groovy自身的無縫工作設計讓我們完全能夠在不用大括號的前提下實現Java的全部功能性與穩定性??傊?,有了它,媽媽再也不用擔心我的編程。

編程發展趨勢第二位: JavaScript 不再只為JavaScript

JVM并不是惟一一款向各類語言敞開大門的跨平臺解決方案。JavaScript,這款過去常常被咱們的小妹妹用來為她的交友網站添加提示框的語言,現在也不再只局限于JavaScript編碼的苑囿。比起目前各類繁多的精巧語言交叉編譯器,JVM上的種種JavaScript實時引擎更是百花齊放。

以谷歌Web工具包來例。我們大可以像上個世紀九十年代在Swing框架上那樣編寫Java代碼,只要通過GWT編譯器的轉換,結果就可以順利運行于擁有JavaScript的臺式機、智能手機或者平板設備的瀏覽器中。至于客戶端上是否具備Java小程序插件或者JVM則完全不重要,因為瀏覽器中的JavaScript已經足以提供必要的支持功能。

CoffeeScript是這一領域中的后起之秀,這款縮略語言通過幫助討厭輸入各類標點符號的腳本語言用戶自動插入必要符號將目標代碼轉換為JavaScript可識別的格式。這個主意可謂深得人心,因此現下已經出現了像Coco、Parsec-Coffee-Script以及Contracts-Coffee-Script等一系列衍生產品,其中每一款都擁有各具特色的精巧元編程結構,旨在允許用戶更便捷地轉換代碼。

有些衍生產品太過成功,以至于它們自身幾乎也成為另一種全新的語言。想象一下,眾多Web開發者們只需利用jQuery敲出可用的代碼,而完全不必理會什么JavaScript語言的系統知識,這一切是多么美好啊。

如果大家認為上述事例還不足以說明問題,不妨點擊這個鏈接。這里有包括Ruby、PythonLisp、Scheme、Haskell以及OCaml等幾乎各種語言向JavaScript轉換的范例。

編程發展趨勢第三位: 代碼永遠不可能獨善其身

有位朋友曾經告訴我,他曾在位于密歇根州北部由他父親與叔叔親手搭建的小屋中生活過一段時間。這一小片天地只屬于他們自己,因為這里的一草一木、一磚一瓦都浸透他們的汗水。在那里,他們可以輕松地享受夕陽的撫慰并自由自在地沉浸在成就與自豪的情感當中。

編寫程序曾經也是這樣。按下編譯按鈕,那么轉換過后,代碼就會在我們的設備上有序運轉。當然,它與操作系統層之間存在交互,但同時它也是實實在在的有形成果,正如朋友所擁有的小屋。快看這個.EXE文件,這是我獨力完成的作品——在那段美好的時光中,我們完全可以這樣驕傲地向朋友們宣布。

然而,這種特征正在消失。我們的代碼越來越多地依賴于生態系統。舉例來說,許多PHP程序員都只是在為WordPress、Drupal、Joomla或者其它什么框架創建插件。他們的代碼總是同時也不得不以模塊化形式出現,以保障與其它模塊的并行運作。

有時具體的單位甚至更小,由代碼片段縮小為字符串。例如不少Drupal模塊就可以通過調整為PHP服務。程序員只需要將片段形式的代碼填充進去即可,而無需單獨創建任何新的內容。

當這一整套機制成為主導時,結果當然可能是積極的。但實際上,真正的結果往往喜憂參半。雖然大家使用的代碼片段能夠在引擎之下發揮作用,但隨之而來的還有大量調試工作。在多數情況下,錯誤都來自系統的核心部位,那是我們完全意想不到的問題來源。而且關于這部分內容的文檔資料也很少,因為基本沒人指望程序員能以這樣的深度剖析系統故障。

而在最極端的情況下,錯誤也許來自其他人所引用的代碼片段。而且我們根本無法同時對二者同時進行調試,因為整套機制的基礎正是大家各負其責,做好自己的部分。這時最好的解決方式往往是給對方打個電話,具體聊聊當前所遭遇的沖突。

這些工具常常作用于小型擴展及已經由框架原作者進行過加密的簡單工具。采取其它任何方案對于緊迫的調試周期而言都是一種賭博行為。拿出一套有效的后備資源來代替現有代碼,進而與自己的堆棧相結合進行讀取及跟蹤,這當然是不錯的想法,然而這種通用方案也已經越來越稀缺。

編程發展趨勢第四位: 圍墻花園模式鋪天蓋地

這類緊密集成的代碼堆棧同時帶來了陰暗面,即:圍墻花園。

互聯網的起步是以高度開放性為前提的。每個數據包都應被順利送往其目的地,而每位用戶也理應在信息與數據的大地上恣意馳騁。然而,這一承諾正在日漸衰落,原因卻不在于ISP(即互聯網服務供應商)所努力打造的流量整理或是嘗試數據包檢測技術。

如今,每個人似乎都希望退回到圍墻花園之中,因為這里的一切都安全而簡單。如果大家打算為iPhone做點開發工作,那就必須遵守蘋果所制定的那些含糊不清的規則,而且蘋果——也只有蘋果——能夠決定是否允許該程序運行在其設備上。這一切我們身為程序員卻無法自由把握,用戶的意見也不再產生效力。

無獨有偶,為Facebook制作游戲也同時意味著需要獲得Facebook的相關權限,借以與其用戶相連接。無論有多少用戶表示喜歡我們的產品,只要Facebook不放話,一切就都成了浮云。說到這里,我們不得不提起微軟。這家企業似乎在轉瞬之間就變成了最具開放性而且限制條件最少的大公司,同時也在用戶群中贏得了廣泛的同情之聲。他們對過去的成功表現得充滿敬畏,并在面對司法部對IE瀏覽器的窮追猛打時露出一臉無辜。只有天真的程序員才會相信其它公司不會像微軟一樣再次上演扮豬吃老虎的鬧劇。

圍墻花園模式中還存在著更深層的弊端,這比喪失控制權要嚴重得多。圍墻花園模式的供應商們對于獨立軟件開發者們通過勞動所獲取的收入始終虎視眈眈。從他們手中漏給程序員們的利潤也就只夠維持私有服務器勉強運轉。

這些自成體系的隔離手段同樣使得整個編碼世界根據所用語言的不同分裂成數個獨立的陣營。只在一瞥之間,我們就可以看到程序員們正從具備獨立個性的開放先行者淪為軟件工廠中的受剝削者。歡迎來到圍墻花園,希望大家早日習慣墻內的生活。

編程發展趨勢第五位: 開放性的喪失

對于所有成功的開源軟件來說,在細節處修補完善的特色正在逐漸過氣。iPhone的成功在每個人心中種下了隔閡與閉塞的種子。當然,最新的車載計算機使用的是Linux系統,但希望大家不會天真地以為輸入“安裝”,這套東西就自己跑到你的車上了。

即使我們承認剎車系統被重新設置的確非常危險且駭人聽聞,但導航系統難道就真的萬無一失嗎?汽車工業始終在鼓吹他們所選定的系統將如何與我們的手機緊密契合,但這套系統的開放程度仍然無法望桌面系統之項背。事實上目前所出現的一切新鮮事物恐怕都很難在開放性上達到過去桌面系統的水準。而且甚至連桌面系統也開始逐漸喪失自由,大家有沒有想過,為什么Windows 8的安全啟動架構要剝奪我們使用其它備用操作系統的權利?

這勢必會影響到創新精神在未來的發展走向。在車庫中埋頭鉆研的黑客及程序員們將不得不拋開令自己頗為自豪的開發成果,轉而投身于那些碌碌無為的大眾工作當中。失去了開源實驗的動力將對售后市場造成毀滅性的打擊。而且企業將越來越難以聘請到自身需要的人才,因為程序員們往往是在對開源軟件的修補工作中成熟起來的,失去了培養技能的溫床,他們將無法填補關鍵性的職位空缺。

不過話說回來,前途也并非一片漆黑。我們仍然能夠看到一些振聾發聵的喜人特例,這種希望通常出現在程序員之間所共享的代碼中。以Apache為例的某些項目始終茁壯成長著,并吸引到了充足的財政支持以支撐頂尖人才的引進。Github與SourceForge仍然在不斷推出更多新項目,同時也不乏在尖端領域為開發者們開拓實驗平臺的系統。然而,純開放式系統在終端客戶群體中的大規模成功還是相當罕見,這似乎在很大程度上受到了主流專有制度的不良影響。

編程發展趨勢第六位: 帶寬不再免費

Web程序員在成長過程中始終相信帶寬這東西既免費又會隨著時代的前進而不斷提速。我們也沒必要為緩慢的下載時間而煩惱——不出一年,個人連接就會得到大幅強化,而問題也會迎刃而解。然而遺憾的是,這種好日子已然一去不復返互聯網服務供應商們,感謝你們定下的帶寬上限以及各種坑爹的計費方式。

無論大家對那些通過破解攫取帶寬進而破壞整體網絡的家伙、占有整條連通線路并制定霸王條款的運營商以及按瀏覽次數計費的視頻提供者采取何種態度,毋庸置疑的一點是,帶寬正成為程序員們需要費心分神的一大消耗品。

這將徹底改變許多圍繞云建立起來的機制,因為我們從自家計算機上發往云端的流量都會被納入計費范疇。電臺能夠在保證我們正常收聽的同時,從廣告中獲得必要的財務收入嗎?在線備份又能否繼續發揮作用?

在設計應用程序時充分考慮帶寬消耗的優化正成為如今的當務之急。將JavaScript與CSS文件盡可能壓縮所帶來的不只是速度的提升;它同樣會節省帶寬。如果程序員不順應這一趨勢,那么他們所編寫的代碼在不久的將來也許會給用戶帶來更高的帶寬使用費。

#p#

編程發展趨勢第七位: 能源同樣不再免費

保證計算機設備運作所帶來的成本過去曾一度可以忽略不計。那時我們的服務器機架無論消耗掉多少能源,最終拿到手上的繳費單永遠不會嚇人一跳,因此根本沒人在乎這方面的開銷。

然而一切都改變了——能源消費成了一項重大問題,無論大家是為智能手機還是為服務器群開發程序,這都成了需要認真對待的關鍵性指標。我就有一部Android手機,其最大的局限在于,就算啥任務也不處理,它的待機時間也只有八個小時。如果大家設計出一款比GPS功能耗電速度更快的應用程序,那毫無疑問它的下載量將會慘不忍睹。

服務器程序員對這個問題可能認識不深,因為在他們眼中降低能耗似乎與自己扯不上關系。他們對于處理速度頗為慎重,但對數據庫處理過程所帶來的能源成本則知之甚少。谷歌在這個問題上屬于走在時代前沿的幾家企業之一,他們在尋找低成本能源方面投入了大量資金以支持大量的搜索活動??雌饋碓摴舅坪踉谝詥为毜乃阉骰顒訛閱挝挥嬎隳茉聪?,并量度其所能帶來的廣告收益,進而協調整套搜索服務的投入產出比。

云計算則將這一問題進一步推上臺面。那些相比之下更為復雜的云——例如谷歌App Engine或是Amazon S3——不以機架或是啟動密碼數量計費。它們采用的是以數據庫提交及查詢量為單位,盡管這給大多數程序員帶來了新的挑戰,但不可否認,這樣的機制使能源成本更加趨于透明化。在它們的推動下,大家會開始習慣于認真考慮每個子程序所帶來的支出,而不是僅僅關注代碼行或者毫秒級的執行時間。

編程發展趨勢第八位: 傳統教育方式已經不再重要

問起任何一位項目管理者,他們都會抱怨頂級計算機科學部門缺乏足夠的人才。到目前為止,他們可能仍然愿意在不考慮簡歷是否精彩的情況下從一流高校中聘請一位主修文職專業的學生。但一旦討論起一位來自同所學校、但已經步入中年的編程求職者,管理者們往往顧左右而言他,最多扔下一句“請等待電話通知”。

事實上,不少首要技術公司都在向美國國會抱怨,聲稱他們不僅無法從美國公民中找到足夠多的編程專家,同時也很難在與大齡名校程序員之間關于年齡歧視的訴訟中贏得勝利。

這種現象可能說明,教育經歷的附加值已經逐漸淡出企業的主流價值觀。年紀較長且具備同等教育背景的員工們曾經是業內炙手可熱的人才,但如今他們卻反映,企業只喜歡年輕且沒有家庭拖累的新員工,因為這個群體能夠勝任更多加班工作。由此我們不禁想到,也許新鮮的本科學歷能否令人滿意并非重點,企業所真正看重的是年輕所帶來的較低的薪酬期望。

有些企業則直接跳過這類問題,將四年制高校學習簡單視為制約市場發展的一項扭曲規則。風險投資商人們往往愿意為那些忽略了本科教育的潛力型人才提供資金,而另一些企業則正在積極招募擁有特殊技能的員工,并通過集中培訓的方式幫他們迅速掌握工作所必需的實用性技能。在他們眼中,高校課程中常見的理論分析能力幾乎沒有什么價值。

對于傳統高校教育摒棄程度最深的莫過于PayPal創始人Peter Thiel所采取的方案。他大量招聘那些剛剛從高中畢業的年輕人,并為他們提供“一站式”高校教育,以培養頂尖編程人才。孩子們得到了工作,而Peter Thiel也擁有了眾多年輕且極具可塑性的骨干力量。

另一些人更關注普通高校那令人錯愕的學費增長上,認為短期而更有針對性的集中式教育具有更為積極的經濟意義。一位有著四十年職場經驗的頂級高校畢業生每個月會給我們帶來1500美元的純教育支出(也就是25萬美元薪水的6.8%),相比之下充分利用供應商的網上課程與培訓則能夠顯著降低這一成本。

《Fast Company》一書中曾收錄了這樣一篇文章,其中涉及一個問題,即“為什么要在二者實際工作能力對等的情況下,優先雇用一位博士而非自學成才的少年?”緊接著,文章通過闡述企業可資借鑒的實習方案回答了這一問題。事實證明,只要培養得當,就算沒有花哨的學歷,企業照樣能夠獲得真正的人才。

編程發展趨勢第九位: 準確性要求削弱,可擴展性高于一切

多年以前,ACID主導著數據庫領域。挑戰在于建立一套堅不可摧的系統,以保證每條查詢都得到準確且一致的響應。颶風、核武器抑或是管理者的錯誤插拔都不應該對數據庫造成影響。使用這類服務的大客戶包括銀行、酒店以及航空公司,而他們最看重的就是銀行賬戶以及預定信息的一致性與準確性。

時至今日,業界的工作重心轉移到了尋求一種簡便的方式,借以存儲我們生活中所涉及的點點滴滴。從我們曾經游歷過的地方到與朋友們之間爭論的話題,將當下世界上每個人的所有細節以快速且有效的手段記錄在案才是專家們的終極目標。

在處理這一問題的過程中,那些最具才智的人們很快意識到,恰當地拋棄干擾因素、忽略非關鍵性條件才是真正簡化工作的不二法門。如果某些狀態更新消失了,哪些人會注意到?如果某些人在使用查詢服務選擇了一家咖啡廳后,卻沒能得到與期望一致的接待,那可能也沒什么大不了的,因為他們可能日后還會再次光臨。在新一代數據管理者意識到他們可以通過降低對準確性的要求來大幅節約計算周期及相關基礎設施的建設開支后,NoSQL及其它類似的數據存儲機制也就應運而生了。

現在,摒棄對Web準確性的要求成為縮減處理時間及資金投入的優先方案。大家不妨嘗試用一些以Web為基礎的工具搜索一下老舊的郵件消息,結果是,這些工具往往會偷偷忽略掉一些陳舊內容。這一現象反映出搜索標準正在經受的緩慢侵蝕。就拿谷歌為例,他們悄悄取消了使用加號進行邏輯搜索這一功能。一旦數據庫管理員之間達成共識,我們肯定會看到越來越多的Web工程師用各種掩人耳目的方法巧妙地逐步放棄對準確性的執著追求。

編程發展趨勢第十位: 真正的并行架構開始付諸實踐

計算機架構師們已經花數年時間討論如何在設備中引入真正的并行機制,但擔當前鋒角色的程序員們卻剛剛得到工具,為這一設想付諸實踐而著手工作。

并行技術突出作用于兩大領域:多節點數據庫與Hadoop作業。當然在某些情況下二者之間也互有交集。

大多數NoSQL數據存儲系統用于幫助我們將大量工作負載分攤給多臺計算機。有些提供自動分區,用于將數據集劃分成塊、將指定塊同步至目標計算機并且在必要時直接查詢擁有對應內容的設備;另一些則提供復制或備份功能,此類功能相對比較傳統。當然也不乏二者兼而有之的系統。

Hadoop是一款開源框架,能夠協調數臺計算機共同處理同一問題,并將全部答案整合起來,并編譯成一種統一的結果。該項目在一定程度上模仿了由谷歌開發的Map/Reduce框架,后者主要用于同步信息搜集系統,但Hadoop的發展前景無疑比這些前輩要光明得多。

此類工具讓多設備協作處理同一問題的能力得到大幅增強。如今的基礎設施非常牢固,足以讓企業架構師們在略加點撥與稍有困擾的情況下,成功完成對大量設備機架的部署。

編程發展趨勢第十一位: GPU壓倒CPU

就在幾年之前,CPU芯片制造商還是這個世界上賺錢最容易的企業之一。然而隨著圖形處理器的市場認可度不斷攀升,那段美好的時光也轉瞬即逝了?,F在我們經常看到一些小朋友在整套計算機設備與操作系統上花上三百美元,卻愿意為一塊發燒級顯卡砸上六百美元。

游戲愛好者并不是癡迷于顯卡的惟一群體。那些需要高功率計算能力的科學家們也在對GPU進行重新編程,用以分析蛋白質折疊結構或是猜測最小粒子單位的秘密。英偉達公司還為針對非玩家群體打造的設備召開了數次重要會議,他們為那些想要打造超級計算機的科學家奉上了極為貼心的顯卡產品。美國橡樹嶺國家實驗室計劃在一臺超級計算機上安置一萬八千個來自英偉達公司的Tesla GPU,在這種強力加持之下,這臺設備預計將登上世界計算機五百強的冠軍寶座。不過他們同時也得為能源部提供一套精致的模型,以闡釋整套體系的運作狀態及能耗情況;畢竟這樣一套怪物級設備同時也如同在只碩大無朋的電老虎,光靠玩反恐能跑多少幀可說服不了政府的官員們。

原文鏈接:

http://www.infoworld.com/d/application-development/11-programming-trends-watch-179761?page=0,0

【編輯推薦】

  1. 微軟Kodu震撼登場 娃娃專用的編程語言
  2. 從過去5年編程語言的演化看未來趨勢
  3. 適合IT經理的編程語言
  4. 眾家評說谷歌新編程語言Dart
  5. 2011下半年Web編程語言和腳本語言的就業趨勢
責任編輯:陳貽新 來源: 51CTO
相關推薦

2017-11-29 11:43:22

2016-09-20 23:05:30

2022-01-17 08:00:00

云安全網絡安全云泄露

2021-08-06 06:37:27

Serverless無服務器計算服務器

2011-12-23 10:07:29

云計算私有云

2011-07-22 11:03:17

移動設備

2016-01-06 11:27:18

社交媒體2016趨勢

2019-08-09 09:00:00

區塊鏈加密貨幣比特幣

2024-07-08 00:00:03

2021-01-12 11:47:48

視頻會議電子信息

2018-03-21 06:08:39

無線5G網絡

2017-12-27 10:54:02

開源發展趨勢OpenStack

2018-03-27 14:45:28

2010-04-21 12:18:00

2019-11-26 09:00:00

DevOps軟件開發

2020-02-11 14:18:45

技術研發指標

2020-12-17 09:00:00

金融區塊鏈安全

2019-12-25 11:32:21

存儲數據存儲IT

2024-02-20 11:22:34

AI人工智能

2012-02-20 10:16:08

云計算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清久久 | 免费黄色在线观看 | 久久国产美女视频 | 免费日韩av网站 | 在线看无码的免费网站 | 亚洲欧美一区二区三区1000 | 国产色在线 | 亚洲一区二区三区在线视频 | 亚洲大片在线观看 | 久久精品网 | 精品视频一区二区 | 国产玖玖| 精品一区av | 中文字幕精品一区二区三区精品 | 91影院在线观看 | 九九av| 国产精品视频一区二区三区不卡 | 一区二区三区国产 | av在线天堂 | 亚洲一区综合 | 精久久久 | 成人一区二区三区在线观看 | 亚洲最新在线视频 | 精品久| 国产精彩视频 | 青青草网站在线观看 | 国产精品久久久久久久白浊 | 亚洲精品久久久一区二区三区 | 国产久| 一级高清 | 欧美激情一区二区 | 久久成人一区 | 欧美日韩不卡 | 在线视频一区二区 | 欧美乱做爰xxxⅹ久久久 | 羞羞色视频 | 久久噜 | 国产区精品| av免费观看在线 | 亚洲欧美中文日韩在线v日本 | 精品影院|