D is our last hope
Steven Schveighoffer
schveiguy at gmail.com
Wed Dec 20 02:15:20 UTC 2023
On Tuesday, 19 December 2023 at 18:37:47 UTC, H. S. Teoh wrote:
> I'm a heavy Phobos user, and std.algorithm / std.range are
> among the best parts of Phobos. Among the better modules are
> std.datetime, std.path, std.bigint, std.regex (I'm a regex
> addict). std.process is awesomely convenient for dealing with
> processes; one of the better-designed APIs in Phobos IMO.
> std.math / std.numeric are pretty standard, with a few nice
> things in there, though there's that strangeness with real vs.
> double. std.stdio is also pretty standard, but could be
> improved (replace with I/O pipes?). I'm addicted to std.format
> for its convenience but the implementation really could use
> some improvement, same goes for std.conv. std.uni's
> implementation could also use some improvement, but what's
> there is pretty serviceable for dealing with Unicode (main
> missing features: Unicode line-breaking algorithm and grapheme
> width -- I have an incomplete implementation of the latter but
> never got around to finishing it).
>
> std.meta / std.traits / std.typecons are good for
> metaprogramming, though there are some weird bits.
>
> Other parts of Phobos are meh, like std.container (I use it
> from time to
> time but the API is klunky and rough around the edges),
> std.digest
> (never used it, kinda random why it's in Phobos), std.encoding
> (hardly
> ever use it), std.experimental (when it is coming out of deep
> freeze?),
> std.json (meh), std.xml (bleh). std.getopt gets the job done,
> but has
> weird differences with standard Posix getopt() for no good
> reason, which
> made me write my own getopt on at least 3 separate occasions.
> std.signals - never used it, std.socket (meh), std.bitmanip
> (sometimes
> useful), std.base64 (kinda random, used it once or twice but
> that's
> about it -- honestly could just go in a dub library), std.csv
> (meh - my
> fastcsv alternative runs way faster, though with no validation).
> std.net.curl - weird API, std.net.isemail - seems like a
> totally random
> thing to put in Phobos. A lot of this stuff honestly could do
> better as
> dub packages / external repos.
A great list and analysis!
-Steve
More information about the Digitalmars-d
mailing list