感覺c++函數,指針太難,想先學python,不知各位大佬怎麼看?

霓裳◆落花瓣◇


首先,許多其他回答都有提到,比函數、指針難得概念多的是,python相比比較容易入門而已。不信你看看《python cookbook》、《fluent python》這些大部頭書籍的厚度就可以有所瞭解。

c是屬於較低層的語言,也是第一個高級語言,很多概念比較底層,尤其是指針。指針涉及的概念很多:指針類型、函數指針、內存管理,往操作系統走就是內存模型、物理內存、虛擬內存、內存映射、頁管理等。

學習這些概念可以讓你更理解機器,打好基礎。只要計算機還是馮諾依曼架構,隨著學習的深入,對內存的理解將是繞不過去的檻。

像python這些近代的語言,離機器層面的東西越來越遠,主要是向著問題越來越貼近,也就是將程序人員從語言細枝末節解放出來,將主要精力放到問題上去。從提高軟件開發效率這方面來看,這種發展趨勢是必然的,但是並不表明就不用去關心機器層面的東西了。

就像《計算機編程藝術》這套書一樣,作者依然選擇了彙編語言為書中問題編寫解決方案,其中對此種選擇所闡述的理由,我覺得很有道理:計算機世界紛繁蕪雜,有很多變與不變的東西,而不變的東西,我認為可以分為兩部分:一是機器原理,另一個就是算法。

回到指針的問題。一,這個概念不應該成為你放棄學習C語言的理由,比這困難的概念比比皆是;二,拋棄彙編這種使用面極窄的語言,C語言是目前最貼合計算機機器的語言了。所以,不要猶豫,繼續學習吧!


FishTree


語言的對比已經成了老生常談了,明確一點:語言沒有高下之分,只有應用場景之分。作為一個程序員,我們就是決策者。拿到一個項目的話,我們所需要考慮的不是怎麼做,而是用什麼來做。下面聊聊C++和Python的應用場景,明確自己未來的職業發展之後選擇合適的語言。

一、C++

  1. C++是一款面向對象編程(簡稱為OOP)語言,被廣泛視為最出色的大規模構建語言。C++語言同時屬於C語言的一個超集。

  2. C++用途:軟件開發、搜索引擎、操作系統、視頻遊戲;

C++就業方向:

  • 遊戲服務開發:桌面遊戲開發工程師,Linux服務器開發工程師、Linux服務、企業技術CTO

  • 網絡攻防方向:滲透測試工程師、網絡安全研發工程師、攻防安全專家

  • Windows就業方向:web服務器開發工程師、微服務分佈式開發工程師、web架構安全工程師、大數據/雲計算工程師

二、Python

  1. Python是一項服務器解釋型開源非編譯腳本語言。可單獨使用,也可以做為django等框架的組成部分。

  2. Python的主要用途:web開發、視頻遊戲開發、桌面GUI(圖形用戶界面)、軟件開發

Python的就業方向:

  • 首先是核心就業方向:web開發階段就是從web開發工程師初級做產品總監,另外就是人工智能方向的,主要研究數據挖掘和機器學習方向。

  • Python其他的就業方向:爬蟲工程師、初級數據分析、自動化於屋內工程師、自動化測試工程師等;

C++和Python哪個入門更好:

在初步瞭解了這兩門語言之後,來聊聊哪個語言入門更好。關於打基礎這個事情,不建議選語言,就跟開頭我們說的一樣,選擇入門編程之前,先了解應用領域。那麼選擇入門語言之前,先選擇項目。基礎最好是有的,沒有基礎的話。建議選擇自己感興趣的東西。如果C++很難,學不下去。那麼就先從Python入門也是很好的選擇。

我們帶過很多學員,都是C語言自己入門的,最後差點就要棄學了。語法很難,並且每天對著黑窗口很難做出可視化的東西來提高自己的成就感。

其次不管是Python入門還是Java入門的話,找到自己很感興趣的項目開始分解知識點,你會覺得編程很有意思。當產生興趣之後,做做項目你也有了一定的編程基礎。剩下的東西都是互通的,轉回來再去學習C++也是很好的。

編程如何入門:

看到這裡的同學應該對於自己選擇什麼語言入門有了一個大概,下面說一下該如何入門。最重要的在於學號數據結構和算法,如果可能的話,高等數學、概率論和統計學都要好好學紮實。這才是未來最重要的東西。尤其是Python,開始入門是很簡單,但凡以後要涉及到數據和機器學習相關的工作。


寫在最後:

如果有想要學習Python的,那麼上面的學習線路圖是很系統並且專業的學習路徑。內含有配套視頻+課件+課堂筆記+源碼,都可以留言或者是私信來找我領取。


傳智播客


作為一名IT行業的從業者,同時也在使用Python從事機器學習方面的開發,所以我來回答一下這個問題。

首先,從Python開始學習是不錯的選擇。

C++語言是C語言的面向對象版本,在繼承了C語言執行效率較高的基礎上增加了對於面向對象編程的支持,由於C++語言具備多重繼承等特點,所以在學習上還是具有一定難度的。目前C++語言通常會用於容器的開發以及多媒體領域的開發,也是目前IT行業內比較流行的編程語言之一。

Python語言隨著大數據和人工智能的發展而受到了廣泛的關注,近些年來Python語言的上升趨勢非常明顯,語言生態逐漸健全,另外Python語言在Web開發、嵌入式開發領域也有廣泛的使用。由於Python語言語法簡單且實驗環境比較容易搭建,所以對於基礎比較薄弱的初學者來說,學習Python是比較理想的選擇。

學習Python語言需要注意以下三方面內容:

第一:選擇一個主攻方向。Python語言用於不同的開發方向需要學習不同的內容,所以在學習Python之前最好先選擇一個主攻方向,當前正處在大數據時代,所以選擇數據分析方向是不錯的選擇。

第二:注重實驗環節。Python語言的實驗環境還是比較容易搭建的,這對於初學者來說是比較重要的。學習Python一定要多做實驗,通過實驗逐漸建立自己的編程思想。另外不同的方向需要了解不同的庫,比如大數據方向就需要了解Numpy、Scipy、Matplotlib等庫的使用。

第三:注重知識結構。在學習Python的過程中要逐漸豐富自身的知識結構,不斷補學相關的知識。以大數據方向為例,通過Python完成數據分析的過程通常要補學一部分數學(線性代數、概率論等)和統計學的相關內容。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網方面的問題,或者考研方面的問題,都可以諮詢我,謝謝!


IT人劉俊明


很高興能回答你的問題

之前學過C++的要慶幸

大學軟件工程大一就會上C語言、C++,而且都是從基礎開始學習,例如:變量、循環、輸入輸出等等,其實這些在其他語言上也有運用。而最難的我覺得就是指針了,我還記得指針是在第八章內容裡,而且指針還涉及到了一些搜索,排序問題。(冒泡排序啊,雙循環挺能繞的!)所以我學的不是很好,後面也學了C#,這個比C++還稍微好一點。現在再學Python,之所以學這個,就是覺得簡單,幾行代碼解決很多問題。比如說,Python爬蟲,你第一次爬的是百度,你下一次要爬知乎啥的,那你直接可以換個地址,那代碼都不需要怎麼改,只需要研究下網頁結構。

學習Python由點到全

我學習Python的時候,老覺得爬蟲好厲害,就先學習了爬蟲,認識了一些解析庫和爬蟲方法。但哎,沒做幾次實戰,就像去學數據分析了,數據分析哎,認識了幾個科學計算庫,數據處理庫哎,就覺得很厲害了,Python好簡單。又想學人工智能,機器學習。但我發現,我是在撿一個丟一個。並且我學院一個東西是興趣出發,我現在做的職業並不是很牛逼的程序員,而是一位科學編程教師。只是熱衷Python,沒事自己可以爬一些電影、視頻、小說啥的。所以以我的經驗,總結幾點:


第一:由點到全

先把python爬蟲學好,學好是什麼概念哎,做到能完全熟悉不同的網頁結構該用什麼樣的爬蟲方法,對於代碼優化,知道該用什麼樣的解析庫更好。比如說:對於js網頁,要不用json解析,要不使用selenium來實現。再就是對於scrapy框架要能熟練運用,我目前還不能很熟悉運用,不會自己寫裡面的一些源碼。只能拿來做一些爬蟲任務。

第二:本職工作

現在是大數據時代和人工智能時代

我建議要往數據分析這一塊來靠,因為做數據分析的不一定懂爬蟲代碼,瞭解爬蟲框架,但一定會對建模、數據計算、處理很理解。這樣的話,你可以在工作得心應手後,直接上一個臺階,去研究科學算法,去往數據建模上走。而且數據分析也是將來的一個趨勢,像現在淘寶上就會推一些你經常瀏覽的東西給你看,像直播平臺(抖音)也是如此。這就是數據分析的魅力體現。

更多精彩,敬請期待!


墨旺


主要看你以後的發展方向

C++的指針太難是因為國內某些課程某些考試故意把它整得不實用了

實際上實用的指針技術,根本不需要那麼負責

你只需要知道指針就是訪問內存,管它幾級指針,都是內存地址,只是內存地址裡可能又存了內存地址


學python肯定沒錯的,python語言是開源語言,語法簡練,庫強大,入門容易

關鍵是,現在還有大數據 AI加持

精通Python,過幾年肯定會被搶


vbaOpen


覺得c++難?其實沒那麼難,而且c++這種有難度的東西學好了,學其他的東西你就會覺得簡單了,這叫先苦後甜,學習c++可以直接看我的專欄“c語言入門”,你會覺得學起來很輕鬆;


但,你面臨的問題似乎並不是選擇c++還是python的問題,你的問題似乎應該是未來擇業方向是什麼,你想從事哪方面的工作的問題,這個還是希望你瞭解清楚,比如python對於從事人工智能方面的工作,是最熱的語言,c++對於性能要求很高的網絡通訊、服務器開發等場合更適合等等;


KuangXiang


你說的好像python很容易學似的!不要聽別人YY!任何語言要學的東西都是一樣的!指針相關的知識是內存管理,python中所謂的不可變數據類型,可變數據類型,在理解上和指針差不多,你難道就不用掌握?所以,語言只是工具,理解原理才是正道!

你可以這樣理解,如果開發那麼容易學(包括python),還輪得到你拿高薪?!


大數據傅一航


C語言不難,只要有傻勁鑽研一下軟件基礎即可。太聰明人就難說了!


成雙結對做好人好事


不知道你想學語言是為了幹什麼,c++是比較難學的。一般來說,窗體類的底層開發可以學習c++。而python在web應用,人工智能方面比較突出,相對而言也比較好學點。


樂創物聯LC


這個要看你以後想幹什麼,如果想進入遊戲行業,學python不大好,如果不知道自己想從事那個行業,或者不知道python能幹什麼 ,可以參考這篇文章,https://stormsha.com/article/2045/


分享到:


相關文章: