From owner-freebsd-hackers@FreeBSD.ORG Fri Jun 24 20:02:42 2005 Return-Path: X-Original-To: hackers@freebsd.org Delivered-To: freebsd-hackers@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3763B16A41F for ; Fri, 24 Jun 2005 20:02:42 +0000 (GMT) (envelope-from sean-freebsd@farley.org) Received: from mail.farley.org (farley.org [67.64.95.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id E13F943D4C for ; Fri, 24 Jun 2005 20:02:41 +0000 (GMT) (envelope-from sean-freebsd@farley.org) Received: from thor.farley.org (thor.farley.org [192.168.1.5]) by mail.farley.org (8.13.1/8.13.1) with ESMTP id j5OK2d8c020964; Fri, 24 Jun 2005 15:02:40 -0500 (CDT) (envelope-from sean-freebsd@farley.org) Date: Fri, 24 Jun 2005 15:02:41 -0500 (CDT) From: =?ISO-8859-1?Q?Se=E1n_C=2E_Farley?= To: Ryan Sommers In-Reply-To: <2140.66.166.104.222.1119623653.squirrel@66.166.104.222> Message-ID: <20050624145937.E20046@thor.farley.org> References: <2140.66.166.104.222.1119623653.squirrel@66.166.104.222> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-948064467-1119643361=:20046" Cc: hackers@freebsd.org Subject: Re: To C++ or not to C++ X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jun 2005 20:02:42 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-948064467-1119643361=:20046 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Fri, 24 Jun 2005, Ryan Sommers wrote: > Greetings all... I'm about to undertake a major software engineering > project and I can't decide between C or C++ and was wondering if I > could get some input from the community. > > As part of this project I'm going to need to make use of at least 2 C > libraries (OpenSSL and ncurses) and the application must be compatible > with the standard range of Linux/UNIX compilers and operating systems. > All of these signs make me sway closer to just doing it in C. However, > one strong point always seems to pull me back to C++, constructors and > destructors. > > Constructors and destructors can offer so much in the way of memory > leak avoidance. Of course, each language can leak memory like a sieve > if used improperly. However, for statically allocated structures > semi-automatic garbage collection can be a nice cushion. > > Anyway, without getting into too much detail. Anyone had to make this > choice on a project? What were your thoughts in retrospect? What would > you have done different, what would stay the same... > > PS For this project things like polymorphisms and inheritance really > aren't needed. If you would like to use C but want some sort of memory handling, I can recommend using the Apache Portable Runtime (APR) in /usr/ports/devel/apr which uses memory pools. Although I have not used it before, there is also the Boehm Garbage Collector found in /usr/ports/devel/boehm-gc. Se=E1n --=20 sean-freebsd@farley.org --0-948064467-1119643361=:20046--