(1)C/C++
現(xiàn)在C語(yǔ)言,一般都作為理工科學(xué)生的一門(mén)專(zhuān)業(yè)基礎(chǔ)課。C / C ++是一種簡(jiǎn)單且廣泛使用的計(jì)算機(jī)編程語(yǔ)言。 C編程語(yǔ)言主要由軟件開(kāi)發(fā)人員或程序員使用,特別是那些使用操作電銷(xiāo)外呼程序,UNIX,C編譯器和幾乎所有UNIX應(yīng)用程序的人。可以這么說(shuō),C編程語(yǔ)言是當(dāng)今計(jì)算機(jī)領(lǐng)域最常用的專(zhuān)業(yè)語(yǔ)言。 C ++是一種編譯語(yǔ)言。對(duì)于要運(yùn)行的程序,其源文本必須由編譯器處理,生成目標(biāo)文件,這些目標(biāo)文件由產(chǎn)生可執(zhí)行程序的鏈接器組合。 C ++程序通常由許多源代碼文件組成。
隨著最新計(jì)算機(jī)技術(shù)的發(fā)展,C++主要作為服務(wù)器軟件,和硬件結(jié)合的驅(qū)動(dòng)軟件,和PLC等結(jié)合的自動(dòng)控制軟件等底層或者服務(wù)軟件的開(kāi)發(fā)工具,應(yīng)用范圍也是越來(lái)越狹窄了。
不過(guò)作為程序執(zhí)行效率最高的編程語(yǔ)言,在人工智能時(shí)代,C++還是很重要的,人工智能算法的核心還是C/C++呼叫中心系統(tǒng),因?yàn)槿斯ぶ悄苁怯?jì)算密集型,需要非常精細(xì)的優(yōu)化,還需要GPU、專(zhuān)用硬件之類(lèi)的接口,這些都只有C/C++能做到,所以某種意義上來(lái)說(shuō),其實(shí)C/C++才是人工智能領(lǐng)域最重要的語(yǔ)言。重要的人工智能開(kāi)發(fā)框架Caffe就是基于C++的。像Tensorflow等python語(yǔ)言的人工智能開(kāi)發(fā)框架,其底層的執(zhí)行庫(kù)也都是基于C++開(kāi)發(fā)的。
不過(guò)還是那句話(huà),C/C++主要用于底層和服務(wù)軟件開(kāi)發(fā)。你要是做的工作和硬件、自動(dòng)化,操作電銷(xiāo)外呼程序打交道,或者你擅長(zhǎng)于底層或電銷(xiāo)外呼程序級(jí)軟件開(kāi)發(fā),比如說(shuō)你要開(kāi)發(fā)個(gè)Web服務(wù)器,網(wǎng)游服務(wù)器,網(wǎng)卡驅(qū)動(dòng),語(yǔ)音卡呼叫中心服務(wù)器,你就可以下功夫?qū)WC++,否則學(xué)一學(xué)c++入門(mén)就好,不要作為主要發(fā)展方向。
(2)Python
當(dāng)前人工智能火遍大江南北,AlphaGo 的出現(xiàn)讓業(yè)界為之興奮,人工智能不再是概念,而人工智能、機(jī)器學(xué)習(xí)的首選語(yǔ)言就是Python。
python 是一門(mén)兼具簡(jiǎn)單與功能強(qiáng)大的動(dòng)態(tài)編程語(yǔ)言,它是解釋執(zhí)行的,支持函數(shù)式編程,面向?qū)ο缶幊獭K鼘?zhuān)注于如何解決問(wèn)題,有自由開(kāi)放的社區(qū)環(huán)境以及豐富的第三方庫(kù),無(wú)需浪費(fèi)時(shí)間去造輪子,各種Web框架、爬蟲(chóng)框架、數(shù)據(jù)分析框架、機(jī)器學(xué)習(xí)框架應(yīng)有盡有,拿來(lái)即用。
目前Python主要火在數(shù)據(jù)分析、機(jī)器學(xué)習(xí)和人工智能行業(yè)。對(duì)于非計(jì)算機(jī)軟件專(zhuān)業(yè)人士來(lái)說(shuō),如果需要進(jìn)行機(jī)器學(xué)習(xí)或者人工智能方面的應(yīng)用開(kāi)發(fā),這時(shí)他們就可以采用開(kāi)發(fā)起來(lái)比較簡(jiǎn)易的python語(yǔ)言作為開(kāi)發(fā)工具。
不過(guò),在國(guó)內(nèi),一個(gè)現(xiàn)實(shí)情況是大部分軟件業(yè)務(wù)電銷(xiāo)外呼程序(管理信息電銷(xiāo)外呼程序)的開(kāi)發(fā),Python從來(lái)都不是主角,而是作為輔助工具在使用,可能是做個(gè)數(shù)據(jù)統(tǒng)計(jì),弄些運(yùn)維的腳本,寫(xiě)個(gè)測(cè)試腳本之類(lèi)的,真正用 Python 來(lái)開(kāi)發(fā)核心業(yè)務(wù)的公司少,叫得上名的除了豆瓣、知乎、餓了么、頭條之類(lèi)的公司之外,其他很少。大部分公司 Python 都是應(yīng)用在一些非核心業(yè)務(wù)上。
如果你是要往數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、人工智能等領(lǐng)域發(fā)展,或者想加入能夠提供機(jī)械制造與機(jī)器人、金融與風(fēng)投、醫(yī)學(xué)和健康,新聞和寫(xiě)作,三維動(dòng)畫(huà)與電影等行業(yè)人工智能行業(yè)解決方案的人士,可以重點(diǎn)學(xué)習(xí)Python。
(3)Java
而目前中國(guó)的軟件公司做的主要工作(包括世界上)呼叫中心系統(tǒng),就是行業(yè)的管理信息電銷(xiāo)外呼程序,以及正在廣泛深入應(yīng)用的大數(shù)據(jù)平臺(tái)電銷(xiāo)外呼程序,這些軟件的主要開(kāi)發(fā)語(yǔ)言還是Java。
目前主流的手機(jī)操作電銷(xiāo)外呼程序Android的APP開(kāi)發(fā)語(yǔ)言,也是Java。
所以說(shuō),雖然Python在數(shù)據(jù)分析和人工智能領(lǐng)域有優(yōu)勢(shì),但是在提供軟件開(kāi)發(fā)的崗位這點(diǎn)來(lái)說(shuō),跟 Java 是沒(méi)法比的,Java 確實(shí)能做到一個(gè)0基礎(chǔ)的小白認(rèn)認(rèn)真真在培訓(xùn)機(jī)構(gòu)學(xué)幾個(gè)月就可以放到工作崗位上去干活,但 Python 不行,Python 雖然看起來(lái)簡(jiǎn)單,但是用好不容易,特別是大規(guī)模的團(tuán)隊(duì)對(duì) Python 的要求就更高了,你去市場(chǎng)上去看,一般招Python都是要求有一定經(jīng)驗(yàn)的,而且大部分業(yè)務(wù)電銷(xiāo)外呼程序的開(kāi)發(fā)都是用Java而不是Python。
(4)C++和Python綜述
總之,如果學(xué)校里教的是C++,那請(qǐng)你好好學(xué),C++能學(xué)好的人證明素質(zhì)還是相當(dāng)不錯(cuò)的,C++可以被認(rèn)為是現(xiàn)代高級(jí)編程語(yǔ)言的老祖宗。就比如熟悉文言文的人一般也很容易寫(xiě)好白話(huà)文。當(dāng)你學(xué)好C++之后,如果你要學(xué)其他編程語(yǔ)言比如說(shuō)Java或Python,你看其它編程語(yǔ)言時(shí)就能有一個(gè)對(duì)比從而加深理解。C++程序性能雖然最高,但C++最大的問(wèn)題是開(kāi)發(fā)程序的效率比較低下,還很容易出現(xiàn)內(nèi)存泄漏等錯(cuò)誤。
同時(shí),Python最大的問(wèn)題就在于性能(包括Java早期),但是Python的程序開(kāi)發(fā)效率太高了,多么復(fù)雜的問(wèn)題,幾行代碼就搞定了。同時(shí)Python可以十分方便地和C代碼融合到一起。Python和C的組合徹底解決了后顧之憂(yōu):先用Python快速開(kāi)發(fā)快速搭建產(chǎn)品原型,然后找出性能瓶頸有針對(duì)性的性能優(yōu)化。所謂好鋼用在刀刃上,節(jié)約時(shí)間,節(jié)省成本,減少風(fēng)險(xiǎn),提高程序員的生活品質(zhì)又有什么不對(duì)呢?
細(xì)說(shuō)起來(lái),Python底層的源代碼其實(shí)可以理解為C語(yǔ)言的一些常用功能的庫(kù)(如hashmap實(shí)現(xiàn)的dict),Python進(jìn)程就是加載了這些庫(kù)然后讀取配置文件(Python代碼)執(zhí)行相應(yīng)的邏輯。相同的功能,Python進(jìn)行了一次轉(zhuǎn)義,肯定會(huì)比直接用C實(shí)現(xiàn)要慢,但你不一定能這么快的寫(xiě)出這樣運(yùn)行比Python快的C代碼。有了Python,程序員們寂寞難耐的夜晚可以有了更多的產(chǎn)出,一個(gè)一個(gè)的項(xiàng)目建立起來(lái)了,社區(qū)建立起來(lái)了,遲滯的市場(chǎng)也開(kāi)始有感知了。