JAVA足夠簡單薪介,但作為一個初學(xué)者來說祠饺,那齁老長的主方法和50個左右的關(guān)鍵字一下子就讓人暈頭轉(zhuǎn)向了。我當初看到JAVA主方法的第一反應(yīng)是汁政,還是去學(xué)C語言吧道偷,主方法干凈,整潔记劈,再加上我經(jīng)常聽到說學(xué)編程入門先學(xué)C語言勺鸦,這給了我一個錯覺,就是C語言是最簡單的變成語言目木,后來才發(fā)現(xiàn)换途,其實并不是這樣的。
以前總是認為只要學(xué)會了一門編程語言就能想干什么就干什么刽射,就好像可以在計算機的世界里做任何事情军拟,后來發(fā)現(xiàn),軟件畢竟是軟件誓禁,終究需要硬件的支持吻谋,如果硬件沒有給你提供這個功能,你就算有再大的本事现横,你也寫不出來。在最初那個沒有操作系統(tǒng)的年代阁最,都是基于CPU進行程序開發(fā)戒祠,一開機就運行相應(yīng)的程序,后來由于開發(fā)的難度大速种,所以出現(xiàn)了操作系統(tǒng)姜盈,來簡化編程。現(xiàn)在的編程配阵,都是基于操作系統(tǒng)進行編程馏颂,操作系統(tǒng)為你提供了相應(yīng)的操作接口,你只需要調(diào)用即可棋傍。而開發(fā)人員在開發(fā)之中經(jīng)常會寫大量的重復(fù)代碼救拉,所以為了簡化開發(fā),函數(shù)庫就出來了瘫拣。
從最初的01編程亿絮,到匯編,到C再到JAVA,其實就是一個不停地封裝的過程派昧,我們不再去關(guān)注底層具體是如何實現(xiàn)的了黔姜,所以開發(fā)難度就越來越簡單了,因此蒂萎,JAVA比C語言要簡單秆吵。JAVA開發(fā),是基于JVM進行開發(fā)五慈。因為JAVA是運行在JVM上的纳寂,JAVA提供了大量的類庫供我們使用,所以開發(fā)變得非常的簡單豺撑,最關(guān)鍵的是JAVA提供了自動的垃圾回收機制烈疚,開發(fā)人員不用再去關(guān)注內(nèi)存分配問題,但即便是這樣聪轿,依然又出現(xiàn)了大量的開源框架爷肝,SSH、MyBatis等陆错,我們又可以簡化開發(fā)了灯抛,到了企業(yè),說不定企業(yè)會對框架進行二次封裝音瓷,我們的開發(fā)又簡單了...
但是对嚼,這樣的編程有意義嗎?離底層越來越遠绳慎,每天寫著一模一樣的重復(fù)的代碼纵竖,IDE自動幫助我們檢查錯誤,Ctrl + Shift + F 自動進行代碼排版杏愤,自動生成讓我們不再去背常用的代碼靡砌,每天像個機器一樣的編程...
我當初為什么學(xué)編程,就是為了了解原理珊楼,然后學(xué)了JAVA之后通殃,感覺沒學(xué)到什么原理,JAVA寫不了操作系統(tǒng)厕宗,JAVA寫不了病毒画舌,學(xué)JAVA不會讓你了解操作系統(tǒng)的原理,不會讓你明白為什么電腦能夠引導(dǎo)你的操作系統(tǒng)已慢,驅(qū)動程序到底是什么東西曲聂,因為面向?qū)ο蟮姆庋b性,你不用再去關(guān)注細節(jié)佑惠,幾乎每個JAVA老師都會說句葵,這是系統(tǒng)提供的類庫厕鹃,你不用去管具體怎么實現(xiàn)的,拿來用就可以了乍丈,我們更加不用去關(guān)注最為關(guān)鍵的算法問題剂碴,這也讓我們覺得數(shù)學(xué)好像和編程沒什么關(guān)系。
學(xué)JAVA到底是為了什么轻专,國內(nèi)有大量的JAVA工程師的需求忆矛,有大量的培訓(xùn)機構(gòu),但是请垛,幾乎見不到有人能夠開發(fā)一套自己的東西催训,開源框架是國外的,編程語言是國外的宗收,操作系統(tǒng)是國外的漫拭,數(shù)據(jù)庫是國外的,中間件是國外的混稽,開發(fā)工具是國外的采驻,CPU是國外的,顯卡是國外的匈勋,硬盤是國外的...基本上都是國外的礼旅,我們根本不是開發(fā)者,我們不過是個使用者洽洁,就好像從外國買了一輛進口的出租車到中國來拉客賺錢一樣痘系。其實仔細觀察了一下,我的電腦上饿自,基本上沒有國內(nèi)的產(chǎn)品汰翠,就連一個4MB大小的IDE記事本,也是國外的產(chǎn)品昭雌,對360的失望和對騰訊的無恥刨疼,不得不讓我選擇了影子系統(tǒng)蜻懦,開機還原哮缺。
比爾蓋茨和喬布斯為了技術(shù)在斗爭验辞,而國內(nèi)為了錢想出一套是一套抄课。人工智能漸漸的到來唱星,也許以后不會在需要我們?nèi)ゾ帉憻o聊的代碼了,而唯一能夠存活下來的跟磨,就是那些了解原理的開發(fā)者间聊。
對于JAVA這種語言來說,我始終認為抵拘,不想了解原理的程序員不是好程序員哎榴,不想寫框架的JAVA程序員不是好JAVA程序員,只會用,為了錢尚蝌,我覺得你可以去開公交車迎变,現(xiàn)在的年輕人不都喜歡秀車么。
JAVA只是一個開始飘言,并不是結(jié)束衣形,還好JAVA并沒有完全的封裝,native方法給了我們無限的可能姿鸿,我們還是有機會去編寫自己的底層操作代碼谆吴,而要做到這些,C/C++苛预,匯編句狼,那是不可缺少的,越來越多簡單的新的編程語言出現(xiàn)了热某,然而我沒有興趣腻菇,只有匯編,C/C++我認為才是永遠不朽編程語言苫拍。