我在《類別繼承、介面宣告與模組混成(mix-in)》中提到 Java 的介面(interface) 無助於提高程式碼再用性。而 jaceju 在回應中提醒我還有 delegate 這種方式。
...繼續閱讀我在《類別繼承、介面宣告與模組混成(mix-in)》中提到 Java 的介面(interface) 無助於提高程式碼再用性。而 jaceju 在回應中提醒我還有 delegate 這種方式。
...繼續閱讀
jeffhung 在 HEMiDEMi 中回應:應該是因為不懂 template 的奧妙,才會覺得「C++ 中有一層厚厚的濃霧將 template 包圍起來」吧?(HEMiDEMi - 共享書籤 - C++ library 的發展困境)
。我其實很欣賞 template 的概念,卻也因此我才說 template 是「C++發展困境」的原因。
Java SE 6 已經發佈 (2006/12/11) , Sun 新聞稿標題宣稱這是革命性的版本。
Java SE 6 software makes development easier, faster and more cost-efficient and delivers enhanced functionality for web services, dynamic language support, diagnostics, and desktop applications. Sun News: Sun Announces Revolutionary Version of Java Technology – Java Platform Standard Edition 6...繼續閱讀
看到《C 的 marco》中例舉的 C Macro ,讓我有憶起舊日時光的感觸。當初覺得 Macro (in Assembly and C) 很有趣,但和最近興起的動態語言比起來, Macro 似乎只剩下讓 programmer 少打些字的功能。再者, Macro 的內容沒什麼規範,換個 C compiler 可能就不能用了。雖然我也是 gcc 使用者的,但這類特殊功能我想還是能免則免。
在符合 ANSI C99 規範的 C compiler 之中,用 inline function 可保有 Macro 的優點,而沒有 Macro 的缺點。An Inline Function is As Fast As a Macro
。Also see: Explain Inline Function in C (GCC compiler)。所以現在大多用 inline function 而不用 macro 了。
晨星Workshop 提到:
C++現在最缺乏的就是 library的支援,因為相對於Java及一些script language,C++的lib相對的難以開發,需要考慮到的層面太廣了,像是記憶體管控、型別轉換,以及不同平台的實作,造成lib開發的不易...繼續閱讀
根據《Boost application performance using asynchronous I/O》一文所做的區分,在 POSIX 上的 I/O 處理模式可分為四種。該文所舉的 POSIX AIO API 是晚近較新的處理模式,是 POSIX.1b 基於 realtime system (即時系統、實時系統) 之需求而定的規範內容,其概念是事件驅動模式, AJAX 中的 XMLHttpRequest 調用方式就是這種模式。在 POSIX 傳統上的非同步 I/O 模式 (即 Asynchronous blocking I/O) ,則是使用 select() 來達成。本文將說明這種傳統模式的使用方式。
...繼續閱讀隔了一年後再次應考乙級電腦軟體設計技術士 C++ 職類,依然歃羽而歸,真是令我情何以堪。好在學科成績可以保留三年,明年再挑戰吧。雖然已經是第三年進行術科檢定了 (第一年我沒考) ,但考題內容似乎還不是很完善,監考老師在檢定中途陸續修訂了數次題目的內容,多少令應檢者有些困擾。
...繼續閱讀當 read() 或 write() 在處理資料時,若剛好產生了一個 signal ,系統為了要處理這個 signal ,便會中斷 read() 或 write() ,將程序狀態切換到 signal 的處理動作中。 而當 signal 的處理動作結束後,再將程序狀態切換到 read() 或 write() 的後續處理動作。
...繼續閱讀在 C++ 剛出現的時候,大多數 C++ compiler 引入了一個新關鍵字 'inline' ,用於解決個體行為 (methods of object) 的部份效率瓶頸。直到 ISO C99 時,才正式將 inline 定於規範之中。不過多數的 C/C++ compiler 只將 inline 用於 C++ program 中,並未延伸到 C program (*1)。'inline' is a keyword of ANSI/ISO C99. Some C/C++ compilers do not allow to use this in C program. '__inline__' is a keyword of GNU GCC. Some compilers use '__inline'. )。 GCC 最晚在 2.9 版 ,為 C program 加入了一個擴充關鍵字 '__inline__' (*2),使得 programmer 可以在 C program 中使用 inline function 。請參考 GNU GCC Info document setcion 'An Inline Function is As Fast As a Macro'. 說明文件意簡言骸,我將配合程式碼說明 inline function 在 C program 中運作的相關細節。
...繼續閱讀"MinGW" 是取 Minimalist GNU for Windows 計劃之意,其目標為提供一個可在 Win32 平台上開發 Win32 native code 的 GNU GCC tools ,而非提供 Unix 程式移植到 Win32 平台之用,此即為其 Minimalist 之意。 2000年時,我曾在「安裝 GCC 2.95/Mingw32」說明過 MinGW 。不過那篇文章中的資訊已經過時了,現在 MinGW 的正式網址為 http://www.mingw.org/ 。
...繼續閱讀