On Tuesday, 26 April 2016 at 08:50:23 UTC, ixid wrote:
Please find an example of a newcomer who would be confused by
print. This is an objectionable argument because none of the
people making it are newcomers, you're using an entirely
theoretical newcomer as your argument, and seem to think
'print(a, b, c);' is going to confuse people more than
I can out myself as a newcomer (since February) and a lot of
stuff in D is pretty confusing. For example - a bit related - the
separation between std.stdio and std.file. At least I expected
that I can use `writeln` on files :/
There are already many other parts that require explanation, so
please let stdio be a simple module.
Btw to prove the point that two names are bad, let me give you
`AliasSeq` and `TypeTuple`.
On Tuesday, 26 April 2016 at 12:18:11 UTC, cym13 wrote:
Finally it doesn't bring much. One learns writeln, laments a
bit that it doesn't put spaces itself then just accepts it. I
do think that easing the path of newcommers is important,
I don't think print is a good way to do that. I'm all with
J.M.D there.
I do agree with cym13, J.M.D, Jack Stouffer, rikki, klickverbot
;-)
Regardless, even having two printing functions requires that
programmers learn what the differences between them are. Each
one added to the mix is yet another one whose slight
differences has to be distinguished from the others. And we
already have 4 of them - write, writef, writeln, and writefln,
which is arguably too many. But at least they have a sensible
naming scheme that helps distinguish them. print, on the other
hand, has nothing in common with them and no indicators in its
name how it differs from the others.
Honestly, I see no value whatsoever in print. writefln already
does the same job and in a clearer manner.
Or `writeln(chain(a, b, c).join(','))`.
However a compromise could be to allow writeln!`,`(a, b, c, d,
e), but I guess for most of the cases `dump` is actually the
function that the user wants to use.
If it was available today, I would certainly use it for more
convenient debugging, however the version I proposed [1]
seems more useful to me.
Should I make a PR?
[1]:
https://github.com/dlang/phobos/pull/3971#issuecomment-208058229
As mentioned on github I would love to see a proper dump function
and this would be quite useful for newcomers.