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.