eliminate writeln et comp?
Georg Wrede
georg.wrede at iki.fi
Tue Mar 17 14:15:14 PDT 2009
Andrei Alexandrescu wrote:
> Georg Wrede wrote:
>> Andrei Alexandrescu wrote:
>>> Hey all y'all,
>>>
>>>
>>> Here's another nice bicycle shed discussion. During the recent
>>> discussion about globals being harmful, Walter told me something that
>>> made me think. I said, hey, there are things that are global - look
>>> at stdout. He said, well, that's a bad thing. He then argued that it
>>> would be better and cleaner to write:
>>>
>>> stdout.writeln("Hello, world");
>>>
>>> instead of the current:
>>>
>>> writeln("Hello, world");
>>>
>>> On one hand, I agree with Walter. On the other, I want to avoid the
>>> phenomenon of the all-too-long "Hello, world" example.
>>>
>>> What do you think?
>>
>> 1. It is not often that a program that is first designed to write to
>> stdout is changed to write to somewhere else. (The whole reason of
>> stdout is, after all, that you can redirect outside the program!)
>>
>> 2. Of course it would be Proper (as in Prudent, almost as in goody
>> two-shoes) to write stdout.writeln. But then, to be useful the
>> programmer should write myOutDestination.writeln in order to be able
>> to "conveniently" later change the destination.
>>
>> 3. IMHO later redefining stdout would be a moronic idea. (And
>> /definitely/ not Prudent!)
>>
>> 4. Globals, shmobals... globals in spirit vs. globals in techicality.
>> I can't /believe/ there's any idea in totally banning globals. Heck,
>> this language has *goto*. Blind purism has made a few other languages
>> impractical.
>>
>> 5. Good defaults a good UI make. Can't we just decide that a bare
>> writeln(...) is defined as writing to stdout, period? Without thinking
>> of globals.
>>
>> 6. stdout is "global" to such an extent, that it actually exists
>> outside of the program. (RTF *nix man, man!)
>>
>> Blehhhhhhh....
>>
>> PS, I don't think you were serious with the post.
>
> I was, serious and especially curious. I'm with you on all of the above.
:-)
More information about the Digitalmars-d
mailing list