On Mon, 3 Dec 2018 at 14:52, Robert Engels <reng...@ix.netcom.com> wrote:

> I think people are misunderstanding my equal footing need. I don’t mean
> for all applications, I mean for a application.
>

> Here’s another example. You have a enterprise payroll application. You
> have a model package. You have model.Employee. Having to use model.Employee
> throughout the application is noise. Everyone working on the application
> knows that Employee means model.Employee. It is part of the language (dsl
> in a way) for that application.
>

"Everyone" might not be as many people as you think... Your model package
is likely to have many types in it - are they *all *equally known by
everybody. What about when you add a new type to the model?

One of Go's advantages is the way that people can go into a strange code
base and quickly understand how things work. When someone new starts
working on that application, they'll be in that position. When you go back
to working on that application after a while, you might be in that same
position too. Go does not strive to be a terse language and this is one of
those times when we pay the price of some verbosity for more general
readability and lack of cognitive load.

There's another issue with using of dot imports. If you import two packages
using dot imports and they define any symbols in common, you'll get a
compiler error. That means that adding a new symbol can become a breaking
change, which is not a desirable property.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to