2012年軟考軟件設(shè)計(jì)師輔導(dǎo):當(dāng).NET愛(ài)上Java的時(shí)候

字號(hào):

在目前編程語(yǔ)言繁多的情況,很多編程開(kāi)發(fā)者在選擇什么樣的語(yǔ)言作為自己謀生的途徑而煩惱著。哪種語(yǔ)言或者開(kāi)發(fā)模式,是以后軟件開(kāi)發(fā)市場(chǎng)的未來(lái)?而當(dāng)前存在著兩大對(duì)壘就:微軟的。net和sun公司的java。他們各有什么樣的優(yōu)勢(shì)和劣勢(shì)?未來(lái)的市場(chǎng)會(huì)是怎么樣?
    選擇誰(shuí)呢,這事關(guān)飯碗可是大事。
    昨天我看了Java與.NET,誰(shuí)是未來(lái)?來(lái)源:cnblogs.com/accpxcb
    不禁把一點(diǎn)感悟?qū)懴聛?lái)給大家分享
    我們遇到項(xiàng)目是這樣的:
    客戶自己向Oracle公司買了OracleLinux操作系統(tǒng),還有weblogic和Oracle數(shù)據(jù)庫(kù)
    我們單位都是搞。netframework開(kāi)發(fā)的,現(xiàn)在就是個(gè)大問(wèn)題
    遇到的問(wèn)題就是怎么在OracleLinux+weblogic集群的機(jī)器上開(kāi)發(fā)部署我們的項(xiàng)目
    當(dāng)時(shí)首先想到的就是等微軟收購(gòu)Oracle,這樣Java.NET,合二為一皆大歡喜
    還有個(gè)辦法就是讓客戶買Windows2008還有Sqlserver
    這種想法根本不現(xiàn)實(shí),這么辦。
    我當(dāng)時(shí)直接提出
    JAVA+.NET=完美組合
    我們不應(yīng)該否定java和。NET中的任何一個(gè),java做服務(wù),。net做客戶端,使用webservice連接。
    最后此項(xiàng)目采用我的這種方法,很完美的解決問(wèn)題。
    我負(fù)責(zé)全部客戶端全部代碼,其他人臨時(shí)搗鼓下javawebservice
    技術(shù)就是:
    服務(wù)器操作系統(tǒng):OracleLinux
    Web服務(wù)器:weblogic
    weblogic開(kāi)發(fā)軟件:jdeveloper(由用戶提供)
    數(shù)據(jù)庫(kù):Oracle
    客戶端:silverlight
    客戶端開(kāi)發(fā)工具:MicrosoftVisualWebDeveloper2010Express
    上面提到技術(shù)工具全部可以到Oracle和微軟網(wǎng)站上下載,Oraclelinux可以去Verycd上找。
    不足之處就是就是silverlight還不能支持Android和IOS,如果哪一天微軟支持了,就皆大歡喜了。
    大家不要局限于我說(shuō)的這些,比如數(shù)據(jù)庫(kù)用Mysql,操作系統(tǒng)MAClion或者是windows都可以是很好的選擇。
    如果需要我教你什么的話,莫過(guò)于怎么用JAVA創(chuàng)建WebService供訪問(wèn)。
    基本看看都會(huì)了,silverlight怎么訪問(wèn)WebService或者JAVA怎么連數(shù)據(jù)庫(kù)就不應(yīng)該是我該教你的東西了。
    有用的話:
    開(kāi)發(fā)人員對(duì)自己擅長(zhǎng)的東西都持有一種偏見(jiàn),如何改變這種偏見(jiàn),就應(yīng)該去嘗試另外一種實(shí)現(xiàn)方法或軟件。
    卡爾馬克斯的一句名言,“對(duì)每一個(gè)項(xiàng)目而言,應(yīng)該根據(jù)自己的需要充分發(fā)揮其所需平臺(tái)的能力?!保‵romeachplatform,accordingtoitsabilities,toeachproject,accordingtoitsneeds.)”
    寫給在Java和。net中徘徊的新手:
    在很多網(wǎng)站上,網(wǎng)友都會(huì)問(wèn)一個(gè)相同的問(wèn)題,到底是學(xué)Java還是。net,個(gè)有個(gè)的見(jiàn)解。
    自從。Net問(wèn)世以來(lái),程序員都很關(guān)心的一個(gè)問(wèn)題是「該學(xué)Java或。NET」。我也在掙扎,該「該繼續(xù)Java的研究,或者該開(kāi)始準(zhǔn)備培養(yǎng)。NET的知識(shí)」。
    我十分反對(duì)這句話:
    畢竟一名程序員真正的技術(shù)青春沒(méi)有多少年,相信很多人從事這個(gè)行業(yè)的時(shí)候也都是有很多理想的,那么花1~2年認(rèn)真學(xué)習(xí)某一個(gè)語(yǔ)言對(duì)于開(kāi)發(fā)生涯而言不是小事。
    我學(xué)開(kāi)發(fā)已經(jīng)10年,開(kāi)發(fā)東西也有5-6年,任何一種技術(shù)其實(shí)說(shuō)白了,一開(kāi)始沒(méi)有個(gè)3、5年別提會(huì)不會(huì),國(guó)外的朋友都說(shuō),JAVA架構(gòu)師沒(méi)有10年20年經(jīng)驗(yàn)別提架構(gòu)師。
    一開(kāi)始你可以選擇你喜歡的語(yǔ)言和平臺(tái)。到后面,你會(huì)發(fā)現(xiàn),其它技術(shù)其實(shí)差不多。
    人不是神仙,鬼曉得你將來(lái)的公司招。net還是搞java的人,你學(xué)通一門馬上就觸類旁通了。
    有一本書叫《C#indepth》上面有一句話:
    我相信假如開(kāi)發(fā)人員能和自己使用的語(yǔ)言建立戀愛(ài)關(guān)系,那么他工作起來(lái)會(huì)更加得心應(yīng)手。
    這個(gè)也是一樣的道理。
    一開(kāi)始學(xué)習(xí)不要三心二意、見(jiàn)異思遷、水性楊花(這誰(shuí)和誰(shuí)?。匆?jiàn)XX高手很牛就去學(xué)什么,把自己喜歡的東西學(xué)好學(xué)到手,轉(zhuǎn)行做其他很快就可以上手。
    我就拿我自己舉例子,VC++,很多人說(shuō)很難。
    上次GAL云叫做個(gè)啟動(dòng)EXE,直接用Java和。net都不合適,雖然我早就實(shí)現(xiàn)脫離框架安裝就可以跑程序的技術(shù),但是這個(gè)時(shí)候都不合適。
    以前我根本就沒(méi)有學(xué)過(guò)VC++,因?yàn)橐婚_(kāi)始學(xué)VC覺(jué)得是太復(fù)雜太復(fù)雜的東西了。
    但是那天找了本ProgramWindowsWithMFC,看了看,感覺(jué)馬上就會(huì)了。看書連開(kāi)發(fā)基本上一天之內(nèi)就交貨給GAL云了,根本不存在學(xué)習(xí)問(wèn)題。
    后來(lái)東西全部都可以用VC開(kāi)發(fā)了。