導航:首頁 > 編程語言 > 編程語言的比喻

編程語言的比喻

發布時間:2022-08-11 12:59:59

A. 一個巴掌拍不響,編程語言比作凸鑰匙,那麼鎖一定是對應的凹點完全吻合,匯編C語言導入對應的引發是什麼

計算機理解代碼的過程就是編譯過程

詳細解釋太多,就不手打了

看這個連接:https://cloud.tencent.com/deve

希望你能明白!

B. java是什麼意思

Java是由Sun微系統公司所發展出來的程序語言,它本身是一種對象導向(Object-Oriented)的程序語言。JAVA目前在手機上應用最多的就是JAVA游戲。 Java也號稱是能跨平台使用的語言,這主要是因為Java本身被編譯之後,並不是直接產生可執行的碼,而是產生一種中間碼叫作 ByteCode,這種碼必需在透過 Java 的直譯器來解讀它,才能夠真正的被執行,所以只要平台上裝有這種Java的直譯器,就能解讀ByteCode也就能執行Java編譯過的程序,故與Java程序是在那種平台上被編譯的,就完全沒有干係了。Java寫出來的程序可分為兩類,分別是Java Applet與一般的Application,而Application 這一類就與一般的程序如C++的作用是比較類似的,是一個獨立可執行的應用程序,像HotJava是一個瀏覽器,且就是使用Java程序所發展出來的。最常見的Java程序包括應用程序和applets。應用程序是單獨的程序,諸如HotJava瀏覽器軟體就是用Java語言編寫的。 Applets類似於應用程序,但是它們不能單獨運行, Applets可以在支持Java的瀏覽器中運行。Applet主要是內置於HTML網頁中,在瀏覽時發揮作用。 Java的目標是為了滿足在一個充滿各式各樣不同種機器,不同操作系統平台的網路環境中開發軟體。利用Java程序語言,可以在網頁中加入各式各樣的動態效果。可以放上一段動畫,加入聲音,也可以建立互動式網頁等。

C. 百戰程序員:編程語言到底有多少種

這個有很多種的,下面講解寫常遇到的。把編程語言比喻成車:

Ada 是輛丑到極點但是永遠不會出故障的坦克。

C 是輛賽車,它能跑得超乎想像得快,不過每跑個 50 英里就會拋錨。

Cobol 號稱是輛車,不過沒有哪個有自尊心的駕駛員肯承認曾經開過。

C# 是輛競爭模式的家庭旅行車。一旦你開過它,你就不會再用其他競品廠商的產品了。

C++ 是輛大馬力版本的 C 型賽車,它額外提供了成打的特性,而且每跑 250 英里才會拋錨,不過當它真出問題的時候,沒有人能找到究竟是哪兒壞了。

Eiffel 是輛內置了法國口音駕駛說明的汽車。他會幫你快速地找到錯誤並從中學到東西,不過你要是敢跟他爭論的話,他會罵你然後把你從車里扔出去。[來自 Daniel Prager ,稍有修改]

Erlang 是一個車隊,它們會互相協作把你送到任何你想去的地方。想要每隻腳各自操縱一輛車還是需要一些練習的,不過一旦學會了之後你就可以駕駛著它們通往其他方式難以企及的地方了。還有,你用了那麼多輛車,所以就算有幾輛壞掉也沒什麼可擔心的。

Forth 是你親手用套件組裝出來的車。你這輛車不論長相還是功能都沒必要和別人的一樣。不過,Forth 型號的車只能倒著走。

[Digg.com 網站上的評論,來自 256byteram(我忍不住要把它加上):]

FORTH LOVE IF HONK THEN !(譯註:抱歉我實在不知道這句話是啥意思……)

Fortran 是輛非常原始的車。它能跑得很快,前提是你要始終在完全筆直的道路上開。據說學開 Fortran 型汽車會導致你再也沒法學開其他型號的汽車了。

Java

Java 是輛家庭旅行車。它駕駛起來很容易,開起來速度也不會太快,不至於傷到你自己。

版本1:Haskell是輛設計極端優雅漂亮的車,傳聞它能開到非常極端的地形中去。當你試圖駕駛它的時候,它並不是真的沿著道路在前進的;實際上,它是不斷把自己和道路進行復制,每次成功復制之後,車在路上都會比上一次更遠一點。應該還是有可能按照傳統的方式來駕駛它的,不過你的數學能力不足以找出這個辦法來。

版本2:Haskell 並不是輛真的車,它是一個抽象的機器,能夠詳細地告訴你駕駛這個過程應該是什麼樣子的,如果你願意的話。你必須把這個抽象的機器放到另一台實際的機器裡面才能開動它,別問這個實際的機器是怎麼運行的。還有一種方法,你可以用多台抽象的機器造出另一台抽象的機器,然後把它交給那台實際的機器,這樣就能一個接一個地完成你的旅途了。[Monadic 的版本]

版本1:Lisp 看起來像一輛車,不過經過足夠的改裝,就能把它變成非常有效的一架飛機或一艘潛艇。

版本2:一開始它看起來一點兒都不像一輛車,不過時不時地你也能看到有人在開著它轉悠。終於有一天你決定多了解一下它,然後你意識到它其實是一輛能造出更多汽車的汽車。你把這個發現告訴了朋友,不過他們都大笑著說這些車看起來太奇怪了。至今你仍在車庫里留著一輛,期待著哪天能把它開上路去。[來自 Paul Tanimoto]

Mathematica是輛設計得很好的車,它從 Lisp 型汽車那裡借鑒了大量的東西,卻連一點兒應得的贊揚都不給它。它能通過方程計算出到達目的地最高效的路徑,只不過這要花上一大筆錢。

是輛設計給新手用的短途旅行車,通常都是開往那些 Mathmatica 型汽車常去的地方。在那些地方這車開起來非常舒服,不過只要你偏離了路線,哪怕只有一點點,它就會變得非常難以駕馭,以致於很多勢利的司機根本就不承認它是一輛車。

Ocaml 是輛非常性感的歐洲車。它不像 C 那麼快,但它從不出故障,所以結果你反而會花更短的時間到達目的地。不過因為這是法國,所有的控制裝置都不在它們平時該在的地方。

Perl 應該是輛挺酷的車,不過駕駛員手冊卻難以理解。另外,就算你能找到方法去駕駛一輛 Perl 型號的車,你也開不起來別人的 Perl 型汽車。

PHP 是輛熱狗車(Oscar Mayer Wienermobile),它非常古怪、又難以駕馭,但是所有人卻還是想開它。[來自 digg.com 網站的 CosmicJustice]

版本1:Prolog 是全自動的:你告訴它你的目的地是什麼樣子的,然後剩下的駕駛工作它就全搞定了。[Paul Graham附加的:]不過,大多數情況下,確認目的地所花的工夫,和你直接開過去也差不多了。

版本2:Prolog 這輛車上裝了一個獨特的試錯型 GPS 系統。在通往目的地的路上,它會一直往前開,如果走到死胡同了,它就調頭回來再試試別的路,如此不斷往復,一直到目的地為止。[我忘了是誰建議的這一條]

python 是輛非常棒的給初學者用的車,就算沒有駕照也能開。除非你想開得超級快,或者想開去很危險的地方,否則你可能永遠都用不到別的車。

Ruby 這輛車是因為一次 Perl、Python 和 Smalltalk 三車相撞事故產生的。一個日本的機師找到了這些車的碎片然後拼成了一輛車,很多司機都覺得這比那三輛車加在一起還要好。不過也有些司機會發牢騷說 Ruby 型汽車的好多控制器都是重復的、甚至有三份,而這些重復的控制器在某些特別的情況下又稍有不同,這會讓這車開起來更麻煩。據傳說重新設計的工作已經在進行中了。

Smalltalk 是輛小型汽車,原本是設計給那些打算學駕駛的人用的,不過因為它設計得太棒了,即使那些有經驗的老司機都喜歡開它。它速度並沒有很快,不過你可以把它的任何一個零部件拿下來改造改造,讓它更符合你的期待。古怪的事情是,你其實並沒有真正地駕駛它,你只是發了條消息讓它去什麼地方,然後它要麼就開過去了,要麼就告訴你它不懂你在說啥。

版本1:匯編就只是個發動機。你得自己把車子造出來,還得在它跑的時候手動給它加油。不過只要你足夠小心,它就能像來自地獄的蝙蝠(a bat out of hell)一樣飛速前進。

