On 5/25/2017 1:01 AM, Sara Golemon wrote: > On Wed, May 24, 2017 at 11:04 AM, Larry Garfield <la...@garfieldtech.com> > wrote: >> It doesn't have to be a PECL library. I agree that a project requiring a >> PECL library greatly limits its potential reach, but with Composer >> user-space libraries are totally easy to install. There's a nice and popular >> UUID implementation already: >> >> https://packagist.org/packages/ramsey/uuid >> > This, and entirely this. > > There's no justification for doing this in C anymore, we have a high > level language for tasks like this. It's called PHP. > > -Sara >
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. -- Richard "Fleshgrinder" Fussenegger
signature.asc
Description: OpenPGP digital signature