整理:不用ACE你不知道ACE有多爛,給飽受ACE折磨的弟兄們散分了。

 

不用ACE你不知道ACE有多爛,給飽受ACE折磨的弟兄們散分了。
樓主vcclass(黑山老妖)2006-11-07 15:41:41 在 專題開發/技術/項目 / 網絡通信 提問

以前沒有用過ACE,一直對ACE有非常崇高的敬意,一個網絡的跨平臺庫,應該非常簡單,非常不錯。可以提供開發效率。今有項目開發,領導讓用ACE,非常高興,有機會練手了,抱着向ACE學習的精神研究ACE,   雖然我精通網絡通信編程,但是一直感覺自己的水平不高,ACE一定有很多隻得我學習的地方。實在是機會難得。 
  
  ACE總共有9萬行代碼,其實實現一個高效率的網絡底層,跨LINUX,WINDOWS,FREEBSD平臺不過4K行代碼。ACE跨了所有的平臺,也用不了9W行呀,不過他有自己的容器,線程池等的處理。 
  
  研究了一週,越是研究,越是迷惑。本來一個很簡單的問題,在ACE裏你得了解他的一堆的概念,用法。經過實際試驗,我們項目裏用到的代碼不過ACE的兩個封裝類而已,經過進入ACE代碼調試,發現函數調用函數,什麼工作都沒有做,最後調用了一個API而已。其效率只低下,讓人髮指。最困惑的是我new出來的對象,他給我釋放了。ACE號稱跨平臺,實在有辱跨平臺三個字,在linux和Win下他用的是不同的模型。的對他編寫不同的代碼來實現。 
  
  ACE的容器和STL的不太兼容。實在是垃圾一堆。 
  ACE是忽悠中國人的玩意。原因是他要賺錢,只有搞得複雜,讓人看不懂,用不了,他才能賺錢呀。 
  我們大家一直努力把複雜的問題簡單話,ACE是把簡單的問題複雜化了。 
  
  ACE是我見到過的最垃圾的代碼,最沒有價值的代碼。最不容易使用的代碼。 
  ACE的作者就不知道什麼是封裝。 
  
  問題點數:70、回覆次數:81Top
1 樓vividw(vividw)回覆於 2006-11-07 17:33:57 得分 0

沒看過.....Top
2 樓vcclass(黑山老妖)回覆於 2006-11-07 18:44:54 得分 0

其實用別人寫的庫的目的就是提高開發效率,並且能夠得到一個穩定的系統,減少測試時間等,而用ACE   恰恰適得其反。不但沒有提高開發效率,反而爲了用它得學習他的一堆概念,設計模式等。一步消息會造成內存泄漏,服務器崩潰等。大家可以搜索ACE裏的代碼,delete   this的代碼一堆。但是這個對象是外面new的。不解ACE的作者這個高人是怎麼寫的。Top
3 樓wqf363(denny)回覆於 2006-11-07 20:54:00 得分 0

雖然沒用過,但有聽說這個感覺,接分Top
4 樓lzd(活着便精彩)回覆於 2006-11-07 21:25:53 得分 0

不可否認樓主的反應太偏激了。 
  
  要用好ACE確實不簡單。。但是不證明ACE就不好。。入門難。。Top
5 樓tsbob(不想笑)回覆於 2006-11-08 00:07:19 得分 0

部分贊同樓主的觀點,ACE太龐大了,而且非常臃腫,但是ACE確實給出了網絡服務器的完整框架。即便你自己寫server程序,到頭來,你也會發現基本結構和ACE完全一樣,ACE作者網站上那系列Paper確實非常好的文檔,清楚的解釋了網絡程序需要處理的各種細節和關鍵技術問題,任何一個準備寫網絡程序的程序員,都要認真研讀Top
6 樓msupdef()回覆於 2006-11-08 13:10:55 得分 0

我覺得寫個網絡服務器模型實在是很簡單,就那麼幾千行代碼,值得用個爛ACE嗎,本來學api就夠累了,還不嫌麻煩,還要去學個垃圾東西,受罪是你們活該啊。 
  Top
7 樓ensoniq()回覆於 2006-11-08 14:11:24 得分 0

關注一下。 
  
  個人經驗:堆分配是所有大型項目的噩夢,delete   this這種如果出現在代碼的核心部分,只能證明這個代碼根本就禁不起實際的考驗。Top
8 樓Eddie005(♂) №.零零伍 (♂)回覆於 2006-11-09 09:04:44 得分 0

頂頂~Top
9 樓xl5338870(xlix)回覆於 2006-11-09 18:21:57 得分 0

呵呵,有點偏激,其實裏面很多好思想,通過研究ace的模式來學習Top
10 樓acejoy(http://www.acejoy.com/ 專業ACE網絡編程開發論壇)回覆於 2006-11-10 17:51:50 得分 0

不用這麼偏激,學會了ACE,你就離不開了,就知道它的優點了。如果像你說的那麼糟糕,做ACE的2000多個人,都是傻子吧? 
  
  
  ────────────────────── 
  國內專業的ACE網絡編程、開發論壇開通: 
  http://www.acejoy.com/   
  涉及ACE使用和開發,中間件、服務器端軟件的設計,P2P技術, 
  socket網絡編程、應用開發等內容。 
  歡迎加入,大家一起交流、學習成長! 
  Top
11 樓vcclass(黑山老妖)回覆於 2006-11-11 15:08:12 得分 0

我知道的用ACE的人都是先前沒有用過API做網絡編程的人。如果你用API實實際際的寫過項目,你是不會感覺ACE好的、。Top
12 樓alec626(月吻長河Blog:spaces.msn.com/filebase)回覆於 2006-11-11 18:34:03 得分 0

我就是習慣了socket   API的人。 
  不過還是懷着崇高的敬仰買了兩本《C++網絡編程》<上,下> 
  感覺大失所望 
  有那個精力去把ACE弄透徹自己早完成項目了 
  ACE的易用性還是太差了Top
13 樓iisbsd(牆頭草,和稀泥)回覆於 2006-11-13 00:41:10 得分 0

有沒有用過ASIO?是Boost的。Top
14 樓liaoyong2(ly)回覆於 2006-11-13 10:45:49 得分 0

唉,,,,,一句話,,不知道用api怎麼實現跨平臺.. 
  
  難道用socket1.1嗎 
  
  Top
15 樓zyl910(編程的樂趣在於編程控制硬件,與用圖形學實現絢麗效果)回覆於 2006-11-14 10:24:39 得分 0

我也被ACE搞崩潰了 
  
  現在寧願去研究RTL8139控制器 
  硬件纔是最簡潔最本質的Top
16 樓captain_x(captain)回覆於 2006-11-15 16:30:33 得分 0

《c++網絡編程》已經解釋了所有使用ace而不用api來開發的理由,如果LZ自己沒有理解,那是LZ你自己的問題,請不要拿你自己的問題歸罪到ace頭上。 
  ace的跨平臺和java是不一樣的,如果你想要效率,那當然在不同平臺上會有不同的選擇,難道大家所指責的java的效率低下不是因爲它在所有平臺的代碼都一樣的原因嗎?Top
17 樓wqf363(denny)回覆於 2006-11-15 19:42:27 得分 0

markTop
18 樓HuangRG(.....)回覆於 2006-11-17 15:37:57 得分 0

看過ACE,沒有在實際開發中使用過。 
  樓主是不是偏激了一些了?ACE龐大應該是有原因的,它不僅僅是一個Socket庫,而是具備了你想要所有東西。幾年前看過ACE,現在記憶有點模糊。它包括: 
  1.   進程管理 
          創建,同步,IPC,IPC裏還有特定系統的東西:比如有Message   Queue,FIFO等。 
  2.   線程管理 
        thread   pool,   同步等。 
  3.   事件,信號,定時器管理 
  4.   一些容器 
        這個應該有原因,ACE開始開發的時候,標準應該沒有出來吧?所以它有一套自己的東西? 
  5.   Socket有關的東西 
  我只記得這些了,一般情況下,用ACE就可以開發出支持ACE所支持的那些OS了? 
  但功能強大的東西,學習成本肯定也高。樓主雖然有些偏激,但支持樓主的說法。老外有時候吹NB有特定的理論和論據支持,厲害!   
  Top
19 樓HuangRG(.....)回覆於 2006-11-17 15:42:07 得分 0

iisbsd(牆頭草): 
  有沒有用過ASIO?是Boost的。 
  本來boost有一個boost::socket,感覺蠻簡潔的,好像現在停止開發了? 
  boost::asio還沒有發佈,但源碼也看了看,複雜,真複雜。不知道,它開發這麼複雜的東西是給人看的,還是用的?   
  
  感覺如果ACE分一分效果會好一些,這樣在項目中只要用到須要的東西。但考慮到已經用ACE開發的項目,這是不可能的。 
    
  Top
20 樓HuangRG(.....)回覆於 2006-11-17 15:59:18 得分 0

我目前也正在開發一套Socket庫,目標是:易使用和高效率!   爲了這兩個目標,花了一些心思。1.   整個庫沒有虛函數性能開銷; 
  2.   使用異常可以寫更簡潔,優美的代碼,但異常也帶來了運行時開銷。所以我泛化了錯誤處理,使用者可以決定當產生錯誤時,庫是拋出異常還是返回錯誤碼; 
  3.   支持同步和異步兩種方式,異步方式的內部實現細節是在Win32上用Completion   Port實現,在Linux2.4用Select,在Linux2.6異步IO實現。 
  4.   考慮到本人特喜歡Select,可能會單獨給出一個Selector。在某種情況下,Selector是最好的選擇,它讓代碼變得簡潔,易維護,同時也有一定的效率(或者說效率存在侷限性)。 
  
  這套最終提供的接口類: 
  UDP相關: 
  template   < 
          template   <class   SocketType>   class   IOModel,   
          class   ErrorHandler> 
  class   basic_datagram_socket; 
  
  TCP相關,下面的類的模板參數和上面的一個一樣: 
  class   basic_acceptor_socket; 
  class   basic_connector_socket; 
  class   basic_stream_socket; 
  爲了簡單使用,我分別對上面的類作一些typedef. 
  另外,還有幾個helper類。 
  我今天已經在sourceforge上發了申請,呵呵。 
  另外,我自己的一個高性能的一個網絡Server產品的網絡通信模塊塊也用我自己這套庫。我這個通信Server其實是一個Framework,爲二次開發提供了兩套API來實現特定應用。   這套產品的特點是:成本低,可以支持100W甚至1000W到5000W個同時在線程的用戶!! 
  Top
21 樓sduwei()回覆於 2006-11-17 22:41:12 得分 0

曾經使用ACE開發過電信級的分佈式網絡應用。經驗證明這個東西不僅僅是實驗室裏面的概念。它的跨平臺概念同JAVA和.NET的那種虛擬機本來就不同,只能夠說同樓主之前的期望有背。 
  
  認真的說,整個系統的構架是很漂亮的,作者寫過很多面向對象方面的paper就是基於這個系統的勾踐。但是問題是最後寫系統代碼的人不是高手。 
  
  Top
22 樓guileen(松風撫琴)回覆於 2006-11-19 18:21:31 得分 0

樓主我支持你,接分Top
23 樓KthTes(const KthTes& rhs)回覆於 2006-11-20 10:11:13 得分 0

雖然沒用過ACE,但和樓主一起聲討一下這個delete   this,這句代碼的Shability實在是有點高。Top
24 樓20040216(每天幾行)回覆於 2006-11-20 10:52:10 得分 0

自己封裝吧 
  不到5千行代碼,20個工作日 
  簡單的東西決不用複雜的Top
25 樓lamputa_lito(lamputa)回覆於 2006-11-21 21:44:16 得分 0

這麼多人發表的意見,有幾個是真的理解ACE的呢?你們在懷疑ACE的目標還是實現?如果是懷疑實現,你們覺得有更好的,更簡潔的方法? 
  
  ========== 
  聲明,本人剛看ACE的介紹,ACE確實非常龐大臃腫,但是我想ACE有很多可以學習的地方。Top
26 樓lamputa_lito(lamputa)回覆於 2006-11-21 21:45:38 得分 0

你們說的幾k行代碼就可以寫出高性能的服務器,那我想很多網絡程序員都會失業了。Top
27 樓vcclass(黑山老妖)回覆於 2006-11-22 18:34:11 得分 0

ACE是越用越難用呀Top
28 樓vcclass(黑山老妖)回覆於 2006-11-23 09:46:37 得分 0

受到各位的批駁,我不想說什麼,我是爲你們好,如果你們不相信,認爲ACE好,那你們就用ACE好了,ACE非常不錯。用的會讓你爽的。Top
29 樓vcclass(黑山老妖)回覆於 2006-11-23 09:50:04 得分 0

在一些嵌入式操作系統裏都可以用ACE,我不否認ACE做了很多的事情,但是ACE並不支持   freeBSD裏的   kqueue模型,kqueue是公認的比LINUX下的EPOLL模型效率更高的模型,它都沒有支持,實在讓人不懂呀。最讓人惱火的是   他會釋放我   NEW   出來的東西。Top
30 樓iisbsd(牆頭草,和稀泥)回覆於 2006-11-23 13:43:55 得分 0

lamputa_lito(lamputa)   (   二級(初級))   信譽:97   2006-11-21   21:45:38   得分:0 
  
  你們說的幾k行代碼就可以寫出高性能的服務器,那我想很多網絡程序員都會失業了。 
  ====== 
  我當年聽過最可笑的自吹是我寫過幾十萬行代碼。對不起,第一,我不記得我寫過的代碼行數,第二,行數多不見得就是東西好,而且通常是相反的。如果你不信的話: 
  
  不知道你聽說過memcached沒有,如果聽說過,不知道它算不算高性能的服務器,抱歉,它只有3千行多點的代碼。 
  
  apache的httpd當年只有大約6千行代碼,我覺得效率還好(當然,現在httpd大很多了)。 
  
  qmail比較大,有1萬6千多行代碼,當然,郵件系統功能更復雜些。Top
31 樓vcclass(黑山老妖)回覆於 2006-11-23 17:34:19 得分 0

iisbsd(牆頭草)   :   關於   lamputa_lito(lamputa)   他所說的觀點推理就是   “代碼越多執行效率越高”,這明顯是個悖論嘛。這會把我笑死的。 
  
  今天又繼續研究ACE的代碼,單步執行進去跟蹤,讓我我堅信ACE   是忽悠人的玩意,目的就是賺錢,很多很多的無任何用處的代碼到處都是,不把人搞暈,能忽悠住人嗎?     ACE_Event_Handler,這個類完全可以經過簡單的處理後變成一個抽象類,但是他不是抽象類,實現的代碼都是   打印出一個調試信息。ACE_Event_Handler的子類反而倒是一個抽象類。實在是垃圾呀。     
    
  Top
32 樓lamputa_lito(lamputa)回覆於 2006-11-23 22:40:40 得分 0

首先我並沒有說代碼多的就是好的,我之所以懷疑幾千行的代碼可以寫出一個高性能的服務器,原因是因爲我認爲一個好的服務器不單單是效率高,我認爲一個好的服務器除了提供高效的服務,還需要有好的擴展性,可維護性和好的平臺適應性。可能你認爲這些只是概念上的事情,但是如果其實這些特性在這個競爭激烈,更新極快的計算機行業中,是非常必要的。 
  就拿平臺適應性來說,舉個例子,加入你的服務器是高度依賴windows   API的,那麼好了,運行了幾年,現在微軟要推VISTA了,你要獲得更好的支持,若干年後你必須要重寫很多代碼來跟着它跑。這種事情隨處可見。 
  而要實現上面提出的那些目標,你不得不認真定義你的構架,抽象你的邏輯,而這些東西,無疑都會增加代碼量。當然,要考慮的東西還不止這些。 
  如果你可以在幾k行的代碼裏把這些東西都考慮進去並實現出來,那我只能是佩服加佩服。 
  ACE是龐大以致於有點臃腫,但是你沒有從ACE的出發點去考慮和應用它,ACE本來就不是打算給你隨便幾個API就搞掂一個應用而寫的,它強調的是平臺適應性,效率(當然不可能跟直接的API調用的比,但是它很多很好的算法模式提供了很多優化),可維護性等。 
  這些是個人觀點,希望大家可以客觀討論。 
  Top
33 樓qrlvls( 空 氣 )回覆於 2006-11-28 13:25:14 得分 0

基本上ACE的框架是好的,方向也是明確的 
  樓主有些過於偏激,但不可否認ACE裏存在一些毫無價值的內容 
  Top
34 樓qrlvls( 空 氣 )回覆於 2006-11-28 13:33:09 得分 0

我認爲Reactor和Acceptor的概念都是高效且可行的 
  但我在閱讀《ACE》一書時,特別對“主動對象模式由   Greg   Lavender   首創。”這句話旁邊加了一個批註,嚴重B4了這個   Greg   Lavender   ,雖然很有可能是我並沒有意識到他的主動對象有多麼先進,但在我意識到這一點之前,我還是要深深的B4他一次,再一次地…………Top
35 樓czylj(夭夭)回覆於 2006-12-03 01:37:25 得分 0

呵呵,樓主水平不夠吧,不過吹能用4000行實現一個,等你實現出來再說吧. 
  這麼說吧,如果你只打用ACE的二個類,就不要用了,ACE底層的類,技術上並沒有大的用處 
  它最大的價值在於集成的框架,如果學會了,可以事半功倍. 
  任務系統,框架,進程,內存池,線程,相關的東西多了去了. 
  另外,ACE是全免費的,它的錢全是國外的大公司捐的,估計樓主的錢它還看不上.Top
36 樓delphijava((好之者不如樂之者))回覆於 2006-12-04 15:37:57 得分 0

如果只是TCP   UDP   .自已用C實現不就行了   。   爲什麼用ACE   ? 
  都少大型的程序用C實現網絡接口這一快   。   也不見得他們非要用ACE不可以; 
  Top
37 樓vcnewer(磨劍)回覆於 2006-12-07 14:00:31 得分 0

呵呵Top
38 樓callzjy((草魚))回覆於 2006-12-07 18:31:50 得分 0

呵呵Top
39 樓baiduan(-_-化杯糞喂力量-_-)回覆於 2006-12-11 11:40:56 得分 0

不會ACETop
40 樓LVOLCANO(風起)回覆於 2006-12-11 14:05:35 得分 0

mark 
  Top
41 樓benjiam(今晚打老虎)回覆於 2006-12-11 16:51:52 得分 0

lz   什麼水平啊?   我只能說你沒資格說這個話。 
  
  作者是博士,80年開始做這個,人家比你強的不是一點點。是公認的網絡編程大牛。大公司也不是錢多到花不完,要捐給它。ace   很多地方優點也很明顯。 
  
  但是我也要抱怨一下,複雜的結構,讓我們很難駕御。我們的項目裏面ace   在泄漏。目前還找不出原因,只知道吊過了ace   舊慢慢有泄漏了。到底是ace   本身   還是我們的代碼有問題,不知道。舊版本的ace   沒有這樣的問題。 
  去group   也沒辦法問。代碼有n多k   難到都貼上去?   
  
  
  
  
  
  
  Top
42 樓hsz8250(terry)回覆於 2006-12-16 22:56:01 得分 0

ace很多方面可以借鑑的,那些模版的使用,和設計模式都運用的不錯,可以增進程序員的能力,其實ACE能爲我們做很多方便的事情,雖然在某些情況使用ACE的框架有限制,而且也需要考慮修改ACE的部分代碼,但是總體來說,用起來很方便的!Top
43 樓batizhou(batizhou)回覆於 2006-12-22 13:51:49 得分 0

哪個好,哪個不好其實很容易辨別,就是看在一個正式對外提供服務的服務器裏,你會不會用ACE。 
  
  用完成端口或者epoll寫個能支持幾千連接的網絡組件,估計最多兩至三週就穩定了,而且性能還不錯,因爲epoll和完成端口總共的知識量並不多,裏面的任何東西自己都瞭如指掌。例如一個網遊服務器,三千人在線,我敢放心的用自己寫的組件。 
  
  用ACE估計兩至三週能夠完成基本功能,但真正的惡夢估計從此就開始了,裏面指不定什麼時候就冒出個BUG,因爲ACE太龐大了,裏面的東西估計至少要半年才能吃透,在這種情況下,至少我不敢把它放到一個正式的服務器中? 
  
  當然不是說ACE一無是處,我覺得裏面的很多模型,非常具有學習價值。 
  Top
44 樓batizhou(batizhou)回覆於 2006-12-22 13:57:41 得分 0

如果就實際產品開發而言,敢說ACE好的,多半都是些理論家,沒做過什麼實際東西,或是一些水平不怎麼高的人,純屬跟風,沒自己主見的。 
  
  就個人而言,ACE只具備研究和學習價值,不具備實際使用價值。 
  
  Top
45 樓crystal_heart(笑看風雲)回覆於 2006-12-28 17:53:39 得分 0

ACE只具備研究和學習價值,不具備實際使用價值。Top
46 樓ahhy(藍色海洋)回覆於 2006-12-29 19:39:36 得分 0

ACE   工具包的幾個層次: 
  
  (1)   ACE   OS   Adaptive   層 
  
  (2)   ACE   C++   wrapper   Facade   層 
  
  (3)   ACE   framework   層 
          
          -   事件多路分離和分發框架         reactor,   proactor 
          -   連接建立和服務初始化框架     Acceptor-Connector 
          -   併發框架                                     Task   框架 
          -   服務配置器框架                         Service   Configurator 
          -   流(Streams)框架 
  
  (4)   網絡服務組件層 
  
  LZ   不要急,   衝動是魔鬼! 
    
  靜下心來思考自己面對的問題,   是哪裏出了錯,   真的是   ACE   出了錯,   ACE   真的只是   "騙錢"   的?   還是自己沒有很好的把握好自己面對的項目的每一個層次...   ...   
  Top
47 樓lamputa_lito(lamputa)回覆於 2007-01-10 14:31:28 得分 0

如果要很快的想把ACE應用到實際項目中,ACE確實不適合。 
  我現在斷斷續續看了接近3個月,也還沒看多少ACE的代碼。都是在看一些相關的基礎知識。 
  期望在毫無基礎的情況下一兩個月內把ACE搞到實際應用的工程中,只能說你本身對ACE認識不足。 
  Top
48 樓firebolt2002(霹靂)回覆於 2007-01-10 16:55:42 得分 0

慢慢來吧。覺得ACE不適合當前的項目可以不用,不過全盤否定也不對,ACE的用到的很多設計模式還是值得肯定的。很多技術也是非常先進的。Top
49 樓84shelley(影朔)回覆於 2007-01-11 11:35:25 得分 0

接了~~ 
  反正我是比較鍾情自己封裝通信接口Top
50 樓karonhome(天天開心)回覆於 2007-01-13 13:58:25 得分 0

markTop
51 樓EricZhuo()回覆於 2007-01-14 15:06:20 得分 0

boost::asio比ACE小巧,   易用性高很多.   效率也是很高的(在windows下面用的是IOCP),   我用它做過實際項目,   非常的不錯.Top
52 樓sxcong(sxcong)回覆於 2007-01-15 14:59:15 得分 0

回:lamputa_lito(lamputa) 
  
  高性能的網絡服務器,幾千行的確能實現。jabber的服務器是開源的,有不少是用c,c++寫的,你上去數數有多少行。 
  絕大多數程序員沒有失業,就是因爲他們沒有你這樣想法,而是精益求精的專研。寫的代碼多不代表水平高,相反,水平高的人寫出的代碼絕對是精簡有效。 
  Top
53 樓matrass_zhao()回覆於 2007-01-15 17:26:40 得分 0

delete   this很正常啊,有什麼可批評的?Top
54 樓ydogg(灰毛兔頻頻)回覆於 2007-01-18 17:22:38 得分 0

1.   ACE是opensource,不會賺你的錢 
  2.   ACE體系雖然龐大,但是層次清晰 
  最低是跨平臺的C   API,   中間是C++的包裹類庫, 
  上層是基於常用網絡模式的Framework,最上是部分成型Service. 
  
  精華部分在於framework(大量的代碼聚集處),   使用得當確實是事半功倍。 
  你覺得這部分難用也可以直接用下面2層(估計你喜歡的是這種),道格拉斯還希望能多使用下面2層呢。 
  
  3.   和STL容器不兼容是個缺點,可這樣做是爲了更多的支持嵌入式平臺。 
  
  Top
55 樓ydogg(灰毛兔頻頻)回覆於 2007-01-18 17:27:34 得分 0

至於別的,比如thread支持,XML解析等等確實是可以去掉,不過ACE目的是爲了儘可能的自包含,少依賴於別的項目。 
  
  ACE的framework層的很多設計理念在道格拉斯同志的POSA的上下卷中闡述的很清楚, 
  精妙之處令人歡喜。Top
56 樓ydogg(灰毛兔頻頻)回覆於 2007-01-18 17:32:39 得分 0

boost:asio? 
  接口層次太低,API   c++化了而已,在功能上和ACE不能相提並論,不是一個檔次的。Top
57 樓pepsi_fei(可樂)回覆於 2007-01-18 20:45:19 得分 0

強烈支持版主的意見,ACE實在有點@#$%&*~! 
  
  接分Top
58 樓uuussseeennn(半隻青蛙)回覆於 2007-01-20 17:59:15 得分 0

1:ACE的入門很難,想吃透裏面的精華更難,所以在門口就被攔住而心生抱怨的人自然不在少數,也可以理解。 
 2:當一個人接觸一新思想時,傳統的思想勢必會向它發起猛烈的攻擊,如果這新思想很複雜,優勢難以很快體現出來,是很容易敗下陣來的,除非那個人能快速的掌握它並體現它的優勢。 
  3:任何代碼的多少主要是看需求的大小,拋開需求談代碼量實在不解。而且代碼也不是越少越好,難懂晦澀的代碼會帶來維護上的噩夢,企業級的代碼是絕對不允許的。 
  Top
59 樓abszo()回覆於 2007-01-22 11:34:08 得分 0

不知道ace,沒用過, 
  我自己做了一箇中間件系統,有興趣的朋友可以幫下載來瞧瞧,順便幫我測試一下。 
  很簡單,很容易上手。訪問地址:http://www.abszo.comtop/
60 樓lemon_wei(研究BT,做好P2P)回覆於 2007-02-08 09:17:41 得分 0

沒發現ACE有這麼差Top
61 樓f7zz(七根菸)回覆於 2007-02-09 23:55:27 得分 0

ACE入門比較痛苦一點,習慣了就行了。是個好東西。   我的項目裏也用它。Top
62 樓kourr2004(★★★★★鬼谷子:)★★★★★)回覆於 2007-02-13 14:02:14 得分 0

ACE???好熟悉,是不是做移動通訊前臺界面的那個工具?還跟中間件tuxedo聯繫在一起???Top
63 樓Robyyang()回覆於 2007-02-26 11:15:09 得分 0

不是很熟悉.但是事情往往不要說絕了.Top
64 樓starytx(此地禁止大小便,違者沒收工具!)回覆於 2007-03-06 09:27:39 得分 0

仁者見仁,智者見智Top
65 樓lamputa_lito(lamputa)回覆於 2007-03-08 13:46:00 得分 0

回:lamputa_lito(lamputa) 
  
  高性能的網絡服務器,幾千行的確能實現。jabber的服務器是開源的,有不少是用c,c++寫的,你上去數數有多少行。 
  絕大多數程序員沒有失業,就是因爲他們沒有你這樣想法,而是精益求精的專研。寫的代碼多不代表水平高,相反,水平高的人寫出的代碼絕對是精簡有效。 
  ///////////////////////////////////////////////////////////////////// 
  
  請問jabber是高性能的嗎?不是,其實,jabber是平臺無關的嗎,不是。jabber只不過是一個框架而已,賣點也只在於互聯互通,其次,如果你把所有jabber的服務都實現下來,我想代碼也不會少Top
66 樓sevencat(七貓)回覆於 2007-03-08 14:47:53 得分 0

