News for hackers. Stuff that matters.
Re:HTTP/3: Everything you need to know about the next-genera... by linkdd on Saturday February 12, 2022 @07:42PM (#30317913)
My biggest annoyance is that the Go language is full of implicit conventions/behaviors:

  - interface implementation is implicit
  - "export" is based on the function/type/member name (first letter uppercase)
  - private functions/types/members are private within a package not a single file
  - ...
This is painful because when you read a single file, you need to know about the rest of the code. This makes it very hard to get started with a new codebase, especially a huge codebase.

The other annoyances I have are just petty, like "if err != nil", zero-values, or the fact that VS Code still does not support Go projects in subdirectories (I like to open my whole "devel" folder).

Re:HTTP/3: Everything you need to know about the next-genera... by yzmtf2008 on Sunday February 13, 2022 @12:29AM (#30319519)
> interface implementation is implicit

Fun fact: this is true for python too! https://stackoverflow.com/questions/40764347/python-subclass...

Re:HTTP/3: Everything you need to know about the next-genera... by iljya on Sunday February 13, 2022 @03:46AM (#30320311)
> VS Code still does not support Go projects in subdirectories

This is annoying, but there is a workaround: add each folder with a go.mod file individually starting with the most nested ones first. So add each project separately, then add the root dir.

Re:HTTP/3: Everything you need to know about the next-genera... by linkdd on Sunday February 13, 2022 @04:04AM (#30320401)
Unpractical for me, my "devel" folder is organized as follow:

  |-+ orga (github, gitlab, other)
  | |-+ domain (infra, business, research, ...)
  | | |-+ repo-name
VS Code do not support hierarchies of projects in a workspace, so I would just have a huge list of `project-name` where project-name would be manually renamed to `orga/domain/repo-name`.