04.06 打算學編程, 到底是學C++ 還是 Python? 在線等, 挺急的

在這個人工智能和大數據當道的時代,好像不會門編程語言就落後於時代了。

有同學問我:許良許良,現在Python很火,我很想學,但是學長又告訴我,還是學C++好一些。

於是在編程語言的選擇上,在C++和Python之間猶豫不決,不知道到底該如何選擇。

打算學編程, 到底是學C++ 還是 Python? 在線等, 挺急的

先說下我的背景:

1.我上完了一門在自動駕駛Term1的線課程,Term1的內容主要是機器視覺和深度學習的內容,裡面編程語言是Python;

2.而Term2/Term3是主要是關於車輛定位、數據融合、路徑規劃和車輛控制的內容,裡面使用的語言是C++;

3.國慶期間花了5天時間把C++課程學了一遍,截止到現在,Term2已經完成,使用C++進行編程。

針對這個問題,我說一下我的淺顯的看法,拋磚引玉,要是說的不好,大家輕拍哈~

先說下Python和C++兩者的差異。

性質不同

Python為腳本語言(script language),需要邊解釋邊運行。好處是不需要編譯,可以直接運行。壞處是由於邊解釋邊運行,運行效率慢。

而C++為編譯語言(complier language),需要先編譯再運行。好處是運行速度快,尤其對於大型程序,效率提升明顯。壞處是程序更新後,需要重新編譯運行,不是很方便。

語法不同

Python語法簡單,語句簡潔,使用方便,上手容易,而且不需要編譯可以即使運行,尤其在Jupyter Notebook上運行,那叫一個得心應手,所以才有“人生苦短,我用Python”之說。

C++語法複雜,格式要求高,使用不便,上手較難。比如變量在使用前需聲明(declaration),更不用提指針/虛函數之類,想想都頭大。

應用場景不同

Python在人工智能領域佔據有壓倒性的優勢,有眾多的庫支持,大多數第三方庫都是基於Python開發或者提供完整的API。這也是為什麼自動駕駛Term1使用Python語言的原因。

由於運行速度的優勢,C++在工業界佔有統治性的地位,這也是為什麼在自動駕駛Term2/Term3都是用C++語言的原因。

所以,不用太糾結到底如何選擇,可以根據自己的應用場景和使用目的來選擇。

如果只是追求實現功能,對速度要求不高,請選擇Python。

如果需要追求運行效率,還是選擇C++。

如果是人工智能相關的領域,那還是別猶豫了,直接Python吧~

就醬。

以上。

歡迎大家關注頭條號:我不是許良誰是許良,我會持續跟大家分享汽車圈/互聯網圈的那些事兒。

我做了個思維導圖,供大家參考。

關注我的公眾號“聊聊汽車那些事兒”,回覆“編程語言”即可下載完整版思維導圖。

打算學編程, 到底是學C++ 還是 Python? 在線等, 挺急的


分享到:


相關文章: