2021-02-16 分類: 網(wǎng)站建設(shè)
本文討論的的是編程語(yǔ)言,但并不是具體的某門編程語(yǔ)言的學(xué)習(xí),僅僅代表作者的個(gè)是觀點(diǎn)。作者提出的觀點(diǎn)并沒(méi)有任何標(biāo)題黨的意思,而是觀點(diǎn)就是這樣的,在大學(xué)編程語(yǔ)言不是用來(lái)寫代碼的。作者常用的語(yǔ)言是java,所以在本文中會(huì)用java舉一些例子進(jìn)行論述,并且會(huì)分享自己在學(xué)習(xí)過(guò)程中走過(guò)得的一些彎路和經(jīng)驗(yàn)。
首先來(lái)看看大學(xué)計(jì)算機(jī)專業(yè)教了什么?
我認(rèn)為我們的課程中除去那些為了素質(zhì)教育而設(shè)置的大家廣泛認(rèn)可的水課外,基本可以分成三類,一類屬于基礎(chǔ)科學(xué)范疇,如高等數(shù)學(xué),大學(xué)物理等;一類屬于計(jì)算機(jī)理論,如數(shù)據(jù)庫(kù)原理,計(jì)算機(jī)網(wǎng)絡(luò)等;另一類是最渺小的編程語(yǔ)言。由于本文討論的是編程語(yǔ)言,因此有必要說(shuō)一下為什么編程語(yǔ)言是最渺小的,首先是因?yàn)閷W(xué)習(xí)編程語(yǔ)言太簡(jiǎn)單,甚至不能把其當(dāng)做知識(shí),其次我們的的確確忽視了編程語(yǔ)言的內(nèi)在作用,而僅僅停留在使用層面。
其次要認(rèn)清編程語(yǔ)言在計(jì)算機(jī)相關(guān)專業(yè)的學(xué)習(xí)過(guò)程中扮演的是什么角色。
回顧一下大學(xué)的課程,大學(xué)將會(huì)教給我們?nèi)T語(yǔ)言C,C++,java。為什么大學(xué)最先學(xué)習(xí)C語(yǔ)言呢?因?yàn)镃語(yǔ)言語(yǔ)法足夠簡(jiǎn)單,而且是面向過(guò)程的語(yǔ)言,是可以用最短的時(shí)間上手的,記得作者高中時(shí)代啟蒙老師僅僅用了兩三節(jié)課而已。學(xué)生學(xué)完C語(yǔ)言才可以把之后學(xué)到的算法轉(zhuǎn)化為代碼了。為什么之后學(xué)C++而不是更簡(jiǎn)單的java,因?yàn)榇蠹抑耙呀?jīng)學(xué)過(guò)C語(yǔ)言了,而C++是完全兼容C的,這樣對(duì)于大部分同學(xué)來(lái)說(shuō),接觸的就不再是一門全新的東西了,順便還可以接觸一下面向?qū)ο蟮乃枷?,知道封裝繼承和多態(tài)的概念。然后為什么是java呢?因?yàn)榇髮W(xué)生將來(lái)也是要吃飯的,絕大多數(shù)沒(méi)有自主學(xué)習(xí)能力的大學(xué)生依靠C和C++是就不了業(yè)的,因?yàn)樘y了,所以只能選擇簡(jiǎn)單上手、運(yùn)用廣、需求量大的java了,毫無(wú)疑問(wèn)java教的當(dāng)然是增刪改查的java web了,為什么?因?yàn)樗腥硕紝W(xué)的會(huì),學(xué)好了有飯碗,學(xué)完java就是大三了,如果不考慮考研的話,離就業(yè)也就越來(lái)越近了。從C到C++再到j(luò)ava,我們的思想里都認(rèn)為這些編程語(yǔ)言是一門門獨(dú)立的課程,可是作為課程,課堂上又并沒(méi)有深入講解,試想一下,把大學(xué)教的這些語(yǔ)言教給一個(gè)初中生,能不能學(xué)會(huì)?我想是能的,因?yàn)榫幊陶Z(yǔ)言不是知識(shí),學(xué)習(xí)編程語(yǔ)言只不過(guò)是閱讀某樣工具的說(shuō)明書而已。因此在大學(xué)的學(xué)習(xí)中,對(duì)于編程語(yǔ)言的學(xué)習(xí),絕對(duì)不能停留在為了考試而已。然而很多人就是這樣做的,僅僅是為了考試而已,再好一點(diǎn)則是講編程語(yǔ)言當(dāng)做一門工具,用來(lái)寫代碼寫算法題。本文的觀點(diǎn)是編程語(yǔ)言在大學(xué)階段不是用來(lái)寫代碼,它是幫助我們學(xué)習(xí)的一門工具。這是本人的一個(gè)觀點(diǎn),編程語(yǔ)言是一種學(xué)習(xí)的工具,相信這個(gè)觀點(diǎn)讀者從來(lái)沒(méi)有聽(tīng)過(guò),也很奇怪我們學(xué)習(xí)了幾個(gè)學(xué)期的東西不是知識(shí)居然只是學(xué)習(xí)的工具,接下來(lái)我會(huì)以java為例講為什么編程語(yǔ)言是學(xué)習(xí)工具而不是知識(shí)。
大學(xué)計(jì)算機(jī)專業(yè)最核心的課程是什么?毫無(wú)疑問(wèn)是數(shù)據(jù)結(jié)構(gòu)與算法,數(shù)據(jù)庫(kù)原理,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)組成原理,操作系統(tǒng)等,這些課程都偏向于理論。
作者接觸過(guò)學(xué)校的一個(gè)項(xiàng)目,并為socket部分貢獻(xiàn)了部分代碼,最早接觸socket的時(shí)候是大一上學(xué)期,那個(gè)時(shí)候在折騰linux平臺(tái)下的C語(yǔ)言程序設(shè)計(jì),接觸了linux提供的socket接口,自己也產(chǎn)生了不少疑問(wèn),數(shù)據(jù)是怎么從一臺(tái)電腦發(fā)送到另一臺(tái)電腦的,數(shù)據(jù)傳輸過(guò)程怎么保證不會(huì)出錯(cuò)。寒假自己抽空在看計(jì)算機(jī)網(wǎng)絡(luò)的視頻,似乎一點(diǎn)點(diǎn)的明白了整個(gè)過(guò)程。還有很多,編程語(yǔ)言里的多線程怎么實(shí)現(xiàn)的,jvm怎么管理內(nèi)存的,這些問(wèn)題都在告訴自己,那些理論課程很重要,不是因?yàn)榭荚?,而是真的很重要。同時(shí)大學(xué)的課,大家都懂得,所以日后接觸這些課程,千萬(wàn)不要就聽(tīng)了課堂里講的那些。我舉這些例子的目的其實(shí)想告訴讀者的是,計(jì)算機(jī)基礎(chǔ)理論最后都會(huì)落地在實(shí)際的應(yīng)用中,而應(yīng)用的實(shí)現(xiàn)靠的是代碼,寫代碼就離不開(kāi)編程語(yǔ)言,我們接觸這些理論最簡(jiǎn)單的方式就是調(diào)用編程語(yǔ)言已經(jīng)為我們封裝好的各種接口,那么編程語(yǔ)言勢(shì)必?fù)碛袑?duì)基礎(chǔ)原理的封裝,看到這里我相信讀者明白了編程語(yǔ)言在大學(xué)階段并不僅僅用來(lái)寫代碼而已。一門優(yōu)秀的語(yǔ)言可以流行起來(lái),最重要的原因之一是他足夠的簡(jiǎn)單,簡(jiǎn)單則說(shuō)明他暴露的底層很少,比如我們看java的持久層框架,甚至連sql語(yǔ)句都不用寫就可以操作數(shù)據(jù)庫(kù)。
與其將編程語(yǔ)言當(dāng)做寫代碼的工具,不如將他當(dāng)做一個(gè)可以看到計(jì)算機(jī)底層原貌的窗戶,當(dāng)你不斷使用它的時(shí)候,你就已經(jīng)接觸到了那些底層的應(yīng)用了,如果可以保持好奇,去琢磨為什么,不知不覺(jué)編程語(yǔ)言將把你帶入更廣闊的世界。
遺憾的是在大學(xué)的課堂里,實(shí)在是花費(fèi)太多的時(shí)間編程語(yǔ)言的語(yǔ)法部分,好比C++,還有很多人甚至連STL是什么都不知道,假如當(dāng)初可以帶我們?nèi)ビ靡挥媚切?kù),我相信很多人會(huì)對(duì)編程語(yǔ)言有不同的認(rèn)識(shí),然后產(chǎn)生更大的興趣。
分享文章:在大學(xué),編程語(yǔ)言不是單單用來(lái)寫代碼的,而是另有用處...
標(biāo)題鏈接:http://www.rwnh.cn/news48/101248.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、外貿(mào)建站、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容