Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:77933 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42472 invoked from network); 13 Oct 2014 18:48:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Oct 2014 18:48:08 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 108.166.43.91 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 108.166.43.91 smtp91.ord1c.emailsrvr.com Linux 2.6 Received: from [108.166.43.91] ([108.166.43.91:52424] helo=smtp91.ord1c.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0A/51-32407-76E1C345 for ; Mon, 13 Oct 2014 14:48:07 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp20.relay.ord1c.emailsrvr.com (SMTP Server) with ESMTP id 015E78021F; Mon, 13 Oct 2014 14:47:59 -0400 (EDT) X-Virus-Scanned: OK Received: by smtp20.relay.ord1c.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id 92AB580226; Mon, 13 Oct 2014 14:47:59 -0400 (EDT) X-Sender-Id: smalyshev@sugarcrm.com Received: from Stass-MacBook-Pro.local ([TEMPUNAVAIL]. [108.66.6.48]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA) by 0.0.0.0:465 (trex/5.2.13); Mon, 13 Oct 2014 18:47:59 GMT Message-ID: <543C1E5A.7040405@sugarcrm.com> Date: Mon, 13 Oct 2014 11:47:54 -0700 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: Marco Pivetta , PHP Internals List References: In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Deprecation of func_get_args(), call_user_func_array() and related API From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > While rambling with some code today, I realized that `call_user_func` > behaves strangely, appearing and disappearing from stack traces depending > on versions of PHP. If there's a problem with these functions, some bug in backtrace reporting, they of course need to be fixed. However I see no reason at all to deprecate a widely used function and create a myriad of BC issues for no gain at all. Compatibility is a feature, and not only it is just a feature - it's one of the most requested and most influential features. BC breaks delay adoption of new versions by years, even for minor things. For major widely used things Please, when proposing removing something from PHP, check: 1. If it is widely used 2. If its removal gains huge benefit for PHP which can not be achieved by any other way If you answer yes on 1 or no on 2, then there's no point proposing this removal. That would only make the next version unadoptable for a decade. Remember, we still have people reluctant to move to 5.4, and you propose to have them to rewrite all their code and wait until all their libraries are rewritten (major cause of python 3 adoption problems is libraries) for what exactly? Yes, we can rewrite these functions in userland. So we can may others. The long standing tradition of PHP in this area is to go the extra mile for the user and actually provide helpful functions, even when duplicating the functionality already available in user-land, for the convenience of the user. But this is for adding things. For removing things, bar is much, much higher. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/