markTop
67 樓swnu_laofu()回覆於 2007-03-15 21:28:32 得分 0

回:lamputa_lito(lamputa) 
  
  高性能的網絡服務器,幾千行的確能實現。jabber的服務器是開源的,有不少是用c,c++寫的,你上去數數有多少行。 
  
  
  高性能代碼確實很少而且優美。高效整潔的代碼可以說像一們藝術。也許你們接觸到底層代碼吧Top
68 樓swnu_laofu()回覆於 2007-03-15 21:29:49 得分 0

我也看了一段時間ACE。實現的思想可以學習。但是要用它來做網絡遊戲通信底層我還沒這個勇氣Top
69 樓fhqiplj(霏霏魚)回覆於 2007-03-16 14:12:22 得分 0

就個人而言,ACE只具備研究和學習價值,不具備實際使用價值。 
  
  ======================================================= 
  
  可以學習他的思想,並且在工程中使用這些OO思想,如果直接在ACE上構建系統,那將是一個噩夢的開始。工程不允許有太多的時間去學習和研究的;對於不在我控制下出現的任何一個new   或者Socket通信,都可能在後期的運行中出現不可預知的問題,ACE過於龐大了,以至於不能夠靈活的駕馭它了。Top
70 樓RobertBaker(黃金一代)回覆於 2007-03-20 16:16:28 得分 0

