03.01 C、C++、Java、JavaScript、PHP、Python、Ruby這些語言分別主要用來開發什麼?

衢州土郎中


c語言主要用於底層和驅動,編譯器開發

c語言高效底層,主要用於底層的開發,比如一些系統驅動;unix,linux系統和其上相關應用的開發;



有很多語言比如python、php、perl、ruby等都c語言開發的這些語言的核心庫,編譯器等開發都是c語言。比如鳥哥的php7的開發,就基本上全是c語言了,據說鳥哥在新浪的時候就成功把新浪的php碼農都帶成了c碼農。

還有就是如果某些應用如果對性能要求嚴格,那這部分可以用c寫,然後高級語言調用。

c++底層、圖像處理、遊戲

c++主要寫一些底層比如windows,office,web瀏覽器等很多都是c++寫的。

還有就是圖像處理和識別等都是c++。

大型的遊戲引擎等都是c++開發的,比如大家都玩過的暴雪的遊戲基本上都是c++開發的。



java web,系統,大數據

java用處就大了,筆者之前很多回答都提到過。



很多大型網站都是java開發,比如淘寶、京東。

很多系統級別開發也用了java,比如數學統計工具matlab。

Java在大數據、分佈式計算方面基本上是一枝獨秀,比如hadoop、HBase、Accumulo以及ELK 中的ElasticSearch、支持最大吞吐量的消息隊列Kafka以及其他大數據處理技術很多都是用Java以及基於java的scala。

java設計初衷就是為了小硬件系統而生,所以將來物聯網和智能家電等小系統少不了它。

javascript前端,基於node.js一些後端

js主要就是web前端用處,比如基本上所有語言都用的jquery,anguage,vue,還有現在層出不窮的新項目,新輪子。世界變化太快,眼太花,更不上了。



js在後端上基於v8引擎的node.js高性能的語言,現在也很多人在用。

js現在很火,崗位很多,出來java外就js最多了。

php web開發

php主要是web開發,基本上互聯網上絕大多數網站都是php開發的。下面是W3Techs最新的Web開發語言統計,php佔了83.2%:



pyton小腳本,數值算法,雲開發,ai接入

python是能快捷入門的小能手,適合隨手寫一些解決問題的小腳本。

用戶django寫寫web小應用,結合ansible,saltstack做dev ops運維自動化工具。這方面也很火,需求量大。



python在數值計算,ai方面也很火,基本上ai系統都提供python的接口,寫個人工智能應用很方便。

在雲方面,基於openstack的私有云開發也是一個很火,很重要的方向。

ruby主要是ror的web開發

ruby主要是快速迭代開發,作為初創企業用非常方便。基於ror(ruby on rails)有大量的項目,比如大家都知道git服務端,github,gitlab。



自動化和devops方面有Chef、Puppet。

安全方面有rapid7公司的安全滲透平臺巨無霸Metasploit。


蟲蟲安全


如果你把會的語言當成錘子,很可能看什麼需求都像釘子

程序語言都有誕生的緣由的

這幾個語言裡最早誕生的就是C語言,C語言幾乎可以做任何事情,上到應用,下到操作系統編譯器什麼都可以搞。但是什麼都可以做不代表什麼都需要它來做。

C++是在C語言的基礎上拓展了面向對象思想。其實C也可以做面向對象,但是會相對複雜很多。

後面由於C++的複雜度,各種內存洩漏的問題讓開發人員很頭大,然後就有了Java

Java能應用於各種應用場景,我們現在用的Android手機的應用絕大部分就是Java做的

PHP主要是做web後端的

Ruby Python可以用來做大數據等,也可以做後臺

JavaScript是網絡全棧的語言,現在還可以拿來做遊戲。甚至有了React Native和Flutter之後,可以用來開發移動端App

所以,哪個是你想學的?


星哥07


不同的語言自然有不同的應用領域,雖然有C++這種通用型、多範式的編程語言,但是總體來說大部分編程語言都有自己所擅長的領域和方向。

C/C++語言

理論上C/C++可以進行任何領域的開發,C/C++的優點是效率高,可以說在幾乎所有編程語言裡面效率最高了,但是因為C/C++學習成本相對較高,尤其是指針這種知識難度比較大,所以做應用開發難度極大,但是做系統級的開發卻非常有優勢。

常用在系統底層開發,驅動程序開發,嵌入式開發,基礎程序開發,以及大型的客戶端遊戲開發等等。比如你常用的macOS/windows/Linux系統,emacs/vim,visual studio集成開發環境,文本編輯器等等都離不開C/C++的開發。

Java為業務企業級應用而生

