java如何編程 對于java基礎(chǔ),是應(yīng)該掌握底層原理,還是方法的熟練使用?
對于java基礎(chǔ),是應(yīng)該掌握底層原理,還是方法的熟練使用?兩者都要掌握并深入實踐。都說搞底層和算法的才厲害,學(xué)Java的感到自卑,怎么辦?這是一個偉大的方式來建立一個宇宙飛船,但有許多只是螺絲釘。搞算
對于java基礎(chǔ),是應(yīng)該掌握底層原理,還是方法的熟練使用?
兩者都要掌握并深入實踐。
都說搞底層和算法的才厲害,學(xué)Java的感到自卑,怎么辦?
這是一個偉大的方式來建立一個宇宙飛船,但有許多只是螺絲釘。
搞算法的人看不起搞工程的人,
搞操作系統(tǒng)內(nèi)核的人看不起寫驅(qū)動的人,
搞體系結(jié)構(gòu)的人看不起寫模塊的人,
搞嵌入式系統(tǒng)的人看不起寫應(yīng)用的人,
寫背景的人看不起寫前景的人。
使用Mac OS X的工程師鄙視使用Linux的工程師,
使用Linux的工程師鄙視使用windows的工程師。
C語言工程師鄙視C工程師,
C工程師鄙視Java和C工程師,
Java工程師和C工程師互相鄙視。
有漂亮妻子的程序員鄙視沒有漂亮妻子的程序員。
有妻子的程序員鄙視沒有妻子的程序員。
沒有妻子和女友的程序員鄙視單身狗。
……
其實,想想上面的鄙視心態(tài)很簡單。一般來說,站在最高層的人的心態(tài)是我制定了游戲規(guī)則。你只是游戲中的一個棋子。當(dāng)然,我可以看不起你。
但他真的創(chuàng)造了游戲規(guī)則嗎?顯然不是。
站在蔑視鏈頂端的大多數(shù)人也是這一層的螺絲釘。因此,大多數(shù)人沒有資格鄙視。
比如,你看不起蓋房子的工人嗎?事實上,真正的殺手是房子的設(shè)計師(當(dāng)然,大多數(shù)設(shè)計師都是從一個地方復(fù)制到另一個地方,并不羨慕)。
所以如果這個蔑視鏈真的有意義的話,那么我想:底層的人比你付出更多的時間。Java更容易上手,C更難上手,算法更難上手。
但是優(yōu)秀Java程序員的門檻并沒有降低。同樣,做算法的人很難做出好的算法。大多數(shù)從事C語言開發(fā)的人不會獨立編寫操作系統(tǒng)。
如果你只是想繼續(xù)學(xué)習(xí)Java,你應(yīng)該怎么做?只是時間和精力比別人多。
每種語言都有自己的優(yōu)勢。不要用Java的缺點來比較其他語言的優(yōu)點,而要充分發(fā)揮Java自身的優(yōu)點。
在做程序員的道路上,你掌握了什么概念或技術(shù)使你感覺自我提升突飛猛進?
我是甲方的ERP程序員,公司剛推出ERP系統(tǒng)時,大家都覺得上帝的存在太復(fù)雜了。
上線后,各種問題層出不窮,項目已通過驗收。乙方一聽我們的問題,就會有兩個動作:1)這個問題不在需求范圍內(nèi),需要付費解決;2)這個問題這個版本沒有解決,下一個版本可以解決。
顯然,這是個小問題。為什么不能解決?核心原因:沒有源代碼,不知道從哪里開始。ERP歸根結(jié)底是對數(shù)據(jù)庫的添加、刪除和修改。直到我明白了這兩點,ERP的“九字真言”終于越過了前三個字。(所謂ERP九字咒語是:先剛性,后固化,再優(yōu)化)。
我理解的兩點如下:1)真正理解ERP邏輯的人不是計算機工作者,而是業(yè)務(wù)骨干。ERP構(gòu)建了最常見、最核心的業(yè)務(wù)邏輯,體現(xiàn)在操作流程和功能接口上。只有業(yè)務(wù)骨干才能真正理解這種設(shè)計的必要性。
2)只要程序員與業(yè)務(wù)主干相結(jié)合,盡管沒有源代碼,但還是有辦法看到添加、刪除、修改和查詢的代碼是如何操作數(shù)據(jù)庫的。這是SQL事件探查器跟蹤程序。
兩者結(jié)合后,ERP維護將變得非常簡單。畢竟,一個已經(jīng)上市幾十年的ERP產(chǎn)品具有很好的穩(wěn)定性和繼承性。那么,各種個性化報表的開發(fā)就非常簡單了。
隨著對業(yè)務(wù)編程越來越熟悉,這個團隊將對ERP產(chǎn)品有非常透徹的了解,終于有一天。乙方要求增加維修費,我們想了想,沒有,我們自己維修吧。然后,我們將ERP的生產(chǎn)功能分離,自行定制開發(fā),并逐步完善,越來越喜歡它。這是九字咒語的最后一個階段:優(yōu)化。
當(dāng)然,這一過程的實現(xiàn)得益于ERP產(chǎn)品開發(fā)平臺的支持和自身的開發(fā)邏輯。大型工廠(包括國外SAP)的ERP從財務(wù)模塊開始,再到供應(yīng)鏈,再到制造,再到商業(yè)智能。這決定了每個模塊是松散耦合的。在演化過程中,采用了多種接口方式,從硬寫數(shù)據(jù)庫到使用XML交換數(shù)據(jù),再到COM組件接口、API,甚至提出了整體開發(fā)平臺,并用開發(fā)平臺重寫業(yè)務(wù)文檔?;旧?,這些資料可以在網(wǎng)上找到。如果你參加幾次由大工廠組織的開發(fā)培訓(xùn),就更容易開始。