• wizardbeard@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    20 days ago

    Breaking: Mediocre programmer dislikes format they are unfamiliar with rather than understanding that it’s all just tools where you pick the best for the job. More at 11.

    Edit: actually good points, but it’s coming from a core idea that Java’s horrendously overcomplicated class system, approaches to inheritence, and ways of polymorphism is object oriented programming. That’s what this guy is arguing against.

    I would disagree, the issue is that Java makes a metric ton of tasks infinitely more complicated than they need to be. Java sucks for a shit ton of use cases that people try to hammer it into. Maybe I have a flawed understanding of the definition of Object Oriented and he’s right about what it means, I certainly have less formal education than this guy.

  • themaninblack@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    20 days ago

    I read this with an open mind but I think the few examples he does include are fairly weak.

    My background is that I had a senior Java developer come into my Django/Python shop and start implementing every trick in the Java book without leaning on the framework. We got a bloated but pretty well functioning and organised codebase - after nearly two years of recreating stuff that was already handled by the framework with no delivered product.

    There’s definitely a way to apply OOP without going overboard. And it is in too much software (including Django) to really dismiss and ignore. Like, how would you program a UI without object orientation? It’d be difficult. You don’t really have to have things like factories.

    It’s a decent analysis across the different languages… but classes work together how you design them. You can go way overboard or you can maintain a layered separation of concerns with discipline around consistency and be ok. It’s just important to centralise the business logic in a particular place, and when you have functions it’s hard to grok where things are IMO vs objects with constructors and so on.

    Functional languages still haven’t taken off which is honestly a surprise to me, maybe because of state complexity with many monads? I’m not super familiar.

    One area where procedural programming shines is in microservices (which I tend to try and stay away from as long as possible). AWS Lambda functions, for example, should be small and focused to limit cold start times and to improve readability and execution time. I’ve repeatedly seen the same large monolith zipped and uploaded to single Lambdas.