• 0 Posts
  • 136 Comments
Joined 1 year ago
cake
Cake day: August 4th, 2023

help-circle



  • TootSweet@lemmy.worldtoProgrammer Humor@programming.devJava Was The Future
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    1
    ·
    edit-2
    11 days ago

    I write Java for a paycheck, but I really hate it.

    It feels like everything is layers and layers of overengineered cruft, each added to the precarious tower for something extremely minor. But every subsequent card in the house of cards makes it more precarious. “But look, I don’t have to write accessors.” “But look, I eliminated the need for the web.xml file.” “But look, I don’t have to understand SQL now.” But look, the codebase depends on a shit-ton of completely opaque Automagic™ that you have no hope of understanding the moment something goes wrong – which it will if you even think of changing your Java version. And since it’s practically impossible to understand what’s going on under-the-hood of whichever dependency is fubar’d this week, you have to resort to a mixture of trial-and-error and copy-pasting shit (that you also don’t understand) from StackOverflow and praying to Cthulhu something works – which is also trial-and-error because Java questions in particular have tons of just straight up wrong answers.

    To be fair, I’m the guy on my team who people come to when they run into those sorts of “I bumped up one subminor version of Mockito to fix a bug that was preventing my unit test from working but now literally half of our unit tests won’t build” or “I added the war plugin to the build.gradle and now SwaggerUI is broken.” So maybe I see more than my fair share of “well shit, I guess I’ll just spend the next three hours hunting down which magical combination of Jar version numbers will fix things” kind of problems. But damn. This shit didn’t ever happen back when I was doing Python for a paycheck.

    I don’t use Java if I don’t have to. If I have to use Java, I prefer to just use Servlets (mostly I do web development) and absolutely as few dependencies as I can possibly get away with. Fewer moving parts mean less that can break.




  • AI is quite fit for the task of understanding what might be the purpose of code

    Disagree.

    I don’t know how some non-AI tool could be better for such task.

    ClamAV has been filling a somewhat similar use case for a long time, and I don’t think I’ve ever heard anyone call it “AI”.

    I guess bayesian filters like email providers use to filter spam could be considered “AI” (though old-school AI, not the kind of stuff that’s such a bubble now) and may possibly be applicable to your use case.





  • TootSweet@lemmy.worldtoProgrammer Humor@programming.devA QA engineer walks into a bar
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    1
    ·
    edit-2
    1 month ago

    To be fair, the team at the time was all business majors. (Is “Computer Information Systems” what they call that degree most places or just at my alma mater?) I think I was the only computer science major there.

    They’d done a surprisingly admirable job of cobbling together a working e-commerce, loss prevention, customer sercvice portal, orderfulfillment, and CMS suite. And their schooling was in, like, finance, MS Office, and maybe one semester on actual programming.

    None of them had ever learned how to count in binary. Let alone been exposed to 2’s compliment. And there were no QA engineers.

    Oh, there was the sysadmin. He had a temper and was a cowboy. If you asked him to do something, it’d be fuckin’ done, man. But you did not want to know how he made sausage. The boss asked him to set up a way for us to do code reviews and he installed Atlassian Fisheye/Crucible on a laptop under his desk. We used that for years. And a lot of the business logic of the customer-facing e-commerce site lived in the rewrite rules in the Apache config that only he had access to and no one else could decipher if they did have access.

    Those were good times. Good times.


  • TootSweet@lemmy.worldtoProgrammer Humor@programming.devA QA engineer walks into a bar
    link
    fedilink
    English
    arrow-up
    143
    arrow-down
    4
    ·
    edit-2
    1 month ago

    Back when I was the “new guy” code monkey at a fairly sizeable brick-and-mortor-and-e-retailer, I let the intrusive thoughts win and did some impromptu QA on the e-commerce site. (In the test environment. Don’t worry.)

    It handled things like trying to put “0” or “-1” or “9999999999999” or “argyle” quantity of an item in the cart just fine.

    But I know my 2’s-compliment signed integers. So I tried putting “0xFFFFFFFF” quantity of an item in my cart. Lo and behold, there was now -1 quantity of that item in my cart and my subtotal was also negative. I could also do things like put a $100.00 thing in the cart and then -1 quantity of something that cost $99.00 in the cart and have a $1.00 subtotal.

    (IIRC, there was some issue with McDonalds ordering kiosks at one time where you could compose an order with negative quantities of things to get an arbitrarily large unauthorized discount.)

    The rest of my team thought I was a fucking genius from that moment on. I highly recommend if you’re ever the “new guy” dev on a team and want to appear indispensible, find a bug that it would never occur to a QA engineer who doesn’t have a computer science degree to even test for.