• 0 Posts
  • 40 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle



  • I naively thought it I may as well take a job using Go, as learning a new language is broadening, and some people like it, so lets find out first hand… I knew it was a questionable choice, looking at how Go adoption tailed off a while ago.

    Turns out I hate Go. Sure it’s better than C but that’s a very low bar, and C was never a good alternative choice for the use cases I’m encountering. I’m probably suffering from a codebase of bad Go, but holy shit it’s painful. So much silent propagation of errors up the stack so you never know where the origin of the error was. So very much boilerplate to expand simple activities into long unreadable functions. Various Go problems I’ve hit can be ameliorated if you “don’t do it like that”, but in the real world people “do it like that” all the time.

    I’m really starting to feel like there are a lot of people in the company I’ve joined who like to keep their world obtuse and convoluted for job security.






  • I don’t even now how anyone keeps track of them and finds the ones they want. And how can you possibly do that quicker than just going to the page afresh.

    Part of working on a project for me is assembling links to important pages. It may be days, weeks or months later that I want to come back and there are the links. And of course, anything generically or regularly useful is just a bookmark as you say.

    It really seems like people keep tabs open just to keep a list of useful pages. There are much easier and more effective ways to do that.



  • sping@lemmy.sdf.orgtoProgrammer Humor@lemmy.mlEDitor wars
    link
    fedilink
    English
    arrow-up
    5
    ·
    5 months ago

    it always entertains me when a vim aficionado regurgitates the “just missing a good editor” joke, given that one of the editors Emacs offers is a pretty comprehensive clone of vim.

    (personally, I never had any problem with the default editor when I migrated to it from vi, though I was using a keyboard that already had ctrl next to a.)



  • sping@lemmy.sdf.orgtoProgramming@programming.devWhy is Go syntax so messy
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    4
    ·
    7 months ago

    I’m not triggered by any of this. I’m not sure why my thinking the question is inane would count as “being triggered”.

    Upvotes does not necessarily mean people agree with OP’s stance.

    It should mean they think it’s a useful/interesting question and I think it very much is not. It’s just someone whining that it doesn’t look like something they’re used to and a bunch of very patient people generously leading them through the very basics of the language that’s well covered in many introductory tutorials - as such it makes it all a waste of time and worthy of being buried.


  • sping@lemmy.sdf.orgtoProgramming@programming.devWhy is Go syntax so messy
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    14
    ·
    7 months ago

    The more time I spend on Lemmy the more depressed I am about its potential.

    Stupid, wrong-headed comments get solid upvotes if they also hint at some popular sentiment. I even see comments that are literally unreadable nonsense get solidly upvoted, either by bots or by people who just like the vibe they feel from scanning it and don’t care that it’s gobbledygook. Some content makes me wonder if half of Lemmy is just LLMs barfing back and forth at each other.

    Then this post is heavily upvoted, even though it’s nothing more than “the syntax isn’t the same as the other language(s) I have seen, waaaaa!”. Is it just people like to see Go criticized? Because there are actual real issues that could be discussed.



  • I’ve worked in a few startups, and it always annoys me when people say they don’t have time to do it right. You don’t have time not to do it right - code structure and clarity is needed even as a solo dev, as you say, for future you. Barfing out code on the basis of “it works, so ship it” you’ll be tied up in your own spaghetti in a few months. Hence the traditional clean-sheet rewrite that comes along after 18-24 months that really brings progress to its knees.

    Ironically I just left the startup world for a larger more established company and the code is some of the worst I’ve seen in a decade. e.g. core interface definitions without even have a sentence explaining the purpose of required functions. Think “you’re required to provide a function called “performControl()”, but to work out its responsibilities you’re going to have to reverse-engineer the codebase”. Worst of all this unprofessional crap is part of that ground-up 2nd attempt rewrite.



  • These are arguments talking past each other. Sure 1 useful comment and 9 redundant ones can be better than zero, but comments are not reliable and often get overlooked in code changes and become misleading, sometimes critically misleading. So often the choice is between not enough comments versus many comments that you cannot trust and will sometimes tell you flat-out lies and overall just add to the difficulty of reading the code.

    There’s no virtue in the number of comments, high or low. The virtue is in the presence of quality comments. If we try to argue about how many there should be we can talk past each other forever.


  • But use type annotations everywhere and make sure your code is always checker clean (with checkin or PR CI hooks). And don’t turn off any lint checks through laziness, e.g. docstring checks. Even for a solo dev it’s always worth having everything typed, checker clean, and docstrings (even if they only effectively say “this thing really is what you’d assume”). It all saves time and effort in the long and even medium term.

    I’ve worked on serious large scale Python projects and frankly it’s been very pleasant and productive, but only with the above conditions.