Java的特點是跨平臺,是比較徹底的面向對象編程語言,主要用於企業級應用尤其是服務器端開發,比如銀行、電子商務、大數據等等領域用得非常多。說得誇張一點,如果沒有Java,這個世界都將是黑暗的,阿里巴巴和各大銀行就是Java使用量最多的單位,而且在複雜業務邏輯,以及大併發領域Java目前還是有極大的優勢。

但是Java語言因為需要跨平臺,中間多出來一個JVM,這就使得Java對於硬件資源消耗特別嚴重,你常用Java繼承開發環境IntelliJ IDEA和eclipse,尤其是IntelliJ IDEA非常佔用硬件資源,就是因為這貨本身也是用Java開發的。

為Web而生的PHP/JavaScript

毫無疑問,現在最火的是什麼?互聯網!

那麼互聯網領域最重要的兩款編程語言就是JavaScript和PHP,PHP現在已經非常強大,尤其是在PHP7版本更新以後,在高併發上有了比較大的進步,直接威脅到Java的江湖地位,可以說做業務開發PHP幾乎是不二選擇了,開發效率非常高,比起Java明明兩三句話能扯清楚的事情非要扯半天,PHP簡直太友好了。

JavaScript就不用說了,前端語言,現在這貨可以做後端了,而且node.js的勢力越來越強大了,雖然這貨坑很多,但是依然是社區最活躍的編程語言。

Python/Ruby

其實我一直覺得ruby的語法很優美,然而松本行弘設計了它卻沒能把Ruby帶向輝煌,社區跟不上自然很難大火。

但是Python不一樣,雖然這貨因為某些不可描述的願意,不得不兩個版本並行,但是即使是這樣,也阻止不了Python越來越火,尤其是人工智能現在越來越火,python就開始火得一塌糊塗了,Python的優勢是語法極其簡單,可讀性非常高,入門門檻極低。作為學術研究語言再好不過了,目前在大數據分析、服務器端開發,以及非常紅火的人工智能領域有著重要應用。


EmacserVimer


程序語言都有誕生的緣由的

這幾個語言裡最早誕生的就是C語言,C語言幾乎可以做任何事情,上到應用,下到操作系統編譯器什麼都可以搞。但是什麼都可以做不代表什麼都需要它來做。

C++是在C語言的基礎上拓展了面向對象思想。其實C也可以做面向對象,但是會相對複雜很多。

後面由於C++的複雜度,各種內存洩漏的問題讓開發人員很頭大,然後就有了Java

Java能應用於各種應用場景,我們現在用的Android手機的應用絕大部分就是Java做的

PHP主要是做web後端的

Ruby Python可以用來做大數據等,也可以做後臺

JavaScript是網絡全棧的語言,現在還可以拿來做遊戲。甚至有了React Native和Flutter之後,可以用來開發移動端App


相容


不請自來回來下。

首先這些語言的出現是為了適合不同的場合或者說是時代需要的。

C語言

C語言誕生的比較早,主要用來開發底層驅動相關的東西。什麼叫底層,什麼叫驅動?如果你不明白,那我簡單說明下吧。

底層:底層就是我盟平常說的底層開發,一般和操作系統打交道比較多,我們都知道操作系統分為好幾層:


驅動

驅動是啥,就是負責我們的硬件和軟件通信。可以比喻為鵲橋,如果沒有喜鵲搭橋,那麼牛郎和織女就無法見面。


C++

好多人都認為C++就是一個帶類的C,有多少人事這樣認為的,可以留個言,我統計下。


其實有這種感覺的,就是沒有更近一步體會和了解C++,或者說是使用C++。


C++的效率和C有的一拼,而且有好多現成的輪子,不需要我們自己去創造,開發效率更高效。


適合圖像圖像、遊戲方面的開發吧。

比如這樣的圖像圖像軟件:


剩下的語言我就簡單說說。


JAVA

java主要開發大型的企業級系統吧。

很大的有點就是輪子太多,使用起來很順手。


PHP,Ruby

PHP大家都知道是幹嘛的了吧,pai huang pian.哈哈。用來開發網站,目前確實不如ruby好。


python

python跟著人工智能和大數據徹底火起來了,所以呢就是比較適合人工智能、機器學習、大數據開發相關的崗位了。


鵝卵石愛編程


c 應用非常廣泛,主要用於驅動開發,操作系統底層開發,網絡協議,嵌入式開發等等。

c++主要用於遊戲開發,世界上大多數遊戲都是用C++開發的,這就是為啥你電腦裝遊戲,總是讓你先安裝c++運行庫。也有很多人用c++開發軟件,多為跨平臺軟件。

java主要用於企業級髮型網絡應用。比如銀行系統的後臺,電信系統的後臺,用java開發網站的也非常多。另外一個重要領域是安卓APP開發,但是最近谷歌有慢慢擺脫java的趨勢。

JavaScript主要用於網頁前端開發。你瀏覽網頁,除了文字,鏈接,圖片之外的大多數效果都是用JavaScript開發的。也有一些人用JavaScript開發網站後臺,但是比較少。

PHP 基本上都是用來開發網站,沒有其他的。

Python是著名的萬金油,應用領域非常多。有用Python開發網站的,成功的例子也非常多,比如國內的豆瓣,知乎。也有用Python做數據分析,科學計算的。Python也經常被用於系統運維工具。也有很多人用Python+QT開發桌面小軟件,小遊戲。最近火爆的人工智能領域,Python也是首選語言之一。此外Python還是大多數黑客使用的攻擊和安全分析工具。甚至在嵌入式開發中Python也很火爆,現在很多的開源硬件都把Python作為首選開發語言。

而ruby則比較小眾,成熟的應用主要是用於網站開發。當然Ruby的能力很顯然不止是網站開發,但是實在是用的人比較少。


shawn25


編程語言其實都差不多,掌握一個,剩下的換湯不換藥,語法的問題罷了,程序的核心是算法與思維


醉風銘竹


對於這個問題,本人是外行,但為感激邀請又不得不說幾句,不然也顯得太不禮貌了。

這些都是運用電腦的一些代符,其實很簡單,只要在電腦上搜一下就知道,不必多問。

(很奇怪,邀請的回答怎麼越來越不適合本人,所以發揮不出生活積累,太不幸了!)


焚琴煮酒醉成仙


首先這些語言都有著各自的特點和各自較為擅長的領域。

通常情況下:

  1. c語言:服務器開發、嵌入式開發、驅動開發等;

  2. C++:服務器開發、嵌入式開發、遊戲開發等;

  3. Java:服務器開發、安卓開發、小程序、桌面應用等;

  4. JavaScript:動態網站開發;

  5. PHP:網站開發、服務器開發等;

  6. Python:大數據、雲計算、人工智能、機器學習等;

  7. Ruby:web開發

由於語言的特性,所以它們各自都有各自更合適的領域被使用。

求職百科


就我知道的知識來說

c/c++側重於底層開發

c是面向過程額的語言,多用於嵌入式開發、硬件相關的開發、各類物聯網硬件的開發,操作系統級別的開發也是用它無疑了。

c++面向對象的複雜的語言,比c功能強大,在遊戲開發,例如三維模擬、物理模型構建,發揮重要作用。

二者都是開發算法的優先選擇,性能好、效率高,厲害的算法工程師都必備的兩門語言。而且隨著人工智能發展,c++在算法、caffe框架上的作用大行其道。

java/PHP多用於web服務器端開發

java 是靜態強類型語言,在web開發領域扮演著舉足輕重的角色。從早期的servlet/jsp開發,到spring系列框架,它在服務器端的企業級網站架構上具有無人匹敵的地位,同是它在大數據,以hadoop/spark為基礎的各種技術棧中扮演著核心角色,雲計算的崛起也為其提供了廣闊的發展空間。

PHP是動態語言,在web開發領域,也是重要的角色,尤以小型網站、需要快速迭代產品線的公司受歡迎,它與linux、apache、mysql相結合的LAMP架構是最受歡迎的web開發模型。而且它很輕量級,比java簡便。

javascript是瀏覽器端的唯一語言

得益於早期火狐瀏覽器的開源精神,為了對抗當時的IE5,布蘭登·艾克用了10天設計了js,借鑑了當時流行的各門語言的精髓,如今是是世界上最流行語言之一,瀏覽器內置的js解釋器可以讓其輕鬆的被瀏覽器解釋,有網的地方就有js,其在操作html的DOM模型具有碾壓性的優勢,結合HTML 5/CSS 3/MVVM框架,也可以開發移動端應用,超級強大的動態語言。如今nodejs作為中間層,javascript可以獨立於瀏覽器之外。

Python是人工時代的寵兒

python是人工智能時代最流行的動態需要,在AI大行其道的時代,它在caffe、tensflow等流行開源框架扮演了重要角色,大量高效的科學計算開源庫、數據分析與處理方面的優勢,讓它越來越受到各界人士的喜歡。

依託diang、flask框架,它在web開發領域也可以作為補充發揮重要的作用。

另外,Ruby是一門日本人創立的語言,有一個優秀的web開發框架——rails,同是它也發明了sass,使css預備了變量、函數的概念,革命性的發展,對它不是很瞭解。

以上是我的答案,希望對題主有幫助~


分享到:


相關文章: