激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

        對語言之爭的看法

        發(fā)布時間:  2012/8/17 17:44:21

        又看到語言之爭,各種吐嘈,唉…… 說說我的看法,我覺得一門編程語言用到極致就行了,何必糾結語法層面的差異?

         

        因為歷史原因,我用.NET比較多,當然Windows編程、Java編程、Linux/Unix編程、C/C++編程、Python,JavaScript等動態(tài)語言甚至是匯編編程我也粗有研究,也測試過一門動態(tài)編程語言Python。刨去Visual Studio昂貴的費用(我一開始用的是盜版,當然現(xiàn)在因為Bizspark的關系終于用上正版了……),說實話我還是比較喜歡C#的,做項目的時候,我這個人沒什么節(jié)操,什么語言來錢快用什么語言。

         

        那怎么個來錢快呢?

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

         

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

         

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

         

        更不要提什么autoconf, automake, make之類各種詭異的語法了,還有gdb全命令行的調(diào)試界面,哦,對了,如果有興趣,建議你玩玩emacs里啟動gdb、jdb之流體驗一下偽所見即所得的源碼級調(diào)試支持。

         

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

         

        這方面,Object-C我就不想說什么了,xcode運行的好端端的,突然就不見了……大概是因為我在PC上用虛擬機跑Mac OS X引起的吧。

         

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

         

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

         

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

         

        Org.Hibernate.XXXException……

         

        只好用eclipse attach tomcat進程上去看看……

         

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

         

        在Ubuntu上裝個PHPUnit都費勁,就僅僅是因為PHPUnit需要用最新的pear安裝,然后我用pear自己給自己升級就不知道怎么的裝到home目錄里了?結果是不停地cp –r ~/pear/XXXX /usr/share/pear/XXXX

         

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

         

        拖拖拉拉,這點點那點點多好?

         

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

         

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

         

        那我最近寫個C#程序,有幾個Java的庫沒心思找替換的庫,用ikvm好像也沒什么大問題,而且在Linux用mono跑這個程序也沒有問題哦。

         

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

         

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

         

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


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

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

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

        0371-60135900
        7*24小時客服服務熱線