版本2:匯編:你自己就是那輛車。

如果編程語言是種武器:

C 語言是 M1 式加蘭德步槍,很老但可靠。

C++是雙截棍,揮舞起來很強悍,很吸引人,但需要你多年的磨練來掌握,很多人希望改用別的武器。

Java 是 M240 通用彈夾式自動機槍,有時它的彈夾是圓的,但有時候不是,如果不是,當你開火時,會遇到 NullPointerException 問題,槍就會爆炸,你被炸死。

Scala 是 M240 通用機槍的變種,但它的使用手冊是用一種看不懂的方言寫的,很多人懷疑那隻是一些夢話。

JavaScript 是一把寶劍,但沒有劍柄。

Go 語言是一種自製的「if err != nil」發令槍,每一次發射後,你都必須要檢查它是否真的發射了。

Rust 語言是一種 3D 列印出的槍。將來也許真的能派上用場。

bash 是一個十分礙手的錘子,你掄起它時會發現所有東西看起來都像釘子,尤其是你的指頭。

Ruby 是一把外嵌紅寶石的寶刀,人們使用它通常是因為看起來很炫。

PHP 是水管子,你通常會把它的一段接到汽車的排氣管,另一端插進車窗里,然後你坐進車里,開動引擎。

Mathematica 是一種地球低軌道粒子大炮,它也許能夠干出很神奇的事情,但只有付得起費用的人才能使用它。

C#是一種強悍的激光大炮,架在一頭驢子上,如果從驢子上卸下來,它好像就發不出激光。

Prolog 語言是一種人工智慧武器,你告訴它要做什麼,它會照做不誤,但之後,它會弄幾個終結者出來,燒掉你的房子。

Lisp 語言是一把剃須刀,有很多款式。只有尋求刺激和危險的人才會使用它。

希望可以幫到您,謝謝!

D. 如何學習一門新的編程語言

心態這不但是學習一門新的語言最重要的,而是對任何的學習都是最重要的。下面是書中的描述,非常的精彩,特別是那個比喻: 學習一門新的語言的時候,要利用以前所學的語言的功底,但是也要保持開放的心態。有些人執著於一種理念:這就是寫所有程序必須遵循的方法。我不是說那種語言,但是某些語言,令人執著於這樣的理念。當開始學習新語言的時候,他們會批評這種語言跟真正神的語言的所有的不同之處。當使用新語言時,他們極力使用神的語言的方法去寫。這樣,你就會錯過這個新語言真正的獨特之處。 這就像你本來只有一個榔頭,有人給了你一個螺絲刀,你說哎,這不是一把好榔頭,但是我應該可以倒著拿螺絲刀,用螺絲刀來砸東西。你得到了一個很爛的榔頭,但事實上它確實一把很不錯的螺絲刀。所以你應該對所有的事物保持開放和積極的心態。 如果你的杯子滿了,那他永遠再也裝不進水了。如果你認為你找到了銀彈,那麼你可能就要固步自封了。 對新的事物,方法保持一個開發而積極的心態,才能真正了解他,了解他的獨特之處。 了解他的歷史,哲學觀 那python來說,他的設計哲學是用一種方法,最好是只有一種方法來做一件事,而perl的設計哲學是總有多種方法來做同一件事。所以,我選擇的是python。 了解這方面的知識的一個非常好的來源是網路網站。 代碼,代碼,還是代碼 代碼是學習一門語言的必經之路,可能也是最快的一種方法。 社區多去這個語言的社區逛逛吧,這里有很多人在討論這種語言,和他們一起討論你能夠學到更多。 出發點:工作兩到三年內,我的主要開發語言是c。後來由於工作的需要,要實現一個流程引擎(屬於預研項目)。在研究的過程中發現使用c語言處理這種邏輯比較復雜的程序有些力不從心,我想嘗試使用面向對象的方式處理這個問題,所以我想到了c++。現在回想起來,其實當時自己也就是想使用c++的面向對象特性,我現在也基本只使用了c++的一個子集:面向對象。 起步:當時我們公司沒有人使用過C++,我也是在大學的時候接觸過,後來也沒有用過,所以整個過程困難還是比較多的。因為有c的基礎,所以我沒有看c++的入門資料,比如《C++primer》(其實我到現在也沒有從頭到尾讀過這本書,c++的很多特性我也沒有使用過。),我直接使用c++來編寫程序。中間遇到很多低級的問題,比如如何定義一個類的static成員變數;虛函數如何定義,如何使用;stl中string,list如何使用;c++如何調用c的庫等等。這些問題都比較好解決。 最大的障礙:從c到c++,最大的障礙不是語法的障礙,而是思維方式的轉變: 由面向過程到面向對象的轉變 。這個轉變時一個漫長的過程,我現在仍在進行。當時開發是為了更好的使用面向對象,快速的瀏覽了一下《設計模式》中的23個設計模式。現在想想,如果能夠找一份開源的c++代碼看看也許效果更好。 深入與提高:最終我還是用c++實現了我的目標。不過,這個程序在高層設計上採用的是面向對象,在中層和底層設計上仍然使用的是面向過程的思路。在這個過程中,我對c++和面向對象有了更深入的理解,也積累了一些經驗。這個時候我沒有選擇全面的學習一些c++的語法,而是選擇學習《effective c++》。這本書對外影響很大,讓我知道如何去更有效的使用c++。學習的過程中也許會遇到一些不會的語法知識,查一下資料就可以解決了。後來又在幾個項目中使用了c++,慢慢的有些得心應手了。 下一步計劃:對於c++的語法,我的觀點是用到了在學。我下一步的計劃是學習《more effective c++》,《c++ 沉思錄》,《深入理解c++對象模型》,以求對c++有更深入的理解。另外,再深入的學習一下《設計模式》。還有就是google的c++編程規范。對於是否要涉及c++的其他子集,比如模板,我會繼續觀察,看有沒有這樣的需求。當然,有一點很重要,就是要在工作中去用它解決問題。 關於python學習出發點:這門語言我剛開始學,還沒有學多長時間。我沒有想完全拋棄c++,但是我想找一個更加方便高效的工具來完成某些任務。我以後可能會考慮將python和c++混合使用。選擇python的另一個原因是google也在用它。 起步:找了一個入門的資料《簡明python教程》學習了一下,對python語法有了一個基本的了解。然後選擇《diveintopython》深入學習,目前還沒有學完。不過現在感覺有些問題,自己好像陷入到了這些細枝末節中。所以准備做一些調整。 下一步計劃: 1)快速預覽《diveintopython》;2)找一個開源代碼學習一下;3)開始使用python來解決問題;4)後面深入提高。 最後總結一下: 3、開始行動,而非等待准備就緒:不要等你把一門語言完全掌握了再開始行動。把握重點之後,馬上開始行動,用它來解決問題,在解決問題的過程中,完成對語言的完善和更深入一步的學習。

E. C語言工作原理

作為一種編程語言,本身是談不上工作原理的,實際上C語言所有的語法,正是C語言編譯器的工作原理或者工作機制的具體實現。要細致的討論起來是不可能,但是作為C語言程序員,必須了解這個大致的流程。一個程序,從C語言源碼,到系統可執行的文件,一般經歷四個過程。
1、預處理階斷,這個階斷是文本處理階斷,有預處理器來完成,會將源碼中的帶"#"開頭的預處理命令進行相應的處理,在Linux上C語言的預處理器程序是cp命令。
2、編譯階斷,這個階斷是有C語言編譯階斷,在Linux上C語言的編譯器是cc命令,它將C語言源碼轉換成匯編指令。
3、匯編階斷,這個階斷是匯編編譯階斷,在Linux上C語言的匯編器是as命令,這個階斷會將匯編指令編譯成二進制機器碼。
4、鏈接階斷,這個階斷是會將匯編階斷生成的機器碼目標文件,裝載成一個系統可執行的文件,在Linux平台以ELF格式進行組裝,在Windows平台上以PE格式進行組裝。在Linux平台上的鏈接器命令為ld,在windows平台上的鏈接器命令為linker。

F. 什麼是JAVA

「什麼是Java?」

Java,由Sun Microsystems公司於1995年5月推出,它是一種可以編寫跨平台應用軟體、完全面向對象的程序設計語言。

不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。

B站尚學堂Java基礎教程

「什麼樣的人適合學Java?」

● 邏輯思維能力強

