From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24984 invoked by alias); 22 Feb 2008 16:14:24 -0000 Received: (qmail 24973 invoked by uid 22791); 22 Feb 2008 16:14:23 -0000 X-Spam-Check-By: sourceware.org Received: from ACCESS1.CIMS.NYU.EDU (HELO access1.cims.nyu.edu) (128.122.81.155) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 22 Feb 2008 16:13:54 +0000 Received: from localhost (localhost [127.0.0.1]) by access1.cims.nyu.edu (8.13.8+Sun/8.13.8) with ESMTP id m1MGDqVq013736 for ; Fri, 22 Feb 2008 11:13:52 -0500 (EST) Date: Fri, 22 Feb 2008 16:14:00 -0000 From: Igor Peshansky Reply-To: The Cygwin-Talk Maiming List To: The Cygwin-Talk Maiming List Subject: Re: Why I love C++ so much. In-Reply-To: <47BE89ED.6090306@alcatel-lucent.it> Message-ID: References: <00b001c873fd$58137750$2e08a8c0@CAM.ARTIMI.COM> <47BD1AF4.6010602@sh.cvut.cz> <20080221102754.GA18802@calimero.vinschen.de> <47BD6E01.3020303@etr-usa.com> <20080221134914.GA20633@calimero.vinschen.de> <47BE89ED.6090306@alcatel-lucent.it> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-IsSubscribed: yes Mailing-List: contact cygwin-talk-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-talk-owner@cygwin.com Reply-To: The Vulgar and Unprofessional Cygwin-Talk List X-SW-Source: 2008-q1/txt/msg00084.txt.bz2 On Fri, 22 Feb 2008, Danilo Turina wrote: > Corinna Vinschen wrote: > > On Feb 21 05:26, Warren Young wrote: > > > Corinna Vinschen wrote: > > > > Really? Show me an example which isn't much harder to understand than > > > > the equivalent C code. > > > template > > > std::string foo(const T& x) > > > { > > > std::ostringstream outs; > > > outs << x << and << maybe << other << stuff; > > > return outs.str(); > > > } > > > > > > (Aside: This looks pointlessly trivial, but it's a simplified version of > > > real code in MySQL++ (http://tangentsoft.net/mysql++/). It would just > > > muddy the waters to talk about the reason MySQL++ does this.) > > > > > > To do that with C functions (maybe strto*() instead of printf()) you'd > > > have to create a set of template specializations for every T you know > > > about to call the right C function with the right arguments. Any time you > > > add to the list of supported T's, you have to add template > > > specializations. > > > > Argh. Using templates as an example for simplicity is somewhat daring. > > Templates, liberally used, are a good way to make code unreadable. > > > > IMHO. > > > > FWIW. > > > > YMMV. > > > > YMCA. "Young men, no need to feel down"... That brings back memories. :-) > C++ is like Unix, people that don't like it is because they don't > understand it. C++ is for people who want to be able to not just shoot themselves in the foot, but do it with a rocket launcher. Unix allows one to throw a grenade under their own feet. So yes, they are very similar. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha@cs.nyu.edu | igor@watson.ibm.com ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!) |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "That which is hateful to you, do not do to your neighbor. That is the whole Torah; the rest is commentary. Go and study it." -- Rabbi Hillel