亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢(xún)熱線(xiàn):0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

對(duì)語(yǔ)言之爭(zhēng)的看法

發(fā)布時(shí)間:  2012/8/17 17:47:02

又看到語(yǔ)言之爭(zhēng),各種吐嘈,唉…… 說(shuō)說(shuō)我的看法,我覺(jué)得一門(mén)編程語(yǔ)言用到極致就行了,何必糾結(jié)語(yǔ)法層面的差異?

 

因?yàn)闅v史原因,我用.NET比較多,當(dāng)然Windows編程、Java編程、Linux/Unix編程、C/C++編程、Python,JavaScript等動(dòng)態(tài)語(yǔ)言甚至是匯編編程我也粗有研究,也測(cè)試過(guò)一門(mén)動(dòng)態(tài)編程語(yǔ)言Python。刨去Visual Studio昂貴的費(fèi)用(我一開(kāi)始用的是盜版,當(dāng)然現(xiàn)在因?yàn)锽izspark的關(guān)系終于用上正版了……),說(shuō)實(shí)話(huà)我還是比較喜歡C#的,做項(xiàng)目的時(shí)候,我這個(gè)人沒(méi)什么節(jié)操,什么語(yǔ)言來(lái)錢(qián)快用什么語(yǔ)言。

 

那怎么個(gè)來(lái)錢(qián)快呢?

1. 學(xué)習(xí)成本比較低,在編程時(shí)碰到不會(huì)用的函數(shù)我一般都是點(diǎn)點(diǎn)點(diǎn),在下拉框里找。不知道我是人笨還是怎么回事,反正我每次寫(xiě)Python,JavaScript、PHP這些程序的時(shí)候,每次都得Google,比如啥“Open a database in python”,“Javascript substring”啦之類(lèi)的。

 

也許你會(huì)說(shuō)不是有Eclipse嗎?Eclipse的確是一個(gè)很偉大的編輯器,但就一點(diǎn)不好,這個(gè)慢!每次打開(kāi)工程,就會(huì)讓我有種天黑下來(lái)的感覺(jué)。特別是掛上一些插件,特別是Maven的插件,Oh My Lady Gaga,隨便打開(kāi)一個(gè)開(kāi)源工程就在那更新什么Index,暈死,其實(shí)我就是想小小的編譯一下代碼看看效果,然后就看到命令行一陣陣的輸出下載什么不知所云的包文件,Maven果如其名,像我這種非Java內(nèi)行,總是要從這個(gè)天黑等到那個(gè)天黑才能編譯完一個(gè)小程序。

 

2. 編譯方面,這方面我對(duì)C/C++最大的抱怨就是,現(xiàn)在內(nèi)存都已G計(jì)算了,怎么還是在用KB內(nèi)存時(shí)代的單文件編譯再鏈接的方式編譯程序?隨便寫(xiě)個(gè)程序就是各種-I,-L,-l選項(xiàng),更讓人抓狂還有C++ mangling這東東,不僅不同編譯器的mangling方式不一樣,這個(gè)編譯器不能鏈接那個(gè)編譯器生成的庫(kù)文件也就罷了!同一個(gè)編譯器不同版本Mangling也有問(wèn)題,我04年改squid的源碼,加一個(gè)代理計(jì)費(fèi)的功能,數(shù)據(jù)庫(kù)用的是Oracle,為了方便用C++和OCCI寫(xiě)計(jì)費(fèi)程序,我靠,同樣是Oracle的OCCI庫(kù),我在Mandrake(這個(gè)版本的Linux稍微新一點(diǎn)的IT人估計(jì)都沒(méi)聽(tīng)說(shuō)過(guò))竟然無(wú)法鏈接OCCI庫(kù),就是因?yàn)镺racle發(fā)布OCCI時(shí)是在Redhat等GCC 3上編譯的,而我的系統(tǒng)是GCC 4?!為了避免格盤(pán)裝Redhat(我那個(gè)時(shí)候的機(jī)器是512M內(nèi)存的賽揚(yáng)機(jī),雖然早就開(kāi)始玩VMware,但那個(gè)配置跑虛擬機(jī)基本上等于自殺,而Mandrake那時(shí)的界面的確比Redhat好看好多,什么WindowMaker, Enlightenment之類(lèi)的窗口管理器真的會(huì)讓你有種黑客的感覺(jué)),于是我就用OCI實(shí)現(xiàn)了最小集合的OCCI的接口,才搞定這個(gè)事情。

 

更不要提什么autoconf, automake, make之類(lèi)各種詭異的語(yǔ)法了,還有g(shù)db全命令行的調(diào)試界面,哦,對(duì)了,如果有興趣,建議你玩玩emacs里啟動(dòng)gdb、jdb之流體驗(yàn)一下偽所見(jiàn)即所得的源碼級(jí)調(diào)試支持。

 

3. 編輯器支持,這一點(diǎn)我對(duì)Python抱怨非常大,前些天我自己給svn寫(xiě)的python插件出了點(diǎn)小問(wèn)題,那我得調(diào)試修復(fù)代碼呀!各種print那就不說(shuō)了,更要命的是,原來(lái)的python程序是在emacs下寫(xiě)的,為了圖快就用Visual Studio編輯,結(jié)果Visual Studio里的Tab鍵代表的空格數(shù)有那么一點(diǎn)點(diǎn)的小差別,解釋器也不告訴你是哪一行,就說(shuō)了一個(gè)什么“Indention miss match”就退出了。最后還是在記事本里編輯才解決這個(gè)問(wèn)題,12345678(個(gè)空格),一行行地修復(fù)。本來(lái)我費(fèi)了些功夫才在自己設(shè)計(jì)的編程語(yǔ)言里加上縮進(jìn)支持的,經(jīng)過(guò)這一鬧騰徹底把那些代碼刪了。

 

這方面,Object-C我就不想說(shuō)什么了,xcode運(yùn)行的好端端的,突然就不見(jiàn)了……大概是因?yàn)槲以赑C上用虛擬機(jī)跑Mac OS X引起的吧。

 

4. 調(diào)試支持,這也是為什么我喜歡用C#、.NET的原因,各種調(diào)試支持,什么跟進(jìn)到數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程,遠(yuǎn)程調(diào)試,跟進(jìn)遠(yuǎn)程DCOM RPC接口,內(nèi)存驗(yàn)尸分析,C#和C++的混合調(diào)試?yán),在生產(chǎn)服務(wù)器調(diào)試時(shí)自動(dòng)幫你從源碼服務(wù)器上下載正確版本的源碼啦。Python、PHP等動(dòng)態(tài)語(yǔ)言我不知道各位是怎么調(diào)試的,對(duì)我這種不常用的人來(lái)說(shuō),就是各種print…… 如果不是后面瀏覽器里集成了JavaScript調(diào)試支持,以前也是各種window.alert – 邦邦邦邦,object undefined - 。

 

Java其實(shí)對(duì)調(diào)試的支持做的也還可以,JDK里也有不少的工具,比如jstack, jhat之類(lèi)的,jhat的OQL的思想的確不錯(cuò)!只不過(guò)很可惜,如果是在生產(chǎn)服務(wù)器上用,找源碼有時(shí)還是蠻費(fèi)勁的。當(dāng)然如果機(jī)器配置差點(diǎn),大白天也會(huì)看到日食的。

 

5. 可配置性,這里我恨透了所有以XML做配置文件的程序,只要是配置錯(cuò)那么一點(diǎn)點(diǎn)就罷工,這也就罷了,象tomcat竟然還有好幾個(gè)xml配置文件,什么context.xml,server.xml,web.xml。象我這樣性急的人,有時(shí)就是想部署一個(gè)簡(jiǎn)單的網(wǎng)站而已,結(jié)果就是各種less catalina.xxxx.log,Google “How to deploy a servlet in tomcat”。好容易部署成功吧,運(yùn)行一下又掛了,less一下:

 

Org.Hibernate.XXXException……

 

只好用eclipse attach tomcat進(jìn)程上去看看……

 

6. 類(lèi)庫(kù)支持,什么gem、pear之類(lèi)的,我就不明白為什么rubygems這種看起來(lái)跟紅寶石、葡萄酒一樣的單詞怎么就會(huì)變成敏感詞匯?

 

在Ubuntu上裝個(gè)PHPUnit都費(fèi)勁,就僅僅是因?yàn)镻HPUnit需要用最新的pear安裝,然后我用pear自己給自己升級(jí)就不知道怎么的裝到home目錄里了?結(jié)果是不停地cp –r ~/pear/XXXX /usr/share/pear/XXXX

 

7. 編寫(xiě)GUI程序的便利性,當(dāng)然C++有QT,WTL, MFC,Python有pygtk,Java有swing之類(lèi)的東東,但我實(shí)在不想就為了在窗口上放個(gè)按鈕控件,注冊(cè)一個(gè)點(diǎn)擊事件,一會(huì)用boost::function之類(lèi)的玩意封裝個(gè)回調(diào)函數(shù),一會(huì)寫(xiě)個(gè)什么new IXXXX() { void Click(); }神馬的匿名類(lèi)。

 

拖拖拉拉,這點(diǎn)點(diǎn)那點(diǎn)點(diǎn)多好?

 

我上面抱怨了這么多,各位編程大?隙ㄓX(jué)得是我太菜,不懂就別瞎說(shuō)。

 

別的語(yǔ)言我就不多說(shuō)了,我覺(jué)得其實(shí)一個(gè)程序沒(méi)有必要非要用一門(mén)編程語(yǔ)言寫(xiě),哪個(gè)合適就用哪個(gè)好了,比如去年我用C#給網(wǎng)游寫(xiě)些輔助,除了訪(fǎng)問(wèn)內(nèi)存、調(diào)用函數(shù)用些C++和匯編外(其實(shí)都可以用C#寫(xiě),但是不想P/Invoke麻煩),在進(jìn)程里注入個(gè).NET虛擬機(jī)也不覺(jué)得有什么不方便的地方,而且從里面開(kāi)一個(gè)remoting服務(wù),避免了很多寫(xiě)前臺(tái)管理程序的各種煩。

 

那我最近寫(xiě)個(gè)C#程序,有幾個(gè)Java的庫(kù)沒(méi)心思找替換的庫(kù),用ikvm好像也沒(méi)什么大問(wèn)題,而且在Linux用mono跑這個(gè)程序也沒(méi)有問(wèn)題哦。

 

至于在一些規(guī)則系統(tǒng)里,需要運(yùn)行python、ruby、javascript等動(dòng)態(tài)腳本寫(xiě)的規(guī)則定義時(shí),無(wú)非就是用DLR解釋運(yùn)行一下好了。

 

至于調(diào)用COM組件,在IE里把.NET程序當(dāng)作ActiveX控件,與Win32/COM互操作,我覺(jué)得COM Interop在這方面做得已經(jīng)很好了。

 

再不濟(jì),如果是分布式環(huán)境,大不了就用Ioc和SOA整合一下其他語(yǔ)言寫(xiě)的系統(tǒng)好了,為什么非要糾結(jié)于一兩門(mén)編程語(yǔ)言語(yǔ)法上的優(yōu)劣呢?


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話(huà):0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話(huà):0371-60135900
  • 專(zhuān)注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線(xiàn)