# I am the Watcher. I am your guide through this vast new twtiverse.
#
# Usage:
# https://watcher.sour.is/api/plain/users View list of users and latest twt date.
# https://watcher.sour.is/api/plain/twt View all twts.
# https://watcher.sour.is/api/plain/mentions?uri=:uri View all mentions for uri.
# https://watcher.sour.is/api/plain/conv/:hash View all twts for a conversation subject.
#
# Options:
# uri Filter to show a specific users twts.
# offset Start index for quey.
# limit Count of items to return (going back in time).
#
# twt range = 1 17
# self = https://watcher.sour.is/conv/ix64jaa
π‘ TIL: Today I learned that there is nothing special about pkg/
inside of Go projects. It is just like any other sub-package structure you _might_ otherwise define in your project. It just adds an extra part to your imports. I _think_ it's actually confusing at best and just unnecessary typing and an unnecessary sub-structure. Just keep your packages in the top-level and be done with it π
π‘ TIL: Today I learned that there is nothing special about pkg/
inside of Go projects. It is just like any other sub-package structure you _might_ otherwise define in your project. It just adds an extra part to your imports. I _think_ it's actually confusing at best and just unnecessary typing and an unnecessary sub-structure. Just keep your packages in the top-level and be done with it π
@prologic Sometimes it feels like a cultural import from the Java world. I work a lot with Kubernetes code and it feels a bit like a bunch of Java devs wrote it. Good Java devs, but Java devs nonetheless.
@brasshopper I HATE Standard Go Project Layout, I have always prefered to structure my program by bounded context.
@brasshopper That's the thing I really hate the most about programming languages and the communities that that eventually evolve around them. You end up with (as you rightfully point out) with folks from other languages come in and start touting ways to do things that may have made a lot of sense in one language but not necessary another. Standards are great and all, but they also take away the creativity that we all enjoy in this field in the first place. Conventions are better IMO.
@brasshopper That's the thing I really hate the most about programming languages and the communities that that eventually evolve around them. You end up with (as you rightfully point out) with folks from other languages come in and start touting ways to do things that may have made a lot of sense in one language but not necessary another. Standards are great and all, but they also take away the creativity that we all enjoy in this field in the first place. Conventions are better IMO.
@prologic. The issue is that (I don't know why) programmers (often backends) are full of protocol, and they forget the basis of clean code, to pursue their protocol.
@prologic I sometimes wonder if this is a breadth of experience problem. I know I did this a lot when I was first starting out. As Iβve learned more programming languages, I have noticed that Iβve gotten better at following each languageβs idioms.
@brasshopper Bingo! That's just it π Idioms.
That's why you keep hearing about:
> Idiomatic Go
Some years ago when I still actively developed in Python i twas:
> Zen of Python
Every language has its strengths and weaknesses, like you , I _really_ hate it when the Java or C++ crowd come bring their sillyridiculouss structures to nice languages like Go π
(I felt the same way about Python 2.x -> 3.x too, I just couldn't write Python anymore π
)
@brasshopper Bingo! That's just it π Idioms.
That's why you keep hearing about:
> Idiomatic Go
Some years ago when I still actively developed in Python i twas:
> Zen of Python
Every language has its strengths and weaknesses, like you , I _really_ hate it when the Java or C++ crowd come bring their sillyridiculouss structures to nice languages like Go π
(I felt the same way about Python 2.x -> 3.x too, I just couldn't write Python anymore π
)
@prologic @brasshopper @tkanos Exactly, you just know what you know. You simply can't follow a pattern which you haven't heard of, so you just stick to what you've been doing in the past. From my own experience and what I've seen from others, it's getting much better with more experience.
@lyse You are right of course ! π but what we're talking about here I think it's probably very experienced program is from one language coming to another language so there isn't much learning the new patterns of such? Anyway π€·ββοΈ
@lyse You are right of course ! π but what we're talking about here I think it's probably very experienced program is from one language coming to another language so there isn't much learning the new patterns of such? Anyway π€·ββοΈ
@prologic I'm bad with terminology, sorry. But I think, we're basically on the same page. The only thing I wanted to say is, that I fully agree with @brasshopper's theory here and tried to elaborate a bit.
Even if you have a very deep knowledge of one language, you typically won't know about all the styles, patterns, spirits, etc. when starting to pick up a new one. Some ideomatics are just different. So when tackling something, you naturally do it like you've been doing it before in other language(s). In the beginning it just doesn't occur to you, that something might be done (entirely) differently in this new language. It takes time to pick up and sometimes even more to wrap your head around it. Open-mindedness certainly also helps, I found. The more you've really worked with different languages, the more your little knowledge base grows. Hence, you know that things can be solved in lots of different ways. And that will basically bring you awareness, that you might want to look out for the specific procedures of doing something in that other language you're using.
@lyse Yeah I agree, and that does happen.
@lyse Yeah I agree, and that does happen.