Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:77943 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 62469 invoked from network); 13 Oct 2014 21:25:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Oct 2014 21:25:59 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.42 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.42 mail-wg0-f42.google.com Received: from [74.125.82.42] ([74.125.82.42:48148] helo=mail-wg0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 12/00-62294-6634C345 for ; Mon, 13 Oct 2014 17:25:58 -0400 Received: by mail-wg0-f42.google.com with SMTP id z12so9506791wgg.25 for ; Mon, 13 Oct 2014 14:25:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=zHkWbEaK8CD/DwMTUqaTaM5Irm2LBVgPSJpnHI/kYbA=; b=L1Mg3ACNlNOK03QgI3ycHVfHs6bQjCz3zy3qBIYYTvjdFcyPN2ImfEQ1aXwNtnQlfj HJlVKJTc1JZ8FDlXGh8me/V787/dqfP5XzYOwPRblMnotYL7oR3Mp3hBJqTdZ6b7b5BJ ALiT+9NaFML/WIUPluGisT1McRJhcnXAbBKDFCZja/BhSruxCK202CtyeuKilZu7dG1U s1nOesKbYCUfXO891R7DjqYuSywirn8p+fgBwi/XaBIlLSwYvB30UY0zYDp/ISz/RaOx kndWUj5YXX+h0G7yvKxQyQVWNemmIN3rW/ry//0W3wEgVrWXC7XXSdD2ZENH8qA5V5dH Bt+A== X-Received: by 10.180.77.79 with SMTP id q15mr1556726wiw.8.1413235555170; Mon, 13 Oct 2014 14:25:55 -0700 (PDT) Received: from [192.168.0.2] (cpc68956-brig15-2-0-cust215.3-3.cable.virginm.net. [82.6.24.216]) by mx.google.com with ESMTPSA id bv17sm13486472wib.13.2014.10.13.14.25.54 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 13 Oct 2014 14:25:54 -0700 (PDT) Message-ID: <543C4361.5060504@gmail.com> Date: Mon, 13 Oct 2014 22:25:53 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: internals@lists.php.net References: <543C1E5A.7040405@sugarcrm.com> <543C2A08.9020004@sugarcrm.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Deprecation of func_get_args(), call_user_func_array() and related API From: rowan.collins@gmail.com (Rowan Collins) On 13/10/2014 21:34, Marco Pivetta wrote: > The problem always existed, and it's that it is very hard to escape from an > API that is dictated by the language itself. > Getting gradually rid of those APIs and making them swappable pieces simply > increases the degree of freedom that we get in our applications, by having > less people rely on stuff like `array_map` and `array_filter` (and the > funny parameter order), because PHP no longer has them under its protective > wing. The existence of a highly performant, well tested, well documented implementation of array_map in every copy of PHP is definitely a good thing - it frees the programmer to think about their actual problem, rather than such nuts and bolts. If it wasn't in the language, it would be in standard frameworks, and a design mistake in those frameworks over argument order would have created the same backwards compatibility lock-in that we have today. It may be that there are pieces of low-level functionality which could be *added*, to make it easier to implement interesting tools for special occasions; in that case, the conversation should not be about removing existing tools which people are happily using. -- Rowan Collins [IMSoP]