3 ms·
What I wonder, is if by designing a language to enable happy corporates, rather than happy programers, is Go not shooting itself in the foot, as the now less ha
by snotrockets 4y ago
What I wonder, is if by designing a language to enable happy corporates, rather than happy programers, is Go not shooting itself in the foot, as the now less happy programmers (because corp mandated Go) would move to other corps, creating more cost to the corporate than if they had use a more joy-inducing language.
IOW, Go is probably great if you're quite big. But like most Google created dev tools, the questions we need to ask ourselves is "are they a good fit outside Google?"
- geodel 4y agoI have asked to myself and answer seems yes. I wrote a tool many years ago in Go. It has saved me at least 100 times the hours I put in to code it. And I put in couple of weeks at max. The point here is I created a tool (my application) using another tool (Go) and I care quite a bit more about my tool, features, usability and so on. Programing language provided few features like single binary so I can install on VMs, desktop and not downloading whole internet to build that project. Its been working fine for half a decade or so. So it does its job and saved time is spent somewhere else like reading interesting books, cooking or watching documentaries etc. I can understand people who sweat on perfect error handling, sum type and what not will be eternally unhappy with Go. Hopefully they find whatever suits their taste, considering we are in a new PL boom nowadays.
- snotrockets 4y agoI don't care about past tense. If you had to write every day in Go, would you still be happy about it? (I sure wouldn't)
- Cthulhu_ 4y agoI write Go every day, and have done so for the past two years or so (along Typescript, JS and PHP, the latter two for a 'legacy' application), and I'm happy with the language. If I were to criticise it, there's a few things that come to mind: - Struct tags don't feel right; it's string-based annotations and some libraries design whole DSLs in them. - The community seems to push towards using hexagonal or clean design, but unless I'm getting it wrong, this leads to a lot of really tedious conversion / adapter code. - There's not many good tools out there (yet?) to make things easier, e.g. database abstraction layers. Writing lower level SQL and some utilities to help with that is still better, but it's tedious and voluminous (like using raw JDBC and iterating over ResultSets). I've used ent (which required manual mapping between every struct field and every column, unless I got it wrong) and gorm (which breaks down when you nest deeper than one level), currently have about 40 tables. But these are issues that show up, I think, in any larger application.
- jitl 4y agoJava worse than Go in many regards, and many successful business seem to continue using it. Probably the marginal cost of one unhappy Scala magician leaving a company is far lower than the cost of writing all software in Scala, to keep Scala type magicians happy. Substitute "Scala" with any language that has high joy/freedom.
- snotrockets 4y agoTell me you don't know modern Java without telling me you don't know modern Java.
- eweise 4y agoModern java is still pretty poor. I don't like coding in Go but it is better than Java. Peer into the abyss https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/package-summary.html https://docs.oracle.com/en/java/javase/17/docs/api/java.base...
- Cthulhu_ 4y agoSo the purpose of a programming language is to spark joy in developers? I mean, I get it, but it's a very selfish position to take and it's not in the interest of a business, in the end. I mean, Java makes me feel dead inside, but I appreciate it for being ubiquitous and reliable, and that a business will be able to find half-decent Java developers any day of the week.
- snotrockets 4y agoWorkers who enjoys their job tends to do better at it.
- thesz 4y agoThe time to peek up local problem domains are independent of language. The time to peek up language is, well, independent of language. I had an experience when former hardware engineer picked up Haskell in a month.