That is why a senior engineer creates a facade for the specific problem domain. 

> On Jun 13, 2020, at 3:29 PM, 'Axel Wagner' via golang-nuts 
> <golang-nuts@googlegroups.com> wrote:
> 
> 
> Maybe a dumb question but: Why would we *need* a standard framework?
> 
> We're currently re-working this at my workplace and in the process, I've 
> looked at both go-kit and micro. Ultimately, at least as far as I can tell, 
> they don't seem to solve any of the problems I'm seeing, though. Both of them 
> tend to try and abstract over transports and backends for microservices. But 
> we don't need an abstraction. We already chose a transport, a monitoring  
> API, a tracking API... All we really need is to make it as simple as possible 
> for service authors to use all of them. At least to me, it seems we're better 
> served with a couple hundred lines of boilerplate in one package which can be 
> shared. And where you don't have to figure out how to get the functionality 
> out of the abstraction first.
> 
> Ultimately, that's what I see as the problem with open source solutions in 
> this space. They are forced to abstract over many different solutions to the 
> same problem and as a result can only ever support the smallest common 
> denominator. While rolling your own, specialized solution to the problem 
> let's you do it in a fraction of the code size, while giving you all the 
> power to decide what you use and how, based on your own operational needs.
> 
>> On Sat, Jun 13, 2020, 22:11 <a...@aslam.me> wrote:
>> Might not be the right place for this discussion but also useful to gauge 
>> the experiences of the community. For the most part Go embodies a standard 
>> library philosophy and most people are opposed to using any full fledged 
>> framework. With Go now being a decade old, I feel as though with that 
>> maturity there needs to be maturity in the development ecosystem as well. 
>> Every language inevitably has a framework to address the common problems of 
>> the platforms they're predominantly used for, whether it was Rails for Ruby 
>> or Spring for Java. I've been working on something similar for Go for the 
>> past 5 years (https://github.com/micro/go-micro) but have started to shift 
>> some of my thinking about how best to approach this for Go.
>> 
>> It's clear that most organisations compose a "shared library" or "starter 
>> kit" for building applications or distributed systems so they're not copy 
>> and pasting this every time and it gives them one place to change numerous 
>> things. This by any other name is a framework but still also a library given 
>> you import it. But when these things appear as open source e.g go-micro, 
>> there's less inclination for the wider community to adopt. I think over time 
>> the standardisation makes sense but maybe in two parts. I think we as a Go 
>> community need a standard library for distributed systems development. And 
>> it appeared like go-kit might be one of those things but the development 
>> there has largely stalled. I'd argue if go-micro could be reoriented into 
>> that standard library and the interfaces evolved to meet the needs of 
>> developers on top of Go we might have something that accelerates our 
>> development and we can all rally around. In doing so we shift our 
>> rails/spring like framework efforts to a separate project 
>> (https://github.com/micro/micro).
>> 
>> All that aside, what is the next layer of abstraction for Go? After a decade 
>> we see a lot of tools built with Go, a lot of different development models, 
>> but unlike ruby, python, java, etc we are not seeing a dominant framework. 
>> Where do we go from here? Where do we end up in the future? Is this 
>> something the Go team would look at themselves? Will it come from a cloud 
>> provider? Interested to hear the thoughts of everyone here.
>> -- 
>> 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.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/bd3be4a2-c737-47ab-8eb2-c516c797be55o%40googlegroups.com.
> 
> -- 
> 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.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/CAEkBMfHC%3Dr6baVCs%3DABDrM%3DJL88YRRFCZ-as5a5PoNBNSVCecQ%40mail.gmail.com.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/7772BB01-35F8-4CA3-9719-4FF441637F52%40ix.netcom.com.

Reply via email to