兩年程式設計師的感悟,SQL才是重點,JAVA無所謂。
我不是噴子,這只是真實的感受,其中也包含著很多無奈。。。
JAVA是我第一門掌握的語言,可以說是我在程式設計語言上的母語。也正是如此,我的設計思路從一開始就傾向於OO。已經習慣於把業務場景抽象為object之間的互動,一直以來資料庫僅被我作為持久化資料的解決方案之一來看待(其實簡單應用的話,格式合理的檔案作為持久化也未嘗不可)。換句話講,總是先有應用程式物件模型,再有配套的持久化方案。
然而上班以後才發現,現實完全不需要這樣。業務被化解為神聖的表,實體表,引用表,連結表。整個系統非常靈活,所有的程式配置也全部在表裡,還有專門的表來記錄表和表之間的join關係和一些預先寫好的sql子句。真是表中有程式,程式在表中。
JAVA需要做什麼呢?對,拼接SQL。程式碼再噁心也沒關係,而且只要程式導向,完全不必擔心有效能問題,要知道應用程式的響應時間是納秒級的,而資料庫的相應時間是毫秒級的。萬一很慢,那肯定只是你SQL沒寫好。什麼靈活性更是沒意義,客戶都是外行。只要找個留學歸來,擅長溝通,像模像樣的客服,耐心給他講道理:“看似簡單的修改,其實我們要增加表,增加欄位。。。”,首付都給了,為那麼個小修改的成本可能另起爐灶嗎?反過來講,就算你OO厲害,別人程式一改一週,你的程式半天搞定,也只是給專案經理認為是你的改動本身簡單,別人的複雜。再退一萬步講,就算客戶丟了,那也是客服的事情,銷售或者財務出身的老闆完全不會把這些怪罪到你頭上。
JAVA說完了,回頭看看SQL。資料越來越多,系統越來越慢。起初毫秒級響應的操作,慢慢變成秒級,到了分鐘級客戶就會來抱怨了。這個時候如果你SQL不錯就可以自告奮勇去調優,很容易就能發現很多初級錯誤。簡單改改,再最佳化下索引,效果立竿見影。立刻領導對你讚賞有加,認為這就是技術的力量。。。
我真的很無奈,以上講的也多少有些極端,其實領導也曾稱讚我的OO思想很好,程式碼簡潔、明晰。
只是有時我從一個旁觀者的角度來看這個問題。同樣能滿足一個需求的前提下,兩種實現的差距果真有我們設想的這麼大嗎?
JAVA是我第一門掌握的語言,可以說是我在程式設計語言上的母語。也正是如此,我的設計思路從一開始就傾向於OO。已經習慣於把業務場景抽象為object之間的互動,一直以來資料庫僅被我作為持久化資料的解決方案之一來看待(其實簡單應用的話,格式合理的檔案作為持久化也未嘗不可)。換句話講,總是先有應用程式物件模型,再有配套的持久化方案。
然而上班以後才發現,現實完全不需要這樣。業務被化解為神聖的表,實體表,引用表,連結表。整個系統非常靈活,所有的程式配置也全部在表裡,還有專門的表來記錄表和表之間的join關係和一些預先寫好的sql子句。真是表中有程式,程式在表中。
JAVA需要做什麼呢?對,拼接SQL。程式碼再噁心也沒關係,而且只要程式導向,完全不必擔心有效能問題,要知道應用程式的響應時間是納秒級的,而資料庫的相應時間是毫秒級的。萬一很慢,那肯定只是你SQL沒寫好。什麼靈活性更是沒意義,客戶都是外行。只要找個留學歸來,擅長溝通,像模像樣的客服,耐心給他講道理:“看似簡單的修改,其實我們要增加表,增加欄位。。。”,首付都給了,為那麼個小修改的成本可能另起爐灶嗎?反過來講,就算你OO厲害,別人程式一改一週,你的程式半天搞定,也只是給專案經理認為是你的改動本身簡單,別人的複雜。再退一萬步講,就算客戶丟了,那也是客服的事情,銷售或者財務出身的老闆完全不會把這些怪罪到你頭上。
JAVA說完了,回頭看看SQL。資料越來越多,系統越來越慢。起初毫秒級響應的操作,慢慢變成秒級,到了分鐘級客戶就會來抱怨了。這個時候如果你SQL不錯就可以自告奮勇去調優,很容易就能發現很多初級錯誤。簡單改改,再最佳化下索引,效果立竿見影。立刻領導對你讚賞有加,認為這就是技術的力量。。。
我真的很無奈,以上講的也多少有些極端,其實領導也曾稱讚我的OO思想很好,程式碼簡潔、明晰。
只是有時我從一個旁觀者的角度來看這個問題。同樣能滿足一個需求的前提下,兩種實現的差距果真有我們設想的這麼大嗎?
[該貼被scf37於2009-05-29 14:18修改過]
相關文章
- 所謂併發程式設計,所謂有其三程式設計
- 這就是所謂的結對程式設計?程式設計
- Java程式設計師都30歲了,還剩下5年“壽命”,這就是所謂的中年危機?Java程式設計師
- 差異程式設計師-評《程式設計感悟》程式設計師
- 工作六年感悟 (1):程式設計師的選擇程式設計師
- Java程式設計師的兩項通用能力Java程式設計師
- 怎樣才是理想的程式設計師程式設計師
- 怎樣才是全能的程式設計師?程式設計師
- 三年java程式設計師面試感悟,讓你從新認識自己的不足!Java程式設計師面試
- 什麼才是程式設計師的最高境界程式設計師
- 五年程式設計師人生的點點滴滴程式設計師
- 五年java人的一點感悟Java
- 這些精英程式設計師平均年薪110萬:所謂高薪,皆是辛苦!程式設計師高薪
- 9點上班,17點下班,一位程式設計師在國企工作的感悟程式設計師
- 工作一兩年的程式設計師,有點錢,買房還是買車?程式設計師
- 兩年外包女程式設計師的真實感受程式設計師
- 兩個程式設計師程式設計師
- 一個 IT 青年程式設計四年的感悟程式設計
- 一個畢業6年的程式設計師工作經歷和成長感悟程式設計師
- 一名程式設計師十年技術之路的思考與感悟程式設計師
- 完了!Windows弱爆了!它才是程式設計師的首選!程式設計師:真的好用!Windows程式設計師
- 兩個程式設計師的故事程式設計師
- 程式設計師廁所標語程式設計師
- DRF請求的生命週期:三年程式設計師的實戰感悟程式設計師
- 什麼才是程式設計師的核心競爭力?程式設計師
- 初級Java程式設計師所面臨的4大挑戰Java程式設計師
- 程式設計師生存指南:你必須要掌握的兩點!程式設計師
- 感悟我的程式設計之路程式設計
- 程式設計師必看的書之Java程式設計師程式設計師Java
- 2018 年第 34 周沸點看點:程式設計師分哪兩種程式設計師
- 一個6年iOS程式設計師的工作感悟,送給還在迷茫的你iOS程式設計師
- 程式設計師的缺點程式設計師
- 好程式設計師Java教程分享Java的兩種跳轉語句程式設計師Java
- 好程式設計師Java培訓分享Java集合的兩種排序方法程式設計師Java排序
- 好程式設計師Java分享SQL語言之索引程式設計師JavaSQL索引
- 所謂BAPIAPI
- 程式設計師的奮鬥史(五)——謙遜才是王道程式設計師
- 聊聊所謂的cookieCookie