-
1 # IT人劉俊明
-
2 # 蝸牛學院
對於很多外行人來說,想要轉行IT,最讓人頭疼的事情,一定是:
我該學什麼?
選擇哪一門程式語言更好?
Java
Java作為一種程式設計語言,它簡單、面向物件、不依賴於機器的結構、具有可移植性、安全性、相容性、並且提供了併發的機制、具有極高的效能。
並且它最大限度地利用了網路,Java小應用程式 (applet)可在網路上傳輸而不受CPU和環境的限制。
另外,Java還提供了豐富的類庫,使程式設計者可以很方便地建立自己的系統。
Java主要分成三個部分JavaSE、JavaME、JavaEE。JavaSE是JavaME和JavaEE基礎,Java除了在企業應用和大型網站中最被青睞外,很多遊戲開發也喜歡使用Java語言。目前最主流的大資料框架Hadoop的應用主要就是用JAVA開發的。
總結:Java可用於網頁、 企業級開發、 普通應用軟體、 遊戲後臺。
C和C++
C++是C發展來的。C++是面向物件的語言,而C是結構化的語言(面向過程)。
C的大部分(不代表所有)程式碼在C++上都能應用,而C++的程式碼在C上不能應用。
C語言是最早的第三代語言,它出現是為了代替執行效率高但開發效率低下的組合語言,所以C語言是所有語言中效率最高的。
就目前來說, C語言主要用來開發底層模組(比如驅動,解碼器,演算法實現), 服務應用(比如web伺服器)和嵌入式應用(比如日常生活中的電器裡的程式)。
C++也可以做這些,不過由於C++的複雜性和標準問題, 人們還是更願意使用C來做。 C++更適合比較複雜但又特別需要高效率的設施,比如大型遊戲,一些基礎庫,大型桌面應用等等。
C語言是一個結構化語言,它的重點在於演算法與資料結構。C程式的設計首要考慮的是如何透過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事物)控制)。
C++首要考慮的是如何構造一個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以透過獲取物件的狀態資訊得到輸出或實現過程(事物)控制。所以C語言和C++的最大區別在於它們解決問題的思想方法不一樣。
總結:C主要用於系統底層, 驅動, 嵌入式開發。C++用於遊戲開發, 大規模, 高效能, 分散式要求的程式開發。
C#
C#語言是由微軟公司釋出的一種面向物件且執行在.NET Framework和.NET Core上的高階程式設計語言,它是完全開源且跨平臺的。
它專為公共語言基礎結構CLI所設計,它由可執行程式碼以及執行時環境所組成,可允許在不同的計算機平臺及體系結構上使用各種高階的程式語言。
C#提供大量的功能支援與接入,讓功能開發更加簡單,並且它是基於C語言的旖旎可以將C#語言編寫的框架轉移到其他語言上去。
總結:C#是windows開發環境下的主要語言,它主要是基於.NET框架做web應用,windows客戶端應用,軟體開發,各類遊戲開發等。
JavaScript
首先宣告,Javascript與java沒有任何關係,JavaScript是一種屬於網路的指令碼語言,已經被廣泛用於Web應用開發,常用來為網頁新增各式各樣的動態功能,為使用者提供更流暢美觀的瀏覽效果。通常JavaScript指令碼是透過嵌入在HTML中來實現自身的功能的。
總結:JavaScript是瀏覽器的指令碼語言,主要做網站的前端開發,展現各種酷炫的畫面。
PHP
PHP(PHP: Hypertext Preprocessor的縮寫,中文名:“超文字預處理器”)是一種通用開源指令碼語言。語法吸收了C語言、Java和 Perl的特點,入門門檻較低,易於學習,使用廣泛,主要適用於Web開發領域。無數的網站後端都執行著php程式碼。
總結:PHP主要是網路前端,用於生成網頁。
Python
Python語言是非常簡單易用的,由於具有豐富和強大的庫,它又叫做作膠水語言,能夠把用其他語言製作的各種模組很輕鬆地聯結在一起。所以它除了android應用和作業系統基本什麼都能幹,非常的強大,而且也非常容易學。
總結:Python,動態解釋型,開發效率高,開源,靈活,入門門檻低。
文末送福利,給大家推薦幾個好用的程式設計自學網站
1. CodeAcademy
2.Coursera
3. edX
4. Udemy
5. aGupieWare
6. GitHub
回覆列表
目前雖然世界上有600餘種程式語言,但是廣泛流行的程式語言也就幾十種,下面看一下最新的TIOBE語言排行榜:
下面就以這份語言排行榜的前20名語言為例,說一下這些程式語言的應用場景。
Java語言是目前流行度非常高的程式語言,使用場景包括Web開發、Android開發、後端服務開發、大資料開發以及人工智慧相關領域的開發。Java語言的特點是效能穩定且生態健全,號稱“網際網路普通話”,目前大型網際網路平臺往往採用Java語言來開發後端服務程式。
C語言是面向過程語言,可以說是程式語言界的常青樹,特點是效率高,C語言可以編寫作業系統(Linux)以及一些底層平臺的開發(容器),在物聯網相關領域有廣泛的使用。C語言比較鍛鍊程式設計師的編碼能力,可以作為第一門程式語言來學習。看一下TIOBE釋出的C語言流行圖:
C++語言是C語言的面向物件版本,C++可以用於構建業務邏輯非常複雜的系統,C++在執行效率上繼承了C的高效性,所以目前C++在對效率比較關注的領域有廣泛的應用,比如遊戲開發、多媒體開發等領域。另外,C++在科學計算、網路軟體開發方面也有廣泛的應用。
Python語言在近些年伴隨著大資料和人工智慧的發展而得到了廣泛的使用,另外Python也是Web開發的常見程式語言之一,Python的發展前景還是非常值得期待的,對於初學者來說,Python是比較容易上手的程式語言。
VB.NET是由VB發展而來的面向物件的程式語言,藉助於微軟強大的生態環境,VB.NET幾乎可以做大部分場景的開發,由於VB有大量的歷史開發者,所以VB.NET的應用也比較普遍。
C#也是一款微軟打造的可移植的程式語言,C#與Java的應用場景重合度比較高,在微軟的生態裡C#的地位還是比較重要的。C#可以做Web開發、移動端開發、後端服務開發以及遊戲開發等。
JavaScript是Web前端開發必須掌握的程式語言之一,隨著NodeJS的發展,JavaScript也正在從前端開發走向後端開發。JavaScript的發展前景還是不錯的,畢竟JavaScript在其應用場景中具備一定的優勢地位。
SQL用於操作關係型資料庫的語言,SQL是學習資料庫必須掌握的程式語言。
Go語言是目前發展比較迅速的程式語言,致力於效能的提升,尤其是在多處理器的任務排程上,在雲計算、大資料時代背景下,Go語言的發展還是非常值得期待的。
OC和Swift用於蘋果系統的開發,比如iOS下的App開發就需要使用OC或者是Swift,推薦學習Swift。
Delphi是曾經非常流行的程式語言,應用場景集中在PC端軟體的開發上,也可以開發分散式軟體。
R語言是統計領域被廣泛使用的程式語言之一,R與Python在目前的資料分析領域有廣泛的應用,在科學計算方面也有一定的優勢。
Assembly language(組合語言)是低階語言,應用在底層硬體開發領域,比如驅動程式、嵌入式作業系統等都需要採用組合語言來編寫。
Ruby是一個簡潔的動態程式語言,是由日本人開發的,Ruby可以做Web開發以及後端服務開發。
MATLAB是一款商業軟體,在科學計算、大資料分析等領域有廣泛的應用。
Perl語言是網路運維經常採用的程式語言,Perl在網路服務端可以做各種管理性操作,使用方便。
PL/SQL是專門面向Oracle資料庫的語言,是Oracle資料庫對Sql語言的一種擴充套件,可以用來實現複雜的業務邏輯。
VB是比較老的程式語言了,VB是微軟生態中的重要程式語言,在PC端有大量的應用,VB.NET就是基於VB開發的程式語言。