1. 程式人生 > >拒絕做軟體開發的操作工

拒絕做軟體開發的操作工

    此文章目標僅僅限於我們這些初入行的菜鳥,大神請忽略

     目前資訊化、網際網路行業如光速般的發展,放眼軟體開發行業幾十年來,使用技術日新月異,開發語言愈來愈多.近幾年來,開發框架越來越多,就拿java來說吧,不管是J2SE,還是J2EE,還是J2ME,哪一個領域不涉及到各種各樣的開源開發框架,並且很多框架一推出,就受到許多人的狂熱追捧。說實話,打心眼裡,我是喜歡運用框架技術的,從我一開始寫程式開始,我就喜歡將我寫過的程式,用到的演算法,介面等等儲存封裝起來,以便於重複利用,我想很多同路人都有一個自己的程式碼“小金庫”吧。有時候,還可以把自己穩定的程式碼、又或者是好的演算法直接打包起來,共享給大家,讓大家在做開發的時候方便了不少,這也是JAVA開源給我們帶來的切切實實、感同身受的好處吧,我想大家都深有體會。

    開源框架(如目前比較流行的輕量級JAVA WEB開發框架等),其實在某種意義上來說,和我們自己的“小金庫”功能是一樣的,但它執行起來比我們自己小作坊弄出來的東西更加穩定、高效、準確。而且也是開源的。

         自開源思想誕生以來,各種開源框架如雨後春筍般興起,以致與到我們這一代的新生碼農來說,不管是在培訓學習還是學校裡面學習,老師一來就是SSH,一來就是VS拖拉拽,我們可以自己捫心自問,到底有幾個人自己動手,將畫面程式用程式碼一點一點自己動手敲出來的?有些可能不用框架根本寫不出一個程式。
         開源框架是提高了我們的開發效率,但是如果一味的追求效率給我們帶來的快感,不注重基礎的培養,不去了解技術的精髓,那我們就正一步一步的走向操作工的行列。可能你會說,這有什麼?技術不就是更加方便人們嗎?只要用這些東西不就行了嗎?那我只能說:呵呵.
       我想說的是,作為一個軟體的初學者,如果你現在正在做以下事情,那麼恭喜你,你可能正在一步一步淪為一個軟體操作工:
        1.不管是Windows 畫面程式,還是web頁面,沒有用程式碼一步一步的碼出來,而是通過各種工具,拖拉拽,一氣呵成,不用一點程式碼,不用敲一次鍵盤。呵呵,多方便、多快速、多麼的高效。敲程式碼什麼的,你已經OUT了。
        2.喜歡用各種各樣的框架,沒有探究過這些框架的實現原理,沒有研究過原始碼,只是一味的根據API將功能應用得淋漓盡致,不留一絲破綻。
         3.不懂軟體工程思想,不懂面對物件的概念,或者是懂了,但沒有將這些思想運用在你的程式碼裡面。
         4.對於自己運用的開發語言基礎知識不是很瞭解,或是根本不懂,我是學JAVA的,舉一個例子,對於一個JAVA開發者來說,對執行緒(thread),序列化,反射,網路程式設計,JNI技術,容器(Map,List, Iterator), 類載入器(ClassLoader),輸入輸出流,垃圾回收機制, 有比較深入的瞭解,最起碼做過專案應用。熟悉JVM引數,最起碼知道可以在JVM啟動時指定不同垃圾回收機制,以及不同垃圾回收機制之間的差別,熟悉JVM引數優化。反正這些我是目前沒有做到,我是一名不合格的JAVA程式,我會繼續努力。

一定要多看原始碼,多瞭解任何框架的核心,不能只停留在表面,一樣東西要學精,學精,再學精.       


        看到這裡有些人可能開始不削了,如果你沒有走技術路線,你可以忽略,路都是自己選的,自己走的,每個人都有自己的思想,我也不例外。但如果我們作為一名軟體開發人員,我們應該踏實,重視基礎,對於任何一個框架性的東西,需要有刨根問底的精神,我相信,不管在什麼位置,只要努力,沒有走不通的路。
         也許我還很年輕,也許在大師們眼中,我只是一個渺小的沙子一樣,不過,沒關係,我會繼續努力的。

        任何東西都沒有絕對的正確和絕對的不正確,路要選擇自己適合的路,為了生活,我們也不得不去用這些框架的東西批量的生產處批量的產品,但是這不能停止我們追求知識的權利.
 
         以上言論僅代表個人觀點,如有不正之處,還請大師們指正。同時,也感謝大家百忙之中點開閱覽我的部落格,祝大家身體健康、馬年吉祥、財源滾滾來。