Im about 4 months old in GO (Gopher Pup ?! ), with experience in Enterprise Java
I’ll dive right in. There are things a binary needs to depend internally as an API like Log, Networking, Security etc. And it makes sense to have GO equivalents to support that internally.
As a JOKE, I certainly think anything written in PHP that has had success should be re-written (lol)
But then you start looking @ object databases, CMS, Rules Engines, Message brokers etc. Components in an architecture that ideally you should not care about their origins of implementations as long as they are reliable, secure and time tested. At an enterprise scale context talking about Mechanical Sympathy, and ubiquity seems unnecessary. DISCLAIMER: I do not say these concepts are unnecessary, rather them in the context mentioned. (before I get trolled)
I get it that a lot of people in GO come from say Ruby, PHP, Python. And GO is like dream land but when you look @ enterprise systems written in .Net, Java ; do we really need to re-invest and re-invent them in GO? Programmed in Python, I prefer GO too.
I find no justification for a lot of projects re-inventing stuff in GO other than it doesn’t yet exist in GO. And the solutions are immature (not gonna name them). True, maturity is a progression … but this is re-invention.
Programming and Software engineering are not the same thing. GO is a great programming language as am discovering and am happy about it. But for commercial projects selecting the right components in the architecture, I find people biased to selecting components written in the same language.
I will avoid a language comparison as thats not my intent and I respect every language (except the one that shall not be named... take a guess; and it isnt GW-Basic or even Logo ..heh)
, …but after following tons of pod-casts, forums I just a impression people are celebrating anything re-written in GO.
I guess a natural process of selection will filter such projects out and thats how it rolls. I think one has to caution in using just ANY framework written in GO because you are using GO and should think about the component in absolute terms of the enterprise architecture.
A cool thing to have at some point
Im wondering if a standard exists or needs to be in place for every system language to be able to share Stack, Heap in memory, on the same Processor and memory mapped to the processor (Research TODO
). It would allow the door for components in different languages even to connect without networking overhead, in a ubiquitous manner and eliminate the need for EVERY LANGUAGE to HOARD and RE-INVENT every framework from scratch. Its silly !
Bottom Line
Languages suit HUMANS in how they try to read and write their code. They are an abstraction layer for the most. Ok, ignore compile optimizations etc. But most people dont select languages based on that right?!
The machine doesnt care, its all binary at the end. SO Because WE HUMANS cant agree, we all create cheap copies and hierarchies of interdependence in every language.
Think about it!