i am using a very similar app https://steady.rocks - it's great. when scrolling this page i almost thought to give it a try, but then at the end was disappointed by community thing. i don't really need this in a utility app
by drift, do you mean breaking api changes? if you control the spec, do not allow that / flag them to give clients time to update. there are plenty of tools to catch that, i.e. https://quobix.com/vacuum/commands/change-detection/
for me it was functional programming. and not just fp as is, but it's relation to another popular concept - oop.
i was properly introduced only to oop, and grasped a little of fp here and there, especially learning go and javascript.
what i consider a 'click' for me is when i realised that all of these paradigms are interchangeable. like, an abstract method is just a function, or a function signature is the same as in interface with a single method.
after that i write code however it feels more appropriate for the situation i am in and don't think too much about fancy words and patterns. it really feels like programming languages are becoming 'native' for me.
How can you write code if you don't know where and how it would be running? For me it's extremely uncomfortable to know that there are "they" who will do the "unsexy" "dirty" work to make _my_ code run.
> I've been painfully aware of spreading myself too thin trying to handle both feature development, CI/CD maintenance and DevOps-related tasks ensuring our cloud-based environments are deployed to and operate smoothly.
another person who can’t get over his java stockholm syndrome in three (!) years
one particular thing that tells that is the attitude to interfaces:
while in java (and most languages) interfaces are used to tell which contracts a class implements, in go it’s reversed. you must declare interfaces to _require_ certain contracts, for arguments in your functions
for example:
type interface Operator {
Operate(int, int) int
}
func IntOparation(a, b int, op Operator) int {
return op.Operate(a, b)
}
this is a major difference highlighting the ownership boundaries:
* when I write a package and rely on a 3rd party contract, instead of referencing it and adhering to it, I will copy-paste parts that I need to my package and be independent
Socials: - bsky.app/profile/galaiko.rocks - github.com/ngalaiko - galaiko.rocks
---