Am 24.01.2014 04:16, schrieb Strahinja Markovic:
On Thu Jan 23 2014 at 3:59:56 PM, Steve Klabnik
<[email protected] <mailto:[email protected]>> wrote:
I don't think that `new` not returning a `Channel` is a big deal.
Conceptually, you are, both ends 'make up' a channel.
I agree it's not a big deal, but I still think it's something we might
want to change. Why introduce a mental speed bump if we don't have to?
Foo::new() returns a Foo, Bar::new() returns a Bar, Quux::new()
returns a Quux and a Channel::new() returns a... tuple of two items,
neither of which is a Channel (I know the two items together are
conceptually a /channel/, but they are not a Channel).
Using new() here seems like a usability loss for no benefit. But
again, it's not a huge issue (should still be fixed though).
Port & Chan are a bigger problem since users will forever have to
double-check which is which or will have to remember it.
Why the cognitive load? Channel::new_pipe() returning (Source, Sink)
is a usability win we get for free.
I am against naming it Source and Sink. It doesn't comply with the verbs
we use for sending and receiving, at least for me as a
non-native english speaker. While you can get/put something from/to a
Source/Sink, you usually don't receive or send from a
Source or Sink. The names Port and Channel are ambiguous as well, but at
least you can receive (e.g. goods) from a port and send
things on a channel.
Regards,
Michael
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev