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