對於Java來說所有功能都是通過編寫代碼實現的,需要開發人員具備較強的邏輯性和運算性。

● 端正心態、踏實耐心

在平時的工作中會有一大部分時間是花費在解決bug上,在遇到問題後一遍遍的排查代碼,所以擁有良好的心態也是必不可少的優勢。

● 不斷學習的能力

隨著科技的發展會不斷出現各種新型的技術,開發人員需要及時的關注這些新技術並且轉化為自己技能。

G. 程序的概念

程序=演算法+數據結構
程序就是一系列有序執行的指令集合。
第一個答案對於大多數人其實等於沒有回答,因為演算法這個概念可能是一個比程序更為復雜的概念。

第二個答案算是有點容易明白,但還不能讓人明白程序能做什麼不能做什麼。

一,菜譜

材料: 五花肉半斤,尖椒一個,青蒜4-5根,(其實正宗的回鍋肉還要放豆乾,再放根紅椒點綴,咱家沒有,省略了),白糖2茶勺,生抽1湯勺,鹽2克,雞精,料酒,薑片,蔥段;蒜片,郫縣豆瓣醬1湯勺
做法: 預先處理:將整塊五花肉放入熱水中煮熟(筷子紮下去可以扎透),期間點些料酒,放兩片姜,兩三段蔥;然後放入冷水中冷卻。其中,冷水中冷卻的步驟可以使肉快速收縮,幫助成型,增加嚼勁兒,是普通廚子變大廚的關鍵步驟,不可省略哈。
青椒切菱形段,青蒜拍一下蒜頭,切寸段。蒜頭和蒜葉分開放。

預先處理過的五花肉切薄片,越薄越好。俺就這刀工了,算比較厚的啊。

蒜拍碎(沒拍),郫縣豆瓣剁成茸(碎點兒好看也好吃)。

處理好的肉片下油鍋,旺火煸炒。直至肉片打卷,變得焦黃。

將超好的肉片撥至一邊,下入蒜末和郫縣豆瓣,用小火炒出紅油。

倒入尖椒段和青蒜蒜頭,烹入糖,生抽,鹽。注意:郫縣豆瓣醬和生抽均有鹹度,鹽一定要酌情放。

待尖椒和蒜頭香味出來,放入青蒜葉及雞精兜勻。青蒜葉熟的很快,這個步驟只需要30秒或者更短,只要看到青蒜葉被油裹住就可以了。

出鍋

以上是網上找的一個回鍋肉的菜譜(貌似這個下酒好)。從廣義的角度來說這也是一個程序,怎麼說呢?

這個程序與計算機程序略微不一樣,這個程序的運行者是一個可以認識上面的文字,能正確理解每句話的意義,且有能力得到材料並按步驟執行的人。而計算機程序則是計算機可以理解和執行語句。

二,為什麼要有編程語言

就像上面的菜譜一樣,我們只要識得漢字基本都可以照著來執行。為什麼要有讓人看起怎麼都不能一下就接受的編程語言呢?

自然語言有歧義

男老師發現一女生上課睡覺,氣憤的說:我在上面累的要死,你在下面一動不動!不配合也就罷了,連點反應都沒有,將來要是肚子里沒東西,可別怪老師不行!
中國足球隊誰也打不贏。中國乒乓球隊誰也打不贏。
冬天太冷,出門時衣服能穿多少就穿多少。夏天太熱,出門時衣服能穿多少就穿多少。
地鐵里聽到一個女孩大概是給男朋友打電話,「我已經到西直門了,你快出來往地鐵站走。如果你到了,我還沒到,你就等著吧。如果我到了,你還沒到,你就等著吧。」
老婆給當程序員的老公打電話:下班順路買一斤包子帶回來,如果看到賣西瓜的,買一個。當晚,程序員老公手捧一個包子進了家門…老婆怒道:你怎麼就買了一個包子?!老公答曰:因為看到了賣西瓜的。
這是幾則最典型的漢語歧義,其它語種中一樣有很多這樣的歧義。看最後程序員這則,那麼就是老婆下了一系列指令但是執行者按照另一種意義去執行了。當然這例子還有不恰當的地方,我們也可以將指令改為:「下班順路買一斤包子帶回來,另外如果看到賣西瓜的,買一個西瓜。」。但是麻煩就在漢語本身並未限制我們必須如此,另外其它例子中的用法那就更加不容易確定意義了,還牽扯到語境。所以到今天為止計算機在處理自然語言上都還很糟糕。

