注意:
1。 該主題是開發(fā)領(lǐng)域,不包括UML和其他建模設(shè)計(jì)技術(shù),測試技術(shù)等; 2,主要是信息軟件開發(fā)技術(shù),不包括互聯(lián)網(wǎng),游戲和嵌入式開發(fā)等領(lǐng)域;
3。 所列技術(shù)仍是主流開發(fā)技術(shù),并且已在實(shí)踐中證明至少5年;
4。 列出的技術(shù)與制造商無關(guān),并且不涉及特定的產(chǎn)品。
I。 面向?qū)ο蟮拈_發(fā)
除了一些嵌入式和底層相關(guān)的開發(fā)之外,面向?qū)ο蟮拈_發(fā)技術(shù)無疑是最主流的軟件開發(fā)方法。
也許許多大師認(rèn)為新秀根本就沒有使用面向?qū)ο蟮拈_發(fā),但是如果您選擇一種面向?qū)ο蟮拈_發(fā)語言或體系結(jié)構(gòu),那么您自然會使用面向?qū)ο蟮墓δ?,而僅僅是開發(fā)人員對面向?qū)ο蠹夹g(shù)的深刻理解。
。 如果沒有面向?qū)ο蟮募夹g(shù),很難想象一組普通的軟件工作者可以用超過200,000行代碼構(gòu)建一個軟件系統(tǒng)。
第二,SQL
如果沒有SQL,也沒有關(guān)系數(shù)據(jù)庫,我不知道它會是什么樣。 只要我們可以想到基本可以編寫的邏輯,許多數(shù)據(jù)庫平臺的SQL語言就非常強(qiáng)大。
如果要使用普通代碼實(shí)現(xiàn)復(fù)雜的SQL查詢邏輯,那將是一場噩夢。 幸運(yùn)的是,關(guān)系數(shù)據(jù)庫已經(jīng)為我們完成了所有工作。
我們只需要輸入select即可獲取所需的信息。 開發(fā)人員非常喜歡SQL語言,因?yàn)樗浅R子谑褂?,因此有HQL,F(xiàn)QL,LINQ等。
有些人討厭SQL,并認(rèn)為SQL的復(fù)雜性會導(dǎo)致數(shù)據(jù)庫性能不佳。
NoSQL數(shù)據(jù)庫也在發(fā)展,但是我認(rèn)為這不是因?yàn)镾QL問題,而是關(guān)系數(shù)據(jù)庫在高性能分布式領(lǐng)域中的挑戰(zhàn)。
3。 虛擬機(jī)平臺
此處的虛擬機(jī)不是指操作系統(tǒng)級別的虛擬機(jī)(VMWare,XEN,VisualPC等),而是指運(yùn)氣語言平臺,例如JVM或.NET體系結(jié)構(gòu)。
沒有虛擬機(jī)平臺。 據(jù)估計(jì),幾天來每個人還在尋找一些內(nèi)存泄漏。
當(dāng)然,擁有虛擬機(jī)并不意味著問題得到了徹底解決,但是我們可以花更多的時(shí)間來做一些普通的內(nèi)存無聊的事情?;厥蘸吞幚硖摂M機(jī)會可以為我們做這件事。
四個。 HTML + JavaScript
HTML豐富了我們的世界,JavaScript使世界變得更加令人興奮。 B / S體系結(jié)構(gòu)使開發(fā)人員看起來很痛苦,因?yàn)樗痪邆銫 /
S快速開發(fā)所能獲得的成就感。 但是,當(dāng)每個人都將結(jié)果組合起來并向客戶展示時(shí),我們意識到自己在賊船上,我們沒有退縮來打動客戶的感覺。 HTML +
JavaScript是B / S體系結(jié)構(gòu)的代表。 它們尚未開發(fā)多年,但仍是B / S開發(fā)技術(shù)的主流。 B / S和C /
S朝著RIA的方向發(fā)展。 面對諸如Flex和SilverLight之類的RIA體系結(jié)構(gòu)的強(qiáng)大攻擊,Ajax技術(shù)只能節(jié)省一段時(shí)間。
我認(rèn)為只有HTML5才能證明HTML仍然很強(qiáng)大。
JavaScript的靈活性一直使人們認(rèn)為它是該語言的替代方法,并且這也使得很難看出該語言的發(fā)展方向。
V。 XML
XML技術(shù)已經(jīng)出現(xiàn)很長時(shí)間了,它的出現(xiàn)給人們帶來了太多期望,尤其是希望它能夠替代流行的HTML。 XML +
XSL或XHTML基本上可以實(shí)現(xiàn)HTML的所有功能,并且格式更加標(biāo)準(zhǔn)化。
但是,用一種技術(shù)替代另一種技術(shù)不僅是功能替代,而且還使開發(fā)人員或客戶看到它可以大大提高工作效率并解決實(shí)際問題。
XML尚未成功取代流行的HTML,但是由于其格式規(guī)范,嚴(yán)格和可擴(kuò)展性,它已成為數(shù)據(jù)交互和軟件配置的首選格式。
通過XML格式,我們可以輕松地管理我們的配置文件,而不必再為定義格式而擔(dān)心。 XML技術(shù)也正在獲得更多的應(yīng)用程序和支持。
XPath和XQuery啟用XML數(shù)據(jù)該查詢非常方便,并且某些數(shù)據(jù)庫還支持XML格式的數(shù)據(jù)存儲和檢索。
VI。 WebService
WebService技術(shù)總是使人們感到不成熟,但我們基本上不能沒有它,因?yàn)樗共煌能浖换プ兊每尚校驗(yàn)閃ebService與語言無關(guān),這使開發(fā)人員可以更多地關(guān)心
業(yè)務(wù)功能的實(shí)現(xiàn),而不是一些無聊的技術(shù)。 WebService一直受到性能問題的困擾,也許這將是它的終結(jié)者。
有人說WebService本質(zhì)上是SOA體系結(jié)構(gòu)的神經(jīng),但是SOA是什么? 以服務(wù)為導(dǎo)向? SOA有點(diǎn)虛構(gòu),比云計(jì)算虛構(gòu)得多。
WebService只是SOA當(dāng)前必須使用的技術(shù)之一。 SOA是一個非常好的概念,但是我認(rèn)為SOA還有很長的路要走。
就像十年前的電子商務(wù)一樣,我們談到了沒有電子支付安全系統(tǒng),供應(yīng)商信譽(yù)評估系統(tǒng),物流系統(tǒng)等的電子商務(wù)。這需要勇氣和毅力。
七。 非對稱加密
安全問題始終困擾著信息軟件,而對稱加密系統(tǒng)的密鑰管理問題始終令人頭疼。 通過非對稱加密算法,我們可以輕松地發(fā)布密鑰并初步建立當(dāng)前的安全信任系統(tǒng)。
但是,非對稱加密的基本數(shù)學(xué)原理(因子分解,橢圓曲線)總是使人感到有些脆弱。
不可能說天才的數(shù)學(xué)家有一天會破壞我們的安全系統(tǒng),就像“相對論”和“經(jīng)典力學(xué)”,“日心說”和“地心說”一樣。
8。 工作流程
如果沒有好的工作流程平臺,我不知道如何維護(hù)和擴(kuò)展大型企業(yè)管理軟件。十年前,我們的系統(tǒng)沒有工作流程平臺。
該軟件是由客戶實(shí)施的,客戶總是提出一些個性化的流程,因此該軟件成為每個客戶的一個版本,如果開發(fā)團(tuán)隊(duì)可以維護(hù)一套10個不同版本的軟件,對于他們來說確實(shí)很難。這個問題可以很好地解決,尤其是在中國,因?yàn)閲鴥?nèi)企業(yè)的業(yè)務(wù)流程總是經(jīng)常變化的。
當(dāng)客戶的業(yè)務(wù)流程發(fā)生變化時(shí),他們可以通過工作流平臺自定義自己的業(yè)務(wù)流程,從而可以大大降低軟件維護(hù)成本。
它還可以提高客戶滿意度,并且客戶不必?fù)?dān)心由于軟件問題而繼續(xù)實(shí)施當(dāng)前不合理的流程。
九,正則表達(dá)式
與SQL和關(guān)系數(shù)據(jù)庫,XPath和XML相比,正則表達(dá)式是進(jìn)行文本分析的強(qiáng)大武器。 它具有強(qiáng)大的功能,簡潔而靈活的語法,尤其在UNIX / LINUX平臺上得到了廣泛的使用。 現(xiàn)在各種開發(fā)語言和數(shù)據(jù)庫系統(tǒng)已基本與正則表達(dá)式處理功能集成在一起。
10。 設(shè)計(jì)模式
很早就提出了設(shè)計(jì)模式。 它是對面向?qū)ο蟮拈_發(fā)技術(shù)的總結(jié)和升華,是對一些高級大師的經(jīng)驗(yàn)的總結(jié)。 設(shè)計(jì)模式就像“孫子兵法”或“三十六策略”,那么如果您能記住所有的模式和場景怎么辦? 如果您通過實(shí)踐不了解設(shè)計(jì)模式,那么它只是在談?wù)撍? 因?yàn)槲覀兊膶?shí)踐還比較少,所以并不是每個程序員都能輕松理解設(shè)計(jì)模式。 僅僅因?yàn)樵O(shè)計(jì)模式只是一些高級大師的經(jīng)驗(yàn)的總結(jié),它們并不代表完整的事實(shí)。 因此,某些軟件大師甚至不了解設(shè)計(jì)模式的概念。 就像蔣太公和成吉思汗不知道“戰(zhàn)爭之軍”一樣,但這并不意味著蔣太公和成吉思汗不是著名的軍事戰(zhàn)略家,也不意味著“戰(zhàn)爭之軍”是沒有用的。