Phobos packages a bit confusing
Nick Sabalausky
a at a.a
Mon Nov 30 06:49:45 PST 2009
"retard" <re at tard.com.invalid> wrote in message
news:hevn56$2to1$1 at digitalmars.com...
> Mon, 30 Nov 2009 04:51:19 +0000, dsimcha wrote:
>>
>> Yeah, I dislike Tango's (and Java's) I/O design. I think it's a classic
>> example of overengineering. I don't care how efficient, flexible,
>> complete, etc. it is if it doesn't "just work" for the simple stuff.
>
> Are you sure you know what you're talking about?
>
>> By
>> far the two most important pieces of I/O functionality I need are:
>>
>> 1. Read a text file line-by-line.
>
> foreach (line; new Lines!(char) (new File ("foobar.txt")))
> Cout (line).newline;
> }
>
>> 2. Read a whole file into an array of bytes.
>
> new File("foobar.bin").read()
>
Sure, once you actually know that and remember it. But trying to discover
them in the first place (and discover what modules to import, and how many
are needed for #1 up there?) through the API reference is a royal PITA. Part
of the problem is that there's about million different classes, modules,
structs, functions, whatever all dealing with accessing a file. So I have to
figure out which method to use, which is made extra painful by the fact that
each way of going about it is spread out across at least three different
modules out of a total of I-don't-even-want-to-count. And of course there
are zero "all" modules which just leaves me bouncing back up to the imports
section of my code every time I make an edit.
"But it's right there in the tutorials, don't go looking through the API ref
for it!" Well, ok, but there have been a lot of things I've needed to find
(such as more in depth details) that the tuts don't tell me, and that I've
had to look through the API ref or even source to find. So now I have to
worry about not only what module to look in for what I want, but also which
set of docs.
More information about the Digitalmars-d
mailing list