自然語言不穩定

666, 蝦米, 醬紫, 沙發, 粉絲
以上這些詞語在有了網路後就多了一層意思,不上網的人可能根本不知道這多出一層意思。當然不穩定本質上還是帶來歧義。

因為這些原因才有數學語言(其實一樣有歧義,不然就不會產生數理邏輯這個分支了)、編程語言來規避歧義。

三,程序是什麼

這真是一個不好下定義的詞,比較可靠的回答都要涉及數理邏輯。無論是遞歸函數論、圖靈機模型、lambda演算都不是那麼容易掌握的。這些遠比學一門編程語言及掌握寫程序更難。所以在這里我們先只給出一個形象的比喻,程序就是一段編譯器或解釋器(這東西可能比任何人都要聽你的話,只要你能用它懂的語言來指揮)能聽懂的指令。

打開微信我們可以指揮微信,我們可以給好友發信息,可以加好友,可以發朋友圈,我們下什麼指令它就做什麼,我們下指令是通過點擊屏幕。而編譯器與解釋器也是類似的東西,不過這東西它只接受它認識的指令,它接受指令都是文字(主要是英文,數字,標點)。

四,計算、同構、模擬

對於同一件事比如我們要計算3+5,那麼我們可以有:

扳著手指頭左手3個,右手5個放在一起是8個手指頭
先拿出3個小球,再拿出5個小球放在一起是8個小球
我們在計算器輸入3+5得出8
這三個方法都可以計算出3+5的值,他們用了不同方法的形式但在對於計算3+5這個核心上是計算等價的。也就是同構的概念。

有了同構我們就可以模擬了,比如你有小球,拿它做了一次加法運算。但是我沒有小球我可以用手指頭或者石子來代替小球模擬你用小球做加法運算,並且得出和你一樣的結果。

我們是怎麼用程序來事的呢?主要就是用計算機中的數據來模擬現實中的東西。

比如攝像頭中的你腦袋往左移了一下,那麼本質上計算機中代表腦袋的那些數據的x坐標減去了一定的值,最終再輸出到顯示器上。
比如你在紙上解了一個方程,那麼在計算機也有一個模擬你每一步的計算的過程來得出和你一樣的值。只是你用紙和筆來進行,而計算機用它的方式來進行。

H. 為什麼現在會有這么多種編程語言

編程語言是靠「適者生存,優勝劣汰」的「編程語言進化論」來發展的,也許A語言的創造初衷也是為了打造適應性超強的萬能語言,但後來在實際過程中,大家會發現這門語言在B場景下用得很好,放到C場景下使用就會很蛋疼,於是這門語言在B場景下的適應性會越來越完善,大家都熱衷於完善它在B場景下的功能而忽略了C場景,於是C場景相應的功能由於沒有人維護而漸漸退化。

這時候,有人想兼顧A語言在B場景下的優秀特性,又想在C場景中發揮作用,於是它創造了D語言。後來有人覺得D語言還不夠好,於是又有了E語言、F語言,於是,「編程語言多樣性」就這么來了。編程語言如此之多,實際上是這個世界上的開發者共同努力的成果,大家都在嘗試把各門語言的優秀特性綜合,不斷地產生優秀技術來淘汰掉舊技術,是自然選擇演變而來的。你想當救世主,創造一門自以為是全世界最優秀的語言,實際上也只是為了編程語言的進化共享了一份力量而已。

I. 做程序員學習哪一種程序語言最佳

一般都是java,java是所有語言的基礎,並且所有的語言都離不開java,它可以算是老大哥了

J. 數據編程語言有哪些

1、Python語言

如果你的數據科學家不使用R,他們可能就會徹底了解Python。十多年來,Python在學術界當中一直很流行,尤其是在自然語言處理(NLP)等領域。因而,如果你有一個需要NLP處理的項目,就會面臨數量多得讓人眼花繚亂的選擇,包括經典的NTLK、使用GenSim的主題建模,或者超快、准確的spaCy。同樣,說到神經網路,Python同樣游刃有餘,有Theano和Tensorflow;隨後還有面向機器學習的scikit-learn,以及面向數據分析的NumPy和Pandas。
還有Juypter/iPython――這種基於Web的筆記本伺服器框架讓你可以使用一種可共享的日誌格式,將代碼、圖形以及幾乎任何對象混合起來。這一直是Python的殺手級功能之一,不過這年頭,這個概念證明大有用途,以至於出現在了奉行讀取-讀取-輸出-循環(REPL)概念的幾乎所有語言上,包括Scala和R。
Python往往在大數據處理框架中得到支持,但與此同時,它往往又不是「一等公民」。比如說,Spark中的新功能幾乎總是出現在Scala/Java綁定的首位,可能需要用PySpark編寫面向那些更新版的幾個次要版本(對Spark Streaming/MLLib方面的開發工具而言尤為如此)。
與R相反,Python是一種傳統的面向對象語言,所以大多數開發人員用起來會相當得心應手,而初次接觸R或Scala會讓人心生畏懼。一個小問題就是你的代碼中需要留出正確的空白處。這將人員分成兩大陣營,一派覺得「這非常有助於確保可讀性」,另一派則認為,我們應該不需要就因為一行代碼有個字元不在適當的位置,就要迫使解釋器讓程序運行起來。

2、R語言

在過去的幾年時間中,R語言已經成為了數據科學的寵兒——數據科學現在不僅僅在書獃子一樣的統計學家中人盡皆知,而且也為華爾街交易員,生物學家,和矽谷開發者所家喻戶曉。各種行業的公司,例如Google,Facebook,美國銀行,以及紐約時報都使用R語言,R語言正在商業用途上持續蔓延和擴散。
R語言有著簡單而明顯的吸引力。使用R語言,只需要短短的幾行代碼,你就可以在復雜的數據集中篩選,通過先進的建模函數處理數據,以及創建平整的圖形來代表數字。它被比喻為是Excel的一個極度活躍版本。
R語言最偉大的資本是已圍繞它開發的充滿活力的生態系統:R語言社區總是在不斷地添加新的軟體包和功能到它已經相當豐富的功能集中。據估計,超過200萬的人使用R語言,並且最近的一次投票表明,R語言是迄今為止在科學數據中最流行的語言,被61%的受訪者使用(其次是Python,39%)。

3、JAVA

Java,以及基於Java的框架,被發現儼然成為了矽谷最大的那些高科技公司的骨骼支架。 「如果你去看Twitter,LinkedIn和Facebook,那麼你會發現,Java是它們所有數據工程基礎設施的基礎語言,」Driscoll說。
Java不能提供R和Python同樣質量的可視化,並且它並非統計建模的最佳選擇。但是,如果你移動到過去的原型製作並需要建立大型系統,那麼Java往往是你的最佳選擇。


4、Hadoop和Hive

一群基於Java的工具被開發出來以滿足數據處理的巨大需求。Hadoop作為首選的基於Java的框架用於批處理數據已經點燃了大家的熱情。Hadoop比其他一些處理工具慢,但它出奇的准確,因此被廣泛用於後端分析。它和Hive——一個基於查詢並且運行在頂部的框架可以很好地結對工作。

閱讀全文

與編程語言的比喻相關的資料

熱點內容
初學c語言顯示源未編譯 瀏覽:245
資產概況源碼 瀏覽:472
dos命令建文件夾命令 瀏覽:378
解壓的密碼htm被屏蔽 瀏覽:502
冬天太冷冰箱壓縮機不啟動怎麼辦 瀏覽:83
手機打開vcf需要什麼編譯器 瀏覽:910
加密磁碟後開機很慢 瀏覽:271
長沙智能雲控系統源碼 瀏覽:258
阿里雲伺服器如何設置操作系統 瀏覽:999
超級命令的英文 瀏覽:783
做賬為什麼要用加密狗 瀏覽:586
考研群體怎麼解壓 瀏覽:159
linux修改命令提示符 瀏覽:226
圓圈裡面k圖標是什麼app 瀏覽:63
pdf加空白頁 瀏覽:948
linux伺服器如何看網卡狀態 瀏覽:318
解壓新奇特視頻 瀏覽:707
圖書信息管理系統java 瀏覽:554
各種直線命令詳解 瀏覽:864
程序員淚奔 瀏覽:147