以計算機科學的角度談談科班出身和非科班出身的一些見解前端
在當今的計算機行業裏面從事計算機軟件,硬件等設計開發工做的人其實有至關一部分大學時所學的專業並非計算機科學,咱們在此暫且簡單的把這個行業裏面的人分爲學習計算機專業的科班,以及其餘非科班兩類。本文意在簡單討論一下對於不一樣問題的想法,這兩類人到底會有什麼區別,無心觸及任何人,因此請不要對號入座。node
固然科班出身的也存在一部分沒有好好學的,不在本文討論以內,非科班出身的也有自學了相關的所有知識技術,並且理解的至關深刻的人,那麼本文也將這類人算成是科班出身的。算法
想寫這篇文章已經好久了,由於看到了太多的人,對於某個具體領域的想法,包括提的問題都是非主流的,根本不符合計算機科學的思考方式,人說沒吃過豬肉,至少也要看看豬跑,然而好多人,好多會,好多問題,浪費了太多的時間。安全
先說說做者本身的親身經歷吧,筆者在國內一所985高校得到了自動化的本科,信號處理相關的碩士和計算機的碩士。我的認爲其中的區別仍是很大的,自動化專業偏控制更宏觀一些,信號相關的專業偏信號處理,算法設計,FFT,計算機專業的則更側重於代碼實現,機器學習方法等,據筆者所知,即使是這三個如此相近的專業都有如此大的區別,那麼其餘非科班出身的若是沒有自學過相關的知識就去完成相關的工做,如何保證作得對,作得好呢。機器學習
這裏舉一個簡單的例子,前幾天有人在園子裏面寫了一篇文章談了談DNS的簡單原理,對於計算機科班出身的人來講,這些應該東西應該是徹底瞭然於胸的,好比在企業內網發現問題了,機器名字和IP對不上,或者對上了老是出問題,怎麼去查找,怎麼去解決這個問題呢?這時候就是這些原理性的東西發揮做用的時候了。socket
再舉個例子對於WCF的學習,相信不少人都研究過,也看過不少園子裏面的文章,可是本身研究的時候,或者遇到問題的時候還老是不知道如何下手,爲何呢?究其本質,基礎的計算機科學的東西已經被人家認爲是你必須掌握的東西了,因此人家是不會給你講那些你不懂的地方的,直接就是切入主題,其實你學不會,並非由於你不懂WCF,而是由於你缺乏基礎知識的掌握。其實我有時候就很討厭這種書,由於不自成體系,初學者不適合閱讀,這和老外的想法就徹底不一樣,老外學的東西通常都是自成體系的。工具
再舉個例子NODE.JS, 看下面一個簡單的例子,JavaScript難麼,不難,那爲何好多人仍是如此簡單的東西都理解不了呢?甚至有人認爲搞NODE.JS的都是高大上?恐怕仍是基礎的東西沒掌握吧?一個就連文科生均可以去寫的很好的語言,你還以爲難麼?學習
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); To run the server, put the code into a file example.js and execute it with the node program from the command line: % node example.js Server running at http://127.0.0.1:1337/ Here is an example of a simple TCP server which listens on port 1337 and echoes whatever you send it: var net = require('net'); var server = net.createServer(function (socket) { socket.write('Echo server\r\n'); socket.pipe(socket); }); server.listen(1337, '127.0.0.1');
再來談談前端的東西,HTML, CSS, JavaScript, 這些及其簡單的東西爲爲何老是被人奉爲神技呢?仍是由於不懂球吧,呵呵。固然我在這裏並非說前端一無可取,一個好的前端通常都是有品位的,有藝術眼光,對於一些前端的東西有不少的經驗性的東西。在這裏筆者想說的是,無論咱們乾的是那一部分的工做,可是至少咱們也應該知道其餘的東西都是幹什麼的,不要盲目崇拜,認爲幹什麼什麼的都是NB的。AJAX, JQuery, Bootstrap這些東西只要你理解了基礎,就會知道,這些工具,對他們只是工具,就像人類發明了機器代替手工同樣,仍是挖土,可是工具讓咱們生活的更舒服,效率更高。ui
總結spa
說了半天基礎是什麼呢?舉例來講,計算機組成,編譯原理,OS,Network, Datastructure, 信息安全和密碼學等等,俗話說不積跬步無以致千里,在有時間的時候補一補這方面的東西說不定會有很大的收穫。在一個浮躁的世界上,可能好多人根本還沒學會跑就已經開始跑了,可是無所謂,you are never too late to learn!
最後借用侯傑老師的一句話結束本文:勿在浮沙築高臺