在大學(xué),編程語言不是單單用來寫代碼的,而是另有用處...

2021-02-16    分類: 網(wǎng)站建設(shè)

本文討論的的是編程語言,但并不是具體的某門編程語言的學(xué)習(xí),僅僅代表作者的個(gè)是觀點(diǎn)。作者提出的觀點(diǎn)并沒有任何標(biāo)題黨的意思,而是觀點(diǎn)就是這樣的,在大學(xué)編程語言不是用來寫代碼的。作者常用的語言是java,所以在本文中會(huì)用java舉一些例子進(jìn)行論述,并且會(huì)分享自己在學(xué)習(xí)過程中走過得的一些彎路和經(jīng)驗(yàn)。


首先來看看大學(xué)計(jì)算機(jī)專業(yè)教了什么?

我認(rèn)為我們的課程中除去那些為了素質(zhì)教育而設(shè)置的大家廣泛認(rèn)可的水課外,基本可以分成三類,一類屬于基礎(chǔ)科學(xué)范疇,如高等數(shù)學(xué),大學(xué)物理等;一類屬于計(jì)算機(jī)理論,如數(shù)據(jù)庫原理,計(jì)算機(jī)網(wǎng)絡(luò)等;另一類是最渺小的編程語言。由于本文討論的是編程語言,因此有必要說一下為什么編程語言是最渺小的,首先是因?yàn)閷W(xué)習(xí)編程語言太簡單,甚至不能把其當(dāng)做知識(shí),其次我們的的確確忽視了編程語言的內(nèi)在作用,而僅僅停留在使用層面。

其次要認(rèn)清編程語言在計(jì)算機(jī)相關(guān)專業(yè)的學(xué)習(xí)過程中扮演的是什么角色。

回顧一下大學(xué)的課程,大學(xué)將會(huì)教給我們?nèi)T語言C,C++,java。為什么大學(xué)最先學(xué)習(xí)C語言呢?因?yàn)镃語言語法足夠簡單,而且是面向過程的語言,是可以用最短的時(shí)間上手的,記得作者高中時(shí)代啟蒙老師僅僅用了兩三節(jié)課而已。學(xué)生學(xué)完C語言才可以把之后學(xué)到的算法轉(zhuǎn)化為代碼了。為什么之后學(xué)C++而不是更簡單的java,因?yàn)榇蠹抑耙呀?jīng)學(xué)過C語言了,而C++是完全兼容C的,這樣對(duì)于大部分同學(xué)來說,接觸的就不再是一門全新的東西了,順便還可以接觸一下面向?qū)ο蟮乃枷?,知道封裝繼承和多態(tài)的概念。然后為什么是java呢?因?yàn)榇髮W(xué)生將來也是要吃飯的,絕大多數(shù)沒有自主學(xué)習(xí)能力的大學(xué)生依靠C和C++是就不了業(yè)的,因?yàn)樘y了,所以只能選擇簡單上手、運(yùn)用廣、需求量大的java了,毫無疑問java教的當(dāng)然是增刪改查的java web了,為什么?因?yàn)樗腥硕紝W(xué)的會(huì),學(xué)好了有飯碗,學(xué)完java就是大三了,如果不考慮考研的話,離就業(yè)也就越來越近了。從C到C++再到j(luò)ava,我們的思想里都認(rèn)為這些編程語言是一門門獨(dú)立的課程,可是作為課程,課堂上又并沒有深入講解,試想一下,把大學(xué)教的這些語言教給一個(gè)初中生,能不能學(xué)會(huì)?我想是能的,因?yàn)榫幊陶Z言不是知識(shí),學(xué)習(xí)編程語言只不過是閱讀某樣工具的說明書而已。因此在大學(xué)的學(xué)習(xí)中,對(duì)于編程語言的學(xué)習(xí),絕對(duì)不能停留在為了考試而已。然而很多人就是這樣做的,僅僅是為了考試而已,再好一點(diǎn)則是講編程語言當(dāng)做一門工具,用來寫代碼寫算法題。本文的觀點(diǎn)是編程語言在大學(xué)階段不是用來寫代碼,它是幫助我們學(xué)習(xí)的一門工具。這是本人的一個(gè)觀點(diǎn),編程語言是一種學(xué)習(xí)的工具,相信這個(gè)觀點(diǎn)讀者從來沒有聽過,也很奇怪我們學(xué)習(xí)了幾個(gè)學(xué)期的東西不是知識(shí)居然只是學(xué)習(xí)的工具,接下來我會(huì)以java為例講為什么編程語言是學(xué)習(xí)工具而不是知識(shí)。


大學(xué)計(jì)算機(jī)專業(yè)最核心的課程是什么?毫無疑問是數(shù)據(jù)結(jié)構(gòu)與算法,數(shù)據(jù)庫原理,計(jì)算機(jī)網(wǎng)絡(luò),計(jì)算機(jī)組成原理,操作系統(tǒng)等,這些課程都偏向于理論。

再列舉一下java的技術(shù)棧里

作者接觸過學(xué)校的一個(gè)項(xiàng)目,并為socket部分貢獻(xiàn)了部分代碼,最早接觸socket的時(shí)候是大一上學(xué)期,那個(gè)時(shí)候在折騰linux平臺(tái)下的C語言程序設(shè)計(jì),接觸了linux提供的socket接口,自己也產(chǎn)生了不少疑問,數(shù)據(jù)是怎么從一臺(tái)電腦發(fā)送到另一臺(tái)電腦的,數(shù)據(jù)傳輸過程怎么保證不會(huì)出錯(cuò)。寒假自己抽空在看計(jì)算機(jī)網(wǎng)絡(luò)的視頻,似乎一點(diǎn)點(diǎn)的明白了整個(gè)過程。還有很多,編程語言里的多線程怎么實(shí)現(xiàn)的,jvm怎么管理內(nèi)存的,這些問題都在告訴自己,那些理論課程很重要,不是因?yàn)榭荚嚕钦娴暮苤匾?。同時(shí)大學(xué)的課,大家都懂得,所以日后接觸這些課程,千萬不要就聽了課堂里講的那些。我舉這些例子的目的其實(shí)想告訴讀者的是,計(jì)算機(jī)基礎(chǔ)理論最后都會(huì)落地在實(shí)際的應(yīng)用中,而應(yīng)用的實(shí)現(xiàn)靠的是代碼,寫代碼就離不開編程語言,我們接觸這些理論最簡單的方式就是調(diào)用編程語言已經(jīng)為我們封裝好的各種接口,那么編程語言勢必?fù)碛袑?duì)基礎(chǔ)原理的封裝,看到這里我相信讀者明白了編程語言在大學(xué)階段并不僅僅用來寫代碼而已。一門優(yōu)秀的語言可以流行起來,最重要的原因之一是他足夠的簡單,簡單則說明他暴露的底層很少,比如我們看java的持久層框架,甚至連sql語句都不用寫就可以操作數(shù)據(jù)庫。


與其將編程語言當(dāng)做寫代碼的工具,不如將他當(dāng)做一個(gè)可以看到計(jì)算機(jī)底層原貌的窗戶,當(dāng)你不斷使用它的時(shí)候,你就已經(jīng)接觸到了那些底層的應(yīng)用了,如果可以保持好奇,去琢磨為什么,不知不覺編程語言將把你帶入更廣闊的世界。

遺憾的是在大學(xué)的課堂里,實(shí)在是花費(fèi)太多的時(shí)間編程語言的語法部分,好比C++,還有很多人甚至連STL是什么都不知道,假如當(dāng)初可以帶我們?nèi)ビ靡挥媚切?,我相信很多人?huì)對(duì)編程語言有不同的認(rèn)識(shí),然后產(chǎn)生更大的興趣。

分享文章:在大學(xué),編程語言不是單單用來寫代碼的,而是另有用處...
標(biāo)題鏈接:http://www.muchs.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)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司