各位要用過才知道,我正在學ACE裏面的東西很實用!幾乎包括了我擔心的所有問題的解決方案,自己寫多費時間呀,要知道它可是經受過時間檢驗的呀!確實好,如果你覺得不好,可能是你不瞭解它,或者是有偏見。Top
71 樓starcbh(信仰)回覆於 2007-03-26 11:24:40 得分 0

胡說,那是你自已不行,不是ace不行,ace的好處不是在外面看看就知道的Top
72 樓starcbh(信仰)回覆於 2007-03-26 11:27:07 得分 0

to   vcclass(黑山老妖)   (   )   信譽:97         Blog   
  
  是你自已不行,另外,ace是開源的,沒有什麼賺錢的說法, 
  去看看設計模式吧~~等你明白ace的強大和好用,你會爲今天說的話羞死的Top
73 樓michney(最近比較閒)回覆於 2007-03-26 18:05:00 得分 0

沒用過ace,暫時也不打算學Top
74 樓qzjackie(qzjackie)回覆於 2007-03-29 10:51:04 得分 0

接分有理接分有理Top
75 樓yebeans(追逐牛牛們的背影)回覆於 2007-03-30 22:18:07 得分 0

如果只做個狗窩,要你去先架個吊車~~我幫你一起罵~ 
  如果要你建一幢大廈,而你不會架吊車`~~可想~~~~Top
76 樓thinkinnight(逍遙)回覆於 2007-04-01 12:43:46 得分 0

沒用過,也不太打算用,markTop
77 樓hlidea()回覆於 2007-04-10 14:42:27 得分 0

yebeans(追逐牛牛們的背影)   ,嚴重同意 
  你爲了發個helloworld給服務器來用ACE,那不是找抽嗎?ACE是用於大型項目的 
  既然只用兩個類,就不要用 
  樓主典型的自以爲是Top
78 樓kalee2008()回覆於 2007-04-10 17:37:58 得分 0

以前都是自己寫,現在這個項目打算用ACE看看。Top
79 樓localman()回覆於 2007-04-12 17:12:48 得分 0

你不習慣ace的方式,不代表ace垃圾Top
80 樓funics(九州)回覆於 2007-04-13 21:22:24 得分 0

毫無疑義的討論Top
81 樓dapao19850920()回覆於 2007-04-14 23:10:03 得分 0

沒用過,也不太打算用Top
相關問題

 

發佈了183 篇原創文章 · 獲贊 4 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章