X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from mail-ee0-f54.google.com (mail-ee0-f54.google.com [74.125.83.54]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 9878CDC0237; Thu, 29 Nov 2012 20:03:30 +0000 (UTC) Received: by mail-ee0-f54.google.com with SMTP id c13so10506200eek.13 for ; Thu, 29 Nov 2012 12:03:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:in-reply-to:references :x-mailer:mime-version:content-type:content-transfer-encoding; bh=OqmYN23Cs9f0zUu7nsbKrRp6v9XnYslSbujfKQdIATM=; b=wBLpzxh8VjxdU6Ks+Nb59N2weCU7AEVB1jVaOOGFAzv8lDMO7W4edWaQE+Ai2AfOhJ HVbhMjC6Fywjo4GaUK9NyF+CXdQbTgzTE7NiqWW2jANa9keoqdzEyCiTaJQcgc4lyPX6 w0x3QaYtx7gGKMe+3xxoLx9oYNjZYDHOuK4kY23mpfvBsjWDtHgeVV/+O+msNpR+clBK SfEOqu4b/xH/1Nv8VOKRb5PP/fNhveoi59UbzTeMwXzMEDOVaZV9AVQ+uFlhtPE7IiU+ itAlzlVF87G49R3/hJ6p7mJ2WYqzU9dOwMqC+G2yosBeC9xDVsVbzLKMZf5jpSR4HWla WkLw== Received: by 10.14.193.136 with SMTP id k8mr85561823een.30.1354219408907; Thu, 29 Nov 2012 12:03:28 -0800 (PST) Received: from vostro ([2001:1bc8:101:f402:21c:23ff:fefc:bf0b]) by mx.google.com with ESMTPS id n7sm5722712eeo.2.2012.11.29.12.03.27 (version=SSLv3 cipher=OTHER); Thu, 29 Nov 2012 12:03:28 -0800 (PST) Sender: =?UTF-8?Q?Timo_Ter=C3=A4s?= Date: Thu, 29 Nov 2012 22:02:45 +0200 From: Timo Teras To: Ted Trask Cc: Natanael Copa , Alpine ACF , Alpine Developers Subject: Re: [acf] Re: [alpine-devel] Ideas for a new config framework, ACF2 Message-ID: <20121129220245.3b7a6f9f@vostro> In-Reply-To: References: <20121129152317.69585a4f@ncopa-desktop.alpinelinux.org> X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.13; i686-pc-linux-gnu) X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Thu, 29 Nov 2012 10:57:48 -0500 Ted Trask wrote: > The proposed ACF2 seems to be a complete redesign to move from > functional to data-driven design. Unfortunately, the doc does not > give any reasons why this change is desired. What is the benefit? > This change does not address any of the goals listed below. Just as a > style preference, I've always been a C/functional design guy, rather > than C++/object-oriented guy. I find object-oriented design more > difficult to read and debug. I would recommend you trying one declarative language before condemning the programming paradigm. See: http://en.wikipedia.org/wiki/Declarative_programming http://en.wikipedia.org/wiki/Comparison_of_programming_paradigms Curiously - all new GUI languages are declarative by nature. QT has QML, Microsoft did XAML, etc. Having tried both before mentioned languages along with the traditional imperative GUI toolkits (e.g. MFC, GTK, wxWidgets, Qt/classes). I have to admit that I see the benefit of declarative paradigm for UI use. Though, ACF is ultimately about configuration management, which to my first impression is pure data modelling problem. And as such, I would be tempted at least see how the data-driven model looks like. All problems are solveable with any programming paradigm. But if you choose the correct programming paradigm for your problem, you end up writing less code, less bugs, and have less maintenance overhead. One practical example: there was recent changes in ACF on 2.4->2.5 - and I actually had to spend 8 hours fixing my two simple ACF modules because the core libraries got changed in ways that appear only imperative programming - problem which would not have appeared if ACF was declarative. There are valid reasons for both ways. But they are not just "style issues". Please try some declaritive language to see how they work. - Timo --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---