Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:99170 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 96967 invoked from network); 25 May 2017 10:45:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 May 2017 10:45:14 -0000 Authentication-Results: pb1.pair.com header.from=php@fleshgrinder.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=php@fleshgrinder.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain fleshgrinder.com from 77.244.243.85 cause and error) X-PHP-List-Original-Sender: php@fleshgrinder.com X-Host-Fingerprint: 77.244.243.85 mx104.easyname.com Received: from [77.244.243.85] ([77.244.243.85:33503] helo=mx104.easyname.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FF/75-10292-7B5B6295 for ; Thu, 25 May 2017 06:45:12 -0400 Received: from cable-81-173-132-37.netcologne.de ([81.173.132.37] helo=[192.168.178.20]) by mx.easyname.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1dDqGQ-00058X-E7; Thu, 25 May 2017 10:45:08 +0000 References: To: php-internals , Sara Golemon Message-ID: <657a8c81-89d9-c425-116a-d7ba190d950d@fleshgrinder.com> Date: Thu, 25 May 2017 12:44:56 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="nPwwuqe4Vr7Wt5bbqRCsrlAolSuIuBO63" X-DNSBL-PBLSPAMHAUS: YES Subject: Re: [PHP-DEV] [RFC] [Discussion] UUID From: php@fleshgrinder.com (Fleshgrinder) --nPwwuqe4Vr7Wt5bbqRCsrlAolSuIuBO63 Content-Type: multipart/mixed; boundary="wqPdnwWrexjjbOT5CPPEKSrE5gjoNTVHB"; protected-headers="v1" From: Fleshgrinder To: php-internals , Sara Golemon Message-ID: <657a8c81-89d9-c425-116a-d7ba190d950d@fleshgrinder.com> Subject: Re: [PHP-DEV] [RFC] [Discussion] UUID References: In-Reply-To: --wqPdnwWrexjjbOT5CPPEKSrE5gjoNTVHB Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 5/25/2017 1:01 AM, Sara Golemon wrote: > On Wed, May 24, 2017 at 11:04 AM, Larry Garfield wrote: >> It doesn't have to be a PECL library. I agree that a project requirin= g a >> PECL library greatly limits its potential reach, but with Composer >> user-space libraries are totally easy to install. There's a nice and p= opular >> UUID implementation already: >> >> https://packagist.org/packages/ramsey/uuid >> > This, and entirely this. >=20 > There's no justification for doing this in C anymore, we have a high > level language for tasks like this. It's called PHP. >=20 > -Sara >=20 Oh, I would do it in PHP, if we could ship it right away with PHP. The whole idea of an STD is it to provide the most basic building blocks that are required most often. Otherwise we can simply stop providing anything together with PHP and let people implement everything in PHP directly. After all, almost everything can be implemented in userland, and according to your logic it should. Every good high-level programming language provides loads of carefully crafted abstractions. This is to ensure that people can develop faster, and across different operating systems. Low-level programming languages often do not do that. Think of C, C++ without boost, or Rust without STD. This is nice if you are worked on constrained systems that have like 4 KB of memory, but definitely not when you want to create a website (still the main target audience of PHP). UUIDs are an integral part of everything we are using today. The Linux kernel generates one at the very beginning and uses it as Boot ID. Yeah, that's how important it is. All of the following languages have UUIDs built-in: - Python - Ruby (1.9+) - Java (automatically the dialects: Clojure, Groovy, ...) - .NET (C#, VisualBasic, ...) - Boost (C++) - D - ActionScript 3 - Objective-C - Swift - SQL - ColdFusion - Cocoa/Carbon - Wolfram Language - ... All operating systems actually come with UUID support out-of-the-box and use it for various (potentially evil) things. --=20 Richard "Fleshgrinder" Fussenegger --wqPdnwWrexjjbOT5CPPEKSrE5gjoNTVHB-- --nPwwuqe4Vr7Wt5bbqRCsrlAolSuIuBO63 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJZJrWoAAoJEOKkKcqFPVVriLwP/1dtovj37t/7qc2hXx4Pfi9G 3XApsRyLT/3Nhjx7sjbsmC5q04D1c/KCh7k0ItXe9UvHCtukpSX8iPQCC452rRs8 rmOD5r94rIgpnTwJ7M1NZ7LcTWB5hK7T85JawgqU7DqgjhQE8mX2ZI0UN7k0vnUb 3V7FRjNU8HHCreMAnXNsPzxJ6lrtgmT/uW5hRnYLHrnWZ+tzFTHEu6Lys9EbdCsX FuXobpE63ER55bwgJm/Kpnh1tU5i5HfXwdBMLHQYizzVyJUmaOcElqu4usJ+rJv+ JEG/8v2dGAetZ3/JVponxBCClm0tezEmPPD011WppBtQ/jkYrrcp8BJFOOAqW7Oj j0S2bsH+ANgxGEExWsqz9uSTgtxRoqhV5D/BuMv2H63Mhca4rZMDpKZvPxcgNqfW Y5k9brm7KnFgleju95KS1zwVIHujxuqWp/2zhO2q4UVerHHoWWOc6jWpf9JYaDSz ROzg2gEuwHUnxq6kf7A/SOR99DnWjsKdomjBAjtW7Sbd0OR2MQ8vt7CqfEVUSn04 8pxPKjfoaY0m/UkcRvjKcizyXh1x2R3HTHrsWs+Nsl1ozYwEc+Pk3SVd/TR9Cn5a UHzoAETC/ZtYepWidlF9pPpzY7rq/Ls9oWvkzO/kpLap2RCVtHGp5zMOhX6dE33Y wWxSdGqH0CQND430dGXP =pKn0 -----END PGP SIGNATURE----- --nPwwuqe4Vr7Wt5bbqRCsrlAolSuIuBO63--