• themaninblack@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    21 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.