計(jì)算機(jī)語言入門應(yīng)該學(xué)哪個(gè)好,C++,Java還是Python語言?

(1)C/C++

現(xiàn)在C語言,一般都作為理工科學(xué)生的一門專業(yè)基礎(chǔ)課。C / C ++是一種簡(jiǎn)單且廣泛使用的計(jì)算機(jī)編程語言。 C編程語言主要由專業(yè)軟件開發(fā)人員或程序員使用,特別是那些使用操作系統(tǒng),UNIX,C編譯器和幾乎所有UNIX應(yīng)用程序的人??梢赃@么說,C編程語言是當(dāng)今計(jì)算機(jī)領(lǐng)域最常用的專業(yè)語言。 C ++是一種編譯語言。對(duì)于要運(yùn)行的程序,其源文本必須由編譯器處理,生成目標(biāo)文件,這些目標(biāo)文件由產(chǎn)生可執(zhí)行程序的鏈接器組合。 C ++程序通常由許多源代碼文件組成。

JAVA語言

隨著最新計(jì)算機(jī)技術(shù)的發(fā)展,C++主要作為服務(wù)器軟件,和硬件結(jié)合的驅(qū)動(dòng)軟件,和PLC等結(jié)合的自動(dòng)控制軟件等底層或者服務(wù)軟件的開發(fā)工具,應(yīng)用范圍也是越來越狹窄了。

不過作為程序執(zhí)行效率最高的編程語言,在人工智能時(shí)代,人工智能算法的核心還是C/C++,因?yàn)槿斯ぶ悄苁怯?jì)算密集型,需要非常精細(xì)的優(yōu)化,還需要GPU、專用硬件之類的接口,這些都只有C/C++能做到,所以某種意義上來說,其實(shí)C/C++才是人工智能領(lǐng)域最重要的語言。重要的人工智能開發(fā)框架Caffe就是基于C++的。像Tensorflow等python語言的人工智能開發(fā)框架,其底層的執(zhí)行庫也都是基于C++開發(fā)的。

不過還是那句話,C/C++主要用于底層和服務(wù)軟件開發(fā)。你要是做的工作和硬件、自動(dòng)化,操作系統(tǒng)打交道,或者你擅長(zhǎng)于底層或系統(tǒng)級(jí)軟件開發(fā),比如說你要開發(fā)個(gè)Web服務(wù)器,網(wǎng)游服務(wù)器,網(wǎng)卡驅(qū)動(dòng),語音卡呼叫中心服務(wù)器,你就可以下功夫?qū)WC++,否則學(xué)一學(xué)c++入門就好,不要作為主要發(fā)展方向。

(2)Python

當(dāng)前人工智能火遍大江南北,AlphaGo 的出現(xiàn)讓業(yè)界為之興奮,人工智能不再是概念,而人工智能、機(jī)器學(xué)習(xí)的首選語言就是Python。

JAVA語言

python 是一門兼具簡(jiǎn)單與功能強(qiáng)大的動(dòng)態(tài)編程語言,它是解釋執(zhí)行的,支持函數(shù)式編程,面向?qū)ο缶幊獭K鼘W⒂谌绾谓鉀Q問題,有自由開放的社區(qū)環(huán)境以及豐富的第三方庫,無需浪費(fèi)時(shí)間去造輪子,各種Web框架、爬蟲框架、數(shù)據(jù)分析框架、機(jī)器學(xué)習(xí)框架應(yīng)有盡有,拿來即用。

目前Python主要火在數(shù)據(jù)分析、機(jī)器學(xué)習(xí)和人工智能行業(yè)。對(duì)于非計(jì)算機(jī)軟件專業(yè)人士來說,如果需要進(jìn)行機(jī)器學(xué)習(xí)或者人工智能方面的應(yīng)用開發(fā),這時(shí)他們就可以采用開發(fā)起來比較簡(jiǎn)易的python語言作為開發(fā)工具。

不過,在國(guó)內(nèi),一個(gè)現(xiàn)實(shí)情況是大部分軟件業(yè)務(wù)系統(tǒng)(管理信息系統(tǒng))的開發(fā),Python從來都不是主角,而是作為輔助工具在使用,可能是做個(gè)數(shù)據(jù)統(tǒng)計(jì),弄些運(yùn)維的腳本,寫個(gè)測(cè)試腳本之類的,真正用 Python 來開發(fā)核心業(yè)務(wù)的公司少,大部分公司 Python 都是應(yīng)用在一些非核心業(yè)務(wù)上。

(3)Java

而目前中國(guó)的軟件公司做的主要工作(包括世界上),就是行業(yè)的管理信息系統(tǒng),以及正在廣泛深入應(yīng)用的大數(shù)據(jù)平臺(tái)系統(tǒng),這些軟件的主要開發(fā)語言還是Java(Java EE框架)。同時(shí)目前主流的手機(jī)操作系統(tǒng)Android的APP開發(fā)語言,也是Java。Java SE入門后,根據(jù)應(yīng)用開發(fā)方向,還要進(jìn)一步學(xué)習(xí)Java Web框架開發(fā),Android移動(dòng)軟件開發(fā)。

JAVA語言

所以說,然Python在數(shù)據(jù)分析和人工智能領(lǐng)域有優(yōu)勢(shì),但是在提供軟件開發(fā)的崗位這點(diǎn)來說,跟 Java 是沒法比的,Java 確實(shí)能做到一個(gè)0基礎(chǔ)的小白認(rèn)認(rèn)真真在培訓(xùn)機(jī)構(gòu)學(xué)幾個(gè)月就可以放到軟件工程對(duì)應(yīng)的工作崗位上去干活,但 Python 不行,Python 雖然看起來簡(jiǎn)單,但是用好不容易,特別是大規(guī)模的團(tuán)隊(duì)對(duì) Python 的要求就更高了,你去市場(chǎng)上去看,一般招Python都是要求有一定經(jīng)驗(yàn)的,而且大部分業(yè)務(wù)系統(tǒng)的開發(fā)都是用Java而不是Python。

(4)C++和,Java和Python三種編程語言學(xué)習(xí)前景綜述

總之,C++是進(jìn)行操作系統(tǒng)軟件,服務(wù)器軟件(包括web服務(wù)器,網(wǎng)游服務(wù)器,電信運(yùn)營(yíng)服務(wù)器,金融交易服務(wù)器等等),和底層硬件結(jié)合的軟硬一體軟件,標(biāo)準(zhǔn)程序庫等系統(tǒng)軟件開發(fā)的首選語言。如果學(xué)校里教的是C++,那請(qǐng)你好好學(xué),C++可以被認(rèn)為是現(xiàn)代高級(jí)編程語言的老祖宗。就比如熟悉文言文的人一般也很容易寫好白話文。當(dāng)你學(xué)好C++之后,如果你要學(xué)其他編程語言比如說Java或Python,你看其它編程語言時(shí)就能有一個(gè)對(duì)比從而加深理解。C++程序性能雖然最高,但C++最大的問題是開發(fā)程序的效率比較低下,還很容易出現(xiàn)內(nèi)存泄漏等錯(cuò)誤。
 

JAVA語言

同時(shí),Python是進(jìn)行數(shù)據(jù)分析,人工智能和自動(dòng)化運(yùn)維等軟件開發(fā)的首選語言。Python最大的問題就在于性能(包括Java早期),但是Python的程序開發(fā)效率太高了,多么復(fù)雜的問題,幾行代碼就搞定了。同時(shí)Python可以十分方便地和C代碼融合到一起。Python和C的組合徹底解決了Python進(jìn)行人工智能和數(shù)據(jù)分析程序開發(fā)的后顧之憂:先用Python快速開發(fā)快速搭建產(chǎn)品原型,然后找出性能瓶頸編寫c++程序庫有針對(duì)性的性能優(yōu)化,然后讓python調(diào)用就行。所謂好鋼用在刀刃上,節(jié)約時(shí)間,節(jié)省成本,減少風(fēng)險(xiǎn),提高程序員的生活品質(zhì)又有什么不對(duì)呢?

而Java是搞行業(yè)管理信息系統(tǒng)軟件開發(fā),包括制造業(yè)ERP,CRM,電子政務(wù),政府和企業(yè)大數(shù)據(jù)平臺(tái)等的主要語言,另外電子商務(wù)網(wǎng)站,移動(dòng)軟件開發(fā),在中國(guó)主要都是基于Java語言進(jìn)行開發(fā)的。如果你要去中國(guó)軟件公司應(yīng)聘開發(fā)崗位,主要語言學(xué)習(xí)和掌握的編程語言還是Java。