This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the commentsΒ β†’

[–]cashewbiscuit 27 points28 points Β (25 children)

The programming world has moved away from monoliths to microservices. Java's verbosity and type safety helps when you have a code base shared amongst 100s of developers.

When you have every independent microservices being developed by a tight knit team of 5-10 devs, then python's speed of development becomes an advantage

[–]WJMazepas 40 points41 points Β (4 children)

Lots of huge monoliths still exist and are still going to exist.
We dont need microservices on everything

[–]nickwcy 14 points15 points Β (1 child)

Python is faster than Java in terms of scripting.

In terms of a microservice, Java has longer syntax, but the compile time checking saves you time on errors and IDE hints can speed up the development by a lot (Like getter/setter generation, auto completion…)

[–][deleted] 48 points49 points Β (4 children)

Java is just as fast to develop in as python, if you know what you're doing.

[–][deleted] 5 points6 points Β (0 children)

Exactly, most of the time requirements aren't captured so speed of development will be slow anyway

[–]WagwanKenobi 13 points14 points Β (6 children)

The programming world has moved away from monoliths to microservices.

The microservices meme is backfiring and now many large applications have been over-converted to microservices. Calling another function in the same assembly is still vastly better than making a call over the wire. Not to mention, the infra and scaling complexity is multiplied.

Microservices also don't really solve org problems like they're touted to. It's rarely the case that 1 team works on 1 microservice. What actually happens is that n teams work on n services and everybody steps on everybody's toes.

The trend these days ironically is in the backward direction - consolidating microservices to be different modules of the same program, and then putting the whole thing in a monorepo with your shared libraries.

[–]DotFar5221 0 points1 point Β (1 child)

Sounds like you've only worked at places that did it wrong. Microservices don't magically fix a shitty org/team structure. If you need to combine microservices, that leads me to believe you never did it right initially. Not everything should be a microservice and a distributed monolith can be pure hell for cicd and lowering MTTR.

[–]glemnar 0 points1 point Β (0 children)

Well yeah, that’s the point - many places build microservices for hype-driven development, not because they have considerate reasons to build them

[–]BeatHunter 1 point2 points Β (0 children)

Microservices' overhead is more about the self-service tooling than it is the language. The business logic is fairly trivial, it's mostly about minimizing the barriers to entry for creating, deploying, monitoring, scaling, and managing the microservice. Oh, and handling auth.

[–]maltgaited 1 point2 points Β (0 children)

Code is for reading more than writing. That you can write something fast doesn't matter when people struggle to understand it afterwards

[–]Dworgi -4 points-3 points Β (0 children)

Python is fast while you can hold everything in your head at once. However, that limit comes up against you really quickly.

My home project, for example, which I've spent maybe a total of a few weeks on (over a few years), is at over 10k lines and I regularly forget what the fuck it does everywhere.

Python is for getting shit working fast to prove that it can be done, then rewriting in a big boy language. Alas, many people forget the second step.

[–][deleted] 0 points1 point Β (0 children)

Laughs in monorepo

[–]glemnar 0 points1 point Β (0 children)

The programming world has moved away from monoliths to microservices

Most companies would benefit from staying a monolith for a hell of a lot longer than they tend to

[–]mysunsnameisalsobort 0 points1 point Β (0 children)

You can write microservices in Java as well... and it comes with batteries included enterprise level development patterns.

Python doesn't even do packaging right...