編程學習是不是需要天分?

我是一個大一計算機系的學生,接觸編程半年了,我現在對編程甚至連門也沒入,我非常想學好,可是買來的 c primer plus看到鏈表時,再也看不下去了,買來的演算法導論,看的頭疼欲裂,硬著頭皮讀下去也毫無用處,我在想,為什麼別人學了半年,卻可以把基礎的一些演算法都學完呢?我自問也沒有荒廢這半年時光,我很迷茫,是不是學習計算機需要的天賦我沒有啊,很難過。


以後這種問題我就貼這兩張圖


知乎金句:「以多數人努力程度之低,根本輪不到拼天賦。」

基本上能入讀大學的話,智商與學習能力應該已經高於一半同齡人,應該不會被編程難到。實際上,很多人都是從中學甚至小學開始編程的。

當然,方法也是重要的。看著問題描述,只看到看書,沒看到實踐。我想像中的天才就是看一遍書不用實踐就能學會各種知識技能;但像我們這些普通人,學習都是靠讀書並實踐的。


完全不需要,學習編程只要你覺得他有意思,寫個一萬小時,編幾十M的程序,多笨也可以學會。

只要你不希望學了他能帶來什麼好處,你就不會感到困擾,就更加可以聚精會神地學習了。


天賦決定上限。

你投入的時間長短決定了下限。

當然了,有愛也是很重要的。

你沒有愛,投入的時間都磨洋工了,也不行。


好像是牛頓說過,天才是99%的努力加上1%的天賦~~~~~

其實這個世界上絕多數人做到80%已經算是行業翹楚了~~~~~

c primer plus這本書翻譯上不太友好,很多地方很拗口,演算法導論更加不是你大一能看的~~~~

先學譚浩強那本吧。。。。。。

課堂上的東西學好,習題拓展全部幹掉,慢慢成長,不要看著同學學會什麼新東西就心慌。。。

慢慢來。。。。

想要提高

最差的是光看不動

好點的是看著動手

再好點的是跟著自己想法動手

再好點的是按別人給的題目動手

再好點是教別人怎麼動。。。。

有很多東西你們其實聽課知道怎麼做沒用,很多小細節你們不自己寫出來自己是不會去考慮的。。。。。。

記得做筆記,寫博客,以後忘記了複習起來很方便


"學習"編程, 只要你有興趣有條件即可, 但是學到什麼程度, 取決於你的稟賦, 比如數學能力, 邏輯思維能力, 抽象能力等等等等.

就好比學習樂器, 好多人小時候都被逼著學過, 一來堅持到底(考級??)的沒幾個, 二來即便考級通過加分拿到, 也就到個熟練工的地步.

那要是自學的話, 可能更加麻煩一些, 雖說網上能找到很多問題的答案, 但總及不上周圍有個老師實時指點來得方便透徹. 所以比較考驗你的基本知識.


學習確實要講究天分,每一個人都有自己擅長的和自己不擅長的。一個人能把一科學好最多是天才,可想什麼都學好,那就是怪才。

當然,如果是想要粗通或者入門,我覺得天分倒是次要的。可以找找更好的學習方法,找找更好的學習材料,多找同學老師問一問請教下,或者在知乎找編程大牛請教下,或許會有一些收穫吧。

不用氣餒。你不是因為沒天分學不好。只是你還沒有找到適合你學習的那個路子吧。


是的,編程需要天分。

但題主不必過分擔心:努力+時間是戰略和操作,天分只是buff。

這麼說不知道題主懂不懂。

就像打擼,你玩個20000盤怎麼也不是青銅守門員了吧,只要不笨基本的操作意識還是會有的。那就足夠你去玩這個遊戲了,甚至稍微聰明點就能當個黃金鑽石守門員,美滋滋。

但是有極端情況:如果你很笨,可能玩200把心態就崩了,例如10分鐘補不到10個兵,還瘋狂被各路gank,看到小兵你都怕被它打死,遇到gank就趕緊找地回程,對線交手只想躲回塔下。如果不是興趣濃厚支持,那麼這一行可能就走不下去。

好消息是:大多數人可是可以憑著努力+時間至少到黃金守門員的,那麼再來說說天賦這個buff。

這個buff不是LOL裡面只有幾分鐘加成的紅藍buf,這個buff是持久加成的。就是你和別人玩遊戲,人家一直buff加成。你拼了命終於10分鐘80個刀,結果發現:「卧槽,這貨幹什麼了就100刀。」消耗一下,血回滿了。憑經驗攢的意識走位和天生的靈性不能比不說。哪怕憑著你的經驗可能終於打殘了,結果發現人家回家再出門各種魔抗護甲都出來了。這還怎麼玩?好多人要說了,我就是想安心搬磚,那ok,你根本不會遇到這種自帶buff的高手。

假設真的沒天賦,這個問題取決於你想成為什麼樣的coder:

一.青銅守門員:隨便瞎玩兒。

二.黃金守門員:先辛辛苦苦攢夠500局。

三.鑽手守門員:良好的心態,堅韌的品質,不懼孤獨的心,擼它個2000局。

四.王者: 對不起,回去取buff。


雖然這幾乎是一句廢話,但我還是要說

『世上無難事,只怕有心人。』


這種「天賦決定上限、大多數人的努力程度還輪不到拼天賦」的雞湯全是扯淡!事實上任何事情,天賦都起著決定性的作用。

真實世界裡,你在做一件事時,有一個最重要的讓你堅持下去的原因,就是你能夠從中得到相應的正反饋。得到的正反饋越好越多,你就越想投入更多時間,然後你會得到更多正反饋,然後你就才會成為行家。而如果得不到足夠的正反饋的話,等待你的只有半途而廢這四個大字。

那麼正反饋有哪些呢?一是周圍人的期待、讚許,二是成功後的成就感,就這兩個。

有天賦的的人相較於沒天賦的人,能得到更多的正反饋,所以也更不容易放棄;反之沒天賦的人由於得不到足夠的正反饋,還沒怎麼努力就放棄了。

所以決定能否得到正反饋的關鍵,就在於天賦,有天賦的人能夠事倍功半,沒天賦的人更難堅持下去。


選擇C語言入門本來就是hard模式,因為你不知道學了能幹些什麼。鏈表?數據結構?我是誰?我在哪?

題主不要灰心,你可以從C#入門,因為C#的強大你可以馬上能做出一些能夠看見的東西。比如計算器,你可以拖幾個按鈕程序就出來了,試著做一個簡單的計算器,之後再擴展為可以支持表達式優先順序運算的,通用的做法是用兩個棧,一個棧將中綴表達式轉化為後綴表達式,一個棧將後綴表達式用來計算。棧就是一個數據結構,可以用鏈表實現。這個計算器的代碼就幾十行,功能大概是這樣,比如輸入 1 + 2 * 3 - (4 / 5),最後能得出正確結果。如果你把這個東西做完了,你就能初步明白數據結構的重要性,以及演算法的作用。

我上面說的只是一個例子,你需要從實際的方面入手,了解自己能幹些什麼,C語言和演算法導論是用來屠龍的,在現實中很多工作很多年的人都沒看過演算法導論,也不懂C語言。他們就是所謂的應用型程序員,然而每月照樣能拿幾千上萬塊,因為社會需要。

所以如果你的目標是星辰大海,就好好學,最重要的是能夠做出點東西,這樣會給你學習的動力。所以推薦C#,無論是桌面程序還是網站,都能迅速看到成果。


很慚愧,中學時候我是第一個退競的。計算機競賽。

很慚愧,我是被C艹逼得退競的。

很慚愧,我是被遞歸逼得退競的。

那題是猴子分桃,很慚愧,我哭了…………然後就退了…………機房裡同學看我跟看傻子一樣…………雖然過了幾個星期退了一大半的人…………

啊啊啊好丟臉啊…………

後來上大學遇見了原題,才明白當年自己就是個小傻子………………

哪裡難了?!?!

要是不退可以繼續享受想開空調就開空調的特權呢╯^╰

當時覺得自己很笨,編程太難,太技巧了,為什麼那些人迭代遞歸這些用得那麼6?長期下來,我就崩潰了。

現在想想,那時候兼顧中考高考,數競物競,根本沒什麼精力了。而且潛意識裡就覺得自己不行。

上了大學之後才發現,計算機真的很有趣。

如果你覺得很有趣,那麼有沒有天賦都不重要了。我編程,因為我喜歡。

天賦沒那麼重要,真的。

以前一同學,競賽保送東南。他確實十分聰明,但是他高二一年不上課投入編程,每天寫代碼寫到深夜,我覺得這種情況下他的努力才是直接原因。

知乎上那麼多人批評譚浩強,但是不得不說,他的書我還能看得懂不頭疼…………

不要心急,大一好好寫代碼,至少把基礎的數組指針結構體什麼的用的6到飛起。

所以不要想那麼多啦,跟著學校的培養方案走就可以啦~


那就試試Python先。

挫折是一定有的,別太冒進,一步一步來就能學好。


問題在於你使用的學習方法不對。

編程學習或者說編程職業肯定也是需要天分的,在我的職業生涯里確實見過很多有天分的人,但是所謂有天分的人也是有正確的學習方法。

什麼是編程正確的學習方法?

1、保持興趣。2、實踐。

兩者相輔相成。

首先,保持興趣很重要,枯燥無味的知識任何人也難以下咽,如果當年有人逼著我學習編程,我一天也不會學的下去,但是我最初學習的目的是讓自己的工作用電腦來完成,目的很明確,然後帶著探索的興趣去學習就會很容易上手,我學編程時幾乎沒有看過任何書,但是有老師,第一周老師給我講如何編程把數據存到一個數組,然後我學會了,寫了個簡單的程序用來統計單位每天的日報表,當時還沒有excel,用這個原來需要打算盤的工作交給計算機完成了,我成就感很大,如此產生的興趣支撐我自學了很久。往後也一樣,不斷的興趣能讓你一直保持主動學習的狀態。

其次是實踐,死看書沒什麼用,也看不明白,打開電腦,敲一邊代碼,邊調試邊理解,這樣你會記住一輩子,比如當初我無法理解指針和內存是什麼關係,但是照書打一遍代碼,然後反覆調試幾遍很快就理解了,如果只是看書我估計我的智商看幾個月也不明白。

像你說的鏈表,如果看書怎麼也不理解,你可以試著用鏈表來解決某個你生活中的問題,比如用鏈表存儲你的朋友通訊錄,把科學應用到實踐就不會做不下去,也不會理解不了。

最後,其實生活中大多數碼農都是搬磚的幹活,有些演算法只是編程訓練,你只要掌握一些基本的演算法,就已經開始勝任很多工作了,也沒必要給自己定過多過高的目標,水滴石穿,貴在堅持,每天進步一小點你也可以成為有「天分」的編程達人的。


半年入門?

在出校門那一刻我都不覺得自己入門了。

那是因為我們一知半解,只知道很多是程序寫出來的東西,讓我們寫不出來。可是一個我們見過的產品涉及的東西何止程序。

好好掌握這些語法結構,不要覺得自己怎麼樣了,工作了很多東西你都會豁然開朗的。


不需要天分,甚至不需要興趣,只要不反感就行了。馬上就畢業了,狗屁不會,這二十天,我看了四本書,現在在看第五本,《JavaScript高級程序設計》.花了大概60個小時做了7、8個純靜態網頁,只用HTML和CSS,效率肯定是低了,但我狗屁不會啊,要反覆琢磨啊,沒人教啊。不知道這條路走的通不,走的通,再來續答。我想退一步就是萬丈深淵的話,題主就不會有太多時間思考自己適合什麼了。

感覺有點偏了,但是遇到不會的,先思考,不行百度,谷歌,再不行就問人。要承認人與人是有差距的,不是每一個人都是知乎大神。把別人總結好的經驗問過來,豈不美哉!

我還想再問一下,誰看演算法導論頭不炸?


我覺得你應該換個問題:「除了吃飯睡覺這些生理反應外什麼事是不需要天賦的」——或許大神們會比較認真回答你的問題


做一件事情是要感興趣才去做,不感興趣的話就不會去做了

沒有什麼天賦什麼的

建議題主先做一個簡單的成品,而不是停留在書面階段

0 0說的不好請指正


反對說不需要天分。

興趣的背後其實就是一部分的天賦。

幫助你對這個東西有成功感,征服感,滿足感。

也能輔助你持續有努力的想法和意願。

不然你試試一個星期都寫不出來一個功能,你只會懷疑自己,從而喪失興趣。


不需要。

你覺得難,是因為你對它完全沒有積累,而編程知識結構的交叉越來越普遍,所以加劇了入門難度。

不管你學什麼,都會有一個立足點,從這個點上向外擴展,很多東西不管如何生活中總會有點接觸和耳聞,有個大體框架就好下手。

而編程不行,不學這個完全不會接觸裡面的大多數知識,而編程現在知識結構交叉很多,你只是想用c語言入個門,但是簡簡單單的語法已經離「入門」很遠了,你不得不學有關的全部知識交叉,然後導致入門很難。

所以和天分沒關係。

是學習的門檻高了。


最近一邊抱著cpp primer 一邊敲,學了十幾天感覺實踐還是挺有用的。之前學代碼怎麼都學不進去,後來跟著學長學Linux運維的東西,說真的,有些狗屁服務的配置文件你不跟著敲幾遍,不去配幾次,是根本不可能記得的,就算會了也不可能完全了解所有參數的作用。邊敲邊理解,我覺得這是個看起來簡單卻真的有用的方法,一定要實踐。共勉,加油。


一樓都沒上,你能上三樓嗎?你要上三樓必經一樓二樓,不管你是坐電梯還是從飛機,還是爬樓梯。

大一新生,上來就演算法導論,顯然還不知道數據結構(「至鏈表就看不下去了」),也不知道矩陣(或者剛上完線代)……嗯,還在學語言嘛。要明白,這不是說「把一個大BOSS消滅了,我就通關了」,這是工程,是循序漸進的有邏輯的。你加減乘除都沒有,能算微積分嗎?這是從一開始就決定了你學不會的原因:你不是系統地、邏輯地去學習。而想著「努力」地去強行「學習」,現實已經給你教訓了。所以好好學習,把課程學好,學會一門語言先用一下,然後再想著進階的事。網上這麼多的題庫,小項目(自己寫個貪食蛇之類小遊戲等等),肯不肯做心裡就沒點數嗎?網上找不到,難道學校的培養計劃裡面的課程就沒有個大綱給你嗎?


老哥

《c primer》+《演算法導論》

暫且不提《c primer》

完全掌握《演算法導論》 你可以去WF了

--------------------

建議的話零基礎可以先稍微學一點c 然後學一學java||python||c# 演算法導論這本書可以暫時先放起來 如果你有打acm的心思 可以看看《演算法競賽入門經典》 畢竟大學才開始學習 和初中或者高中就開始學的人相比起步有些遲

我現在是在自學java 今年大一新生 如果你也要學的話 可以一起加油哇


是的,別學了。

你一輩子可能都追不上某些人大一的步伐,還學什麼呢,放棄吧,要天分的


編程不難,編程思想很難。


愛迪生在一次演講中說的,原文是「成功等於百分之一的靈感加百分之九十九的汗水,但是我認為那百分之一的靈感比百分之九十九的汗水更為重要」,愛迪生的本意是說雖然努力很重要,但是那百分之一的靈感是無可替代的。


1、先把前面的基礎內容掌握了,再往後看。如果鏈表讓你痛苦,你就把它的基礎即結構體、指針、選擇和循環結構等等內容再回頭看仔細了,掌握了,再學鏈表。

2、另外,教材很重要,聽課也很重要。老師講課都有側重和刪減,學生不易隨便迷失在厚厚的書里。

3、我學東西也很慢


有可能是你寫少了,編程這種東西和數學差不多,可以靠練習來增長


不要用天才兩個字來扼殺那些人的努力。

天才沒那麼多。


需要。

首先明確一個概念編程是手段而不是目的。這個手段的功能有限,無非是循環、判斷和計算。如何把你面對的問題用這麼幾個簡單功能來搞定就要看天賦了。如果有能力把問題轉化為一個由循環+判斷+計算組合起來的過程,你就能寫出自己的程序,也能理解別人的程序了,即你所定義的[學得好]。當然這個能力也分高下,對於同樣的問題,不同的人有不同的邏輯,解決問題的效率也不同。這其中自然有熟能生巧的,但究竟不如天賦好的[學的快]。

我個人認為對於編程語言的熟練運用與天賦關係不大,或者可以靠經驗來填補差距。但思維還是有天賦差別的。


自學也行,不太難,現在網上那麼多學習資源


作為一個學長,我想跟你分享的是在學習編程中要多自己寫代碼,就像特種兵是子彈喂出來的,程序員是代碼喂出來的!多找些項目研究研究


沒事沒事,就從混洛谷開始。

中學oi圈還是很適合入門學習的。


買個c語言入門經典和演算法 你的那兩本都是進階看的 這兩本才是入門的 看完以後學校的實訓考試無壓力

人與人之間的信任就在此時了 我現在大二


其實幹任何事情一旦抵達巔峰,天賦的作用越加重要


任何事情吧,有天分總比沒天分好!

比如:我就缺乏運動天分,但一些運動也不需要什麼天分,只要你堅持就可以了,編程也分種種,肯定也存在不需要天分,堅持就可以的!

個人感覺如果一個人有天分,那麼就比較有可能把事情做到極致,而缺乏天分的人呢,找到適合自己的才是最好的。


我覺得天分對編程的加持不是很重要,或者說是興趣,對編程的熱愛更重要。

我呢,現在大四,四個月前,除了學校學的什麼都不會,然後去實習。剛開始真的感覺很難,在非舒適區真的挺難受的。但還是喜歡編程,最開始只會用css+html切網頁,後來寫js,使用vue,到現在去接觸後端的東西。 也就這麼過來了。現在反而喜歡去踩踩坑,去非舒適區探索。最開始配lnmp環境, 配了半天就想放棄,後來才知道配環境只是起點,配環境起碼有教程,網頁一抓一大把,以後遇到的問題可能找都找不到。

而且題主這半年所乾的事,肯定不是浪費時間,基礎非常重要。還有就是提個建議,只看書不寫代碼那進步是很慢的,就是去實踐,去踩坑,才能進步。 有天分的人可能都會踩坑,何況我們呢。

別難過,現在的挫折太正常了,堅持下去就好了,懷著熱愛編程的心。


世上無難事,只要肯放棄


除了遞歸體現天分外其他完全不需要智商,如果有人對你說"你和樓教主的差距只有遞歸"你應該相信這句話,何況是比英語還簡單的c語言?相信我你只要把acm2k行代碼以上的超級難題解100題你就有姚班平均水平了


問題不在於這個,學得好計算機的人都是原本就善於並且喜歡解決問題的人,這些人遇到問題就想到解決而不是退縮,喜歡腦子裡想到各種稀奇古怪的解決辦法時候的感覺,要是沒有一個解決問題的腦子,計算機是學不好的


結合以上回答,我覺得視力好也算天賦的一種


這個問的太寬泛了,編程的方向太多,不能一概而論。就只針對你目前的情況來看,跟天分沒什麼關係,更多的可能是知識結構有所缺失。就入門來說,需要一定的數學知識和邏輯能力作為基礎,而我國教育體系下的學生,邏輯能力的缺失是很普遍的情況,能做好數學卷子並不代表一定會有很好的邏輯能力,很多時候不過是題做得多罷了。

再往深處說,如果往演算法方向走,確實需要天分,因為艱深的演算法對數學要求比較高,較深的數學知識不是人人都能看懂的。而如果走工程方向,更多的還是經驗和知識結構和知識廣度了。當然不論哪個方向都需要持續的學習。

就你目前情況,去買一套國外翻譯過來的邏輯學教材看一看應該會有幫助。


天賦真的大多數人都是沒有的. 無非都是練出來的. 題主莫擔心;

當年我開始學C的時候我還有過疑問為什麼不是C++開始;看書是需要的,但是實踐更重要,找幾個項目練手的過程中不斷遇到的問題儘力去思考並且解決它們的時候你自身的水平就會更好的提高了. 像輪子哥說的,多練,慢慢你就會出成果的.

拿我自己當例子,開始學C的時候覺得很簡單,實驗室里過了幾周後發現大家速度越來越快自己越來越慢也會開始懷疑自己;後來也是自己回家多練習,看相關的書籍再做相應的練習慢慢提高的,期末的時候依然有不會的,但是大部分都能獨立解決了,實在不行也會有一定的思路知道該怎麼往下做;多問,多學,像身旁的大神取經,同時獨立的練習代碼的網站資源也可以利用起來,慢慢的你也會變強的.

你可以業餘時間練練Python,JavaScript,C#這類的來提高自己,給與自己一定的自信心,你會更好的在未來的編程道路上走下去. 題主加油,別放棄~


天分什麼的,都是故事看多了,我覺得最重要的是熱情,求知慾,知難而上的毅力,當你成功以後,或許別人也會誤解為你很有天分,然而事實並沒有那麼簡單


學C買本 the C programming language 吧,很薄的一本書。

演算法導論看著吃力很正常,可以找個公開課[1][2]配合書看。

我覺著學編程最難的就是記憶和想像。

記憶就是博聞強記,有那麼多演算法和思想每門語言里都有很多最佳實踐,。你見過了記住了,那就是比別人厲害。

想像就是用你的腦子來調試代碼,不用吭哧吭哧的抄代碼,複製粘貼調試。看著代碼就能想像出當前執行到這變成什麼樣子了。當然這個也需要記憶力來輔助。我記憶力很一般,學數據結構的時候就喜歡把結構都畫出來。

[1]Introduction to Algorithms

[2]麻省理工學院公開課:演算法導論_全23集_網易公開課


其實編程需要的不是天分啦!很多人都說過嘛,編程寫的不是代碼,而是思想!那我就說些別的吧,其實對編程很重要的是堅持,每個人都有被代碼難倒的時候,都有不理解代碼的時候!大牛之所以是大牛是因為大牛能鑽研進去,堅持下去,在枯燥的代碼也能堅持看下去!


感覺提主還是儘快轉專業吧,因為你對計算機技術沒有興趣,就算經過刻苦努力,達到了一定水平,未來的工作面對沒興趣的內容會痛苦一輩子的。所以我不會用雞湯鼓勵提主繼續學毫無興趣的專業。


看了一遍回答,一般都是心路歷程。

我可以明確表示需要一種思維模式。

來源文章: 你是程序員這塊料嗎?

很多人推薦了這麼一篇學術論文,題為「The Camel Has Two Humps」(駱駝有雙峰)。它提出了下面的方法,能在計算機科學專業的學生接觸到一個程序或者一門編程語言之前,判斷出他們當中哪些人適合學習編程,哪些人不適合。

所有教授編程的老師都發現,他們的教學結果呈現出「雙峰」現象。似乎他們的學生中有兩類人:一類是會編程的;另一類是不會編程的。這兩類人有著各自獨立的貝爾曲線。對於編程的教學,基本上所有的研究都集中在「教」上:變換語言,變換應用領域,使用一個IDE,引入激勵機制,等等。但這些統統都不奏效,「雙峰」現象依然存在。於是,我們發明了一種測試,通過它可以在授課之前把這兩類人區別開來。我們挑選「雙峰」中會編程的那些人。可能你現在還無法相信,但是在你看完之後,一定會相信的。我們還沒完全搞明白為什麼這種方法奏效,但我們有一些不錯的理論支持。

自20世紀50年代電子計算機被發明以來,儘管世界已經發生了翻天覆地的變化,但有些東西卻始終沒變。特別是,大部分人學不會編程:每所大學的計算機學院都有30%~60%的新生在第一門編程課程上不及格。有經驗的教師很清楚這種情況,但都已經心力憔悴了。一些聰明的年輕教師堅信過去的做法一定有問題,於是苦苦地探索著真相。自20世紀60年代這個課題被提出以來,已經差不多有兩代人為此付出了努力。

我們確實經歷了一段時間,才有勇氣相信我們自己的結論。儘管意識到目前的數據還不充分,我們的結論還只能算是一種推測,但在我們看來,第一次測試就區分出來了3個組,其中的決定因素是他們對無意義事物的態度。

形式邏輯證明,進而用一種叫編程語言的形式系統來表達,通過執行某種特別的計算得出結果,這其實是完全沒有意義的。為了編寫一個計算機程序,你必須做出妥協,賦予程序某種意義。但不管你想要這個程序做什麼,計算機都會按照這些沒有意義的規則運行,並且得到一些沒有意義的結果。在測試中,那些有穩定思維模型的人都體現出了在這方面的先天接受能力,他們都有能力看見規則背後的數學計算問題,並且無論怎樣都能夠遵循那些規則。另一方面,那些沒有穩定思維模型的人總是找不到頭緒。而那些交白卷的人知道這是一件無意義的事,所以他們拒絕去做。

每個人都應該知道怎樣使用計算機,但並不是每個人都需要成為一名程序員。然而,對於相當多的計算機科學的學生來說,似乎怎麼也教不會他們編程,這還是有些令人擔憂的。很顯然,不是所有人都像我們這樣痴迷於沒有意義的規則和結論。

當然,學習不僅僅只是天賦。還需要一種相信我能行的勇氣,或者說,一種狂妄。

來源:為什麼是「程序猿」而不是「程序媛」? | 科學人 | 果殼網 科技有意思

我們喜歡自認為擅長的領域。計算機領域也一樣。


任何行業都會有天賦好的天賦差的,可以選擇去做自己天賦好的領域。當然任何行業通過不懈努力也能達到上層水平。

感覺題主的方法不太好,編程是門實踐性比較強的活動,還是要多寫代碼,感覺有點讀書百遍其義自見的意思。


演算法導論真的讀起來有點難。

對演算法有興趣的話,可以試一試去搞acm,不準備搞ACM,去一些oj上做一些水題,對基本語法的掌握也可以產生極大幫助。

c primer plus 整體還是講的很不錯的,我的意見是還是去用習題練習語法,再去看很多東西一開始看不懂的東西,或許會豁然貫通。

不是很建議開其他語言,第一門語言的基礎沒有打好,就去學別的有什麼用呢?況且這還是學校的課程。

算導真的難。但等你大致上明白了一門演算法時,再去看相關部分,就會有一些新的體會與幫助。

強烈建議,去oj刷題。演算法的學習可以先挑簡單的入手.


優秀的編程需要天分。編程學習不需要。

借一句說爛了的話:「以大部分人的努力程度,還沒到需要拼天賦。」

老實說我覺得半年時間入門編程應該完全不是問題。別聽別人說的,C入門沒有任何問題。你是在學習編程,不是要儘快做產品。C能幫你打下一切編程所需要的基礎。

算導的確不用現在看。沒有數據結構基礎,看著難受很正常。

既然自稱接觸了半年編程,但鏈表還很吃力,那說明這半年根本沒有把前面最最基礎的語法弄紮實。而且我敢賭五毛,最不紮實那個地方是指針。

回去把C前面的基礎語法再好好讀讀。尤其指針。不懂就問,懂了就自己寫寫。自己花多點時間琢磨琢磨比一個勁的擔心自己沒天分來得實際得多。


反正要學啥就去學。除了必要知識,之外,都不要接觸。

不要聽別人說,學簡單的,先打基礎……

萬一最後沒堅持下來,學的都是用不了的。

有那時間,還不如多看幾遍要學的。印象深刻。


因為還沒到考試

到了考試,你自然會掙扎一番,然後發現沒有基礎的人和自己都差不多。


首先,你要確定你看了這麼一大堆東西還依然對此感興趣。

其次,學校裡面很多東西都是讓你了解然後去思考的,看書是個好習慣,但是對你來說看演算法導論這些東西還太早了,作為一個計算機系大一的學生,先把學校的每個課程都認真學好,每門課程都能成績在中上,大作業什麼的都能自己去敲一遍(網上找別人的都可以重點在不要download)並嘗試理解。

最後,有天分的都去拯救世界了,我們需要的是99的努力。


當然呀,什麼行業做到頂尖都是很需要天分的。

但是, 以大多數人的努力程度之低,根本輪不到拼天賦


我也是計算機系畢業的,畢業後也是啥都蒙圈的狀態,然後買了&<笨方法學python&>和&

這兩本書,把這兩本書敲完,再回頭看c,會有種豁然開朗的感覺,python真的很適合入門~


天分決定了你花很少的時間可以走完別人走很長時間的一段路。

你的起點會比一般人高,但是並不意味著你的終點會比一般人要遠。

跟天分同樣重要的是勤奮和堅持。

沒有天分的童鞋通過勤奮和堅持一樣可以在編程學習的道路上走得很遠,這是毋庸置疑的。

如果童鞋們在編程道路上有什麼困惑歡迎大家加入互聯網技術交流圈,這裡有一群愛分享的年輕人。跳轉中


看不懂的地方就百度,百度上有大神會給你通俗易懂的解釋。我有些地方實在理解不了就去知乎,博客這些地方看看~

給你個鏈接~

https://www.zhihu.com/question/20280649/answer/33684243


任何事情都需要天分,看你定位在哪裡

僅僅是工作或者維持日常來說,完全沒到談天分的地步

想要萬古流芳名垂青史,愛因斯坦有句話你應該清楚!


如果想要個及格分,需要努力。

如果想要改變世界,需要天賦、機會、努力。

所以看你想達到什麼成就。


據說題主你選的這兩本書都不太適合新手看,可能難度有點大,尤其是演算法導論。(我在知乎上查詢新手學習方面的內容的時候有知友這樣提到過。)

還是建議初期接觸一些簡單點的教材。

當然了這兩本書我都沒看過,所以說錯了的話請指出來但別噴我。。

想如果想學Python的話推薦 《Python編程:從入門到實踐》。


怎麼可能會不需要天分?

一樣寫程序,有的程序寫得能清淅準確,有的寫的是一堆亂麻……


絕對需要的,人啊要有自知之明啊

不是每個人都能成為:尼古拉特斯拉,愛因斯坦,牛頓,達芬奇…… 有濃厚興趣也不行


因為你沒有定下一個目標做某個東西 哪怕是寫個計算器

只是看的話 等於背公式不做題 不會有用的


先別著急看演算法。

把循環,分支,函數,遞歸等等基礎先搞明白,然後試著用這些做點小東西。

試試http://code.org


別人有可能中學就接觸過編程了,比你快也正常也許。


不需要


怎麼說呢,少男,你用這兩本書入門不太好,這應該是第二步或者第三步去看,而且基本也是當字典用,我建議你如果是想入門的話可以去看看heard first c淺顯易懂,看完後………先看完再說

最後說一句,就現在這時代,還用不著拼天分,先努力再說


我覺得你可能需要項目驅動!這樣學起來目的性強!

可以找找老師,跟跟做項目,這樣知道自己需要學什麼!


推薦閱讀:

得了臆想症怎麼辦?
20歲的成年人可不可以像小孩子一樣,牙牙學語地,學英語?
認真學習了,考試成績很差怎麼辦?
學神在連續學習及思考時究竟是什麼狀態?

TAG:編程 | C編程語言 | 學習能力 | 編程學習 | 編程入門 |