孩子多大學(xué)編程比較合適?
如果沒有興趣的話,多少歲都學(xué)不好~
如果對(duì)于沒有興趣的朋友而言,編程只是一項(xiàng)非常枯燥乏味的事情,對(duì)于初學(xué)者而言也不怎么友好,需要學(xué)習(xí)的東西太多,很多初學(xué)者覺得學(xué)了很久,都做不出什么像樣的東西出來(lái)。而且編程是一種需要一直不停學(xué)習(xí)的技能,沒有興趣作為支持的話,很容易就半途而廢了。
如果題主真想讓孩子學(xué)習(xí)編程,首先肯定是先要培養(yǎng)興趣,讓他喜歡上這件事比什么都重要。其次,編程語(yǔ)言有很多種,每種語(yǔ)言都有它所擅長(zhǎng)的領(lǐng)域比如:
C(嵌入式Linux底層驅(qū)動(dòng)開發(fā),假的高級(jí)語(yǔ)言),
Python(人工智能,網(wǎng)絡(luò)爬蟲,膠水語(yǔ)言),
Java(服務(wù)器開發(fā),桌面應(yīng)用),
C#(Windows應(yīng)用,網(wǎng)站開發(fā)),
Javascript(加CSS,HTML做前端,或者node.js做后端開發(fā)),
PHP(世界上最好的語(yǔ)言[滑稽])……
答主就是用C語(yǔ)言的,嵌入式物聯(lián)網(wǎng)方向。樓主可以去了解各種語(yǔ)言的應(yīng)用領(lǐng)域,挑選一門語(yǔ)言作為入門語(yǔ)言,個(gè)人推薦C語(yǔ)言或者Python這兩門語(yǔ)言各自的優(yōu)勢(shì),題主可以去百度一下,各路大神說(shuō)得比答主好多了~
作為一個(gè)嵌入式碼農(nóng),強(qiáng)烈推薦C語(yǔ)言作為入門首選~這時(shí)肯定有人要來(lái)噴題主了,C語(yǔ)言對(duì)于初學(xué)者來(lái)說(shuō)簡(jiǎn)直就是一場(chǎng)噩夢(mèng),指針(指針函數(shù),函數(shù)指針,指針的指針,結(jié)構(gòu)體指針,能繞暈一大堆人);內(nèi)存分配(一不留神就內(nèi)存泄露);而且基本沒有什么庫(kù)可以調(diào)用,很多都要自己寫;而且是一門面向過(guò)程的語(yǔ)言,很容易寫出極其丑陋的代碼(答主就被別人那丑陋的代碼氣到砸鍵盤[吐血]);還有學(xué)了很久還是只能黑窗口,寫個(gè)貪吃蛇都費(fèi)勁,都不懂能用來(lái)干嘛……
不過(guò)說(shuō)了這么多缺點(diǎn),C語(yǔ)言就真的是一無(wú)是處嗎?別忘了,咱們用的Windows,Linux操作系統(tǒng)都是用C語(yǔ)言寫出來(lái)的,還有很多不起眼的角落,比如紅綠燈,公交車上的顯示牌,你家的冰箱,洗衣機(jī),空調(diào),甚至電飯煲,都在靜靜跑著C語(yǔ)言寫的程序……(當(dāng)然,你說(shuō)你家電飯煲跑的是匯編~答主無(wú)話可說(shuō)~)
話說(shuō)回來(lái),上面也僅僅說(shuō)了C語(yǔ)言的重要性~那么枯燥的語(yǔ)言,照你說(shuō)的再重要,培養(yǎng)不出興趣也是白搭~
接下來(lái),答主就要開始爆出大殺器了!
其實(shí)編程語(yǔ)言說(shuō)到底也就只是一個(gè)工具而已,學(xué)習(xí)編程語(yǔ)言也只不過(guò)是學(xué)習(xí)一個(gè)工具,重點(diǎn)是看你能用這個(gè)工具做出什么樣的東西~
于是答主給樓主推薦一個(gè)很強(qiáng)大的東西,既能學(xué)習(xí)C語(yǔ)言,又更能培養(yǎng)興趣的東西~
那就是著名的arduino
它是一款便捷靈活,上手方便的開源電子原型平臺(tái)。
它構(gòu)建于開放原始碼simple I/O介面版,并且具有使用類似Java、C語(yǔ)言的Processing/Wiring開發(fā)環(huán)境。主要包含兩個(gè)主要的部分:硬件部分是可以用來(lái)做電路連接的Arduino電路板;另外一個(gè)則是Arduino IDE,你的計(jì)算機(jī)中的程序開發(fā)環(huán)境。你只要在IDE中編寫程序代碼,將程序上傳到Arduino電路板后,程序便會(huì)告訴Arduino電路板要做些什么了。
Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他的裝置來(lái)反饋、影響環(huán)境。板子上的微控制器可以通過(guò)Arduino的編程語(yǔ)言來(lái)編寫程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。對(duì)Arduino的編程是通過(guò) Arduino編程語(yǔ)言 (基于 Wiring)(注:其實(shí)也就是C語(yǔ)言封裝了一下)和Arduino開發(fā)環(huán)境(基于 Processing)來(lái)實(shí)現(xiàn)的。基于Arduino的項(xiàng)目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運(yùn)行的軟件,他們之間進(jìn)行通信 (比如 Flash, Processing, MaxMSP)來(lái)實(shí)現(xiàn)。(這段抄襲自百度百科~)
說(shuō)了這么多云里霧里的東西,該上點(diǎn)圖(看下面的圖,其實(shí)圖也是瞎配的[吐舌])了,諾,就是這玩意
一塊看起來(lái)普普通通的電路板,它能用來(lái)做什么呢,那可多了去了,數(shù)字時(shí)鐘,溫度監(jiān)控,煙霧報(bào)警,環(huán)境監(jiān)測(cè),遙控車,智能小車,無(wú)人機(jī),小機(jī)器人~,
都是一些看起來(lái)很高大上的玩意,不過(guò)在我們arduino平臺(tái)上面,編寫這方面的代碼就容易很多很多了,上面我也說(shuō)C語(yǔ)言的庫(kù)很少,也并不是絕對(duì)的,arduino平臺(tái)把我們的MCU,常用的傳感器和各種通信協(xié)議通通都封裝起來(lái),也就是說(shuō)可以不用對(duì)底層硬件和各種復(fù)雜的協(xié)議做太多了解,就可以以最簡(jiǎn)單最高效的方式做出各種看起來(lái)高大上的玩意,對(duì)于初學(xué)者來(lái)說(shuō),真的是太友好了,而且作為一款開源硬件,網(wǎng)上資料多種多樣,各種論壇可以給初學(xué)者遇到的種種難題提供很多的幫助。
而且玩到后期,還可以深入去挖掘底層硬件驅(qū)動(dòng),通信協(xié)議,電子線路,這時(shí)就會(huì)發(fā)現(xiàn)這又是一個(gè)全新的世界在等著你~底層的寄存器仿佛就像一排排整齊的士兵,靜靜的等候著命令(C和匯編程序)的下達(dá),而你就是這支軍隊(duì)的首領(lǐng),帶領(lǐng)著它們完成一個(gè)又一個(gè)任務(wù),這種感覺是其他高級(jí)語(yǔ)言程序員所感受不到的……
當(dāng)然話說(shuō)回來(lái),拿到板子第一件事肯定是點(diǎn)亮人生中第一個(gè)LED(hello world!),就相當(dāng)于打開了這世界的大(da)門(keng)!
打開了大(da)門(keng)之后該怎么做呢?
還用我說(shuō)嘛~,給你個(gè)眼神(? *`?′ * )?,自己領(lǐng)會(huì)~
最后回歸主題~孩子多少歲學(xué)編程好?
肯定是越早越好啊!
純手打(抄百度百科不叫抄襲[滑稽])~
(圖片源自網(wǎng)絡(luò),侵刪!)