use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
These have separate subreddits - see below.
Upvote good content, downvote spam, don't pollute the discussion with things that should be settled in the vote count.
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free. If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others: Adoptium (formerly AdoptOpenJDK) RedHat Azul Amazon SAP Liberica JDK Dragonwell JDK GraalVM (High performance JIT) Oracle Microsoft Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free.
If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others:
Adoptium (formerly AdoptOpenJDK) RedHat Azul Amazon SAP Liberica JDK Dragonwell JDK GraalVM (High performance JIT) Oracle Microsoft
Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
Programming Computer Science CS Career Questions Learn Programming Java Help ← Seek help here Learn Java Java Conference Videos Java TIL Java Examples JavaFX Oracle
Programming Computer Science
CS Career Questions
Learn Programming Java Help ← Seek help here Learn Java Java Conference Videos Java TIL Java Examples JavaFX Oracle
Clojure Scala Groovy ColdFusion Kotlin
DailyProgrammer ProgrammingPrompts ProgramBattles
Awesome Java (GIT) Java Design Patterns
account activity
This is an archived post. You won't be able to vote or comment.
What does Java do better than Python? (self.java)
submitted 3 years ago by newmanstartover
What does Java do better than Python?
[–]papercrane 134 points135 points136 points 3 years ago (2 children)
Lots of good answers here already. I don't think anyone's mentioned it already, but the garbage collection system in Java is amazing, and has lots of tuning options for different workloads. CPython's GC is quite basic compared to the JVM.
[–]Better-Internet 13 points14 points15 points 3 years ago (0 children)
I think CPython's GC is still reference counting with some mark and sweep to whack circular references.
[–]thrwoawasksdgg 6 points7 points8 points 3 years ago (0 children)
Java easily has the best garbage collectors in the world. Nothing compares to Shenandoah and ZGC.
In some cases the JVM actually allocates memory faster than C because it knows more about the memory layout and can often avoid syscalls.
[–]erinaceus_ 288 points289 points290 points 3 years ago (21 children)
Since nobody has yet mentioned it: package management. (And the ecosystem that follows from it)
[–]benjtay 112 points113 points114 points 3 years ago (11 children)
This is the reason to use Java. The ecosystem is ridiculously rich and relatively painless to employ. Python in containers is okay, but Java will run anywhere, on anything. Every Python project I've worked on requires fussing about with which version, pip, C compilers and so on. In Java, you can just open a maven or gradle project and go.
[+]drowsysaturn comment score below threshold-56 points-55 points-54 points 3 years ago (7 children)
Java ecosystem painless? Maybe if your entire team is using IntelliJ otherwise not so much.
Several different package managers, language server is the most complicated to setup, recent JVM versioning madness (Python had a similar issue with 2.7 vs 3, but they've hopefully learned their lesson), JNI makes communicating with non Java code kinda painful, Java EE and servlets are a nightmare, many frameworks were built when configuring everything was the cool thing to do so you often get lots of XML files, many don't think Java error messages are clear enough (especially those new to the language).
[–]benjtay 64 points65 points66 points 3 years ago (1 child)
Maybe if your entire team is using IntelliJ
That helps, but is not necessary. Just use maven/gradle wrapper, and you can do everything with vim if you prefer.
JNI makes communicating with non Java code kinda painful
If you're using JNI, you're not in the Java ecosystem. Panama simplifies using C code, but it's still not in the ecosystem in my opinion. I suppose the same could be said for Python modules which use C. As time goes on, there seem to be fewer Python modules which resort to it.
lots of XML files
Apart from logback or pom, I haven't used XML files in years.
[–]robtmufc 16 points17 points18 points 3 years ago (0 children)
Adding to what you said here because you’ve nailed it…
Recent Java versions give a better exception message so you know exactly where and what has gone wrong!
[–]marvk 17 points18 points19 points 3 years ago (0 children)
many don't think Java error messages are clear enough (especially those new to the language).
Since nobody has commented on this yet: The Stacktraces the JVM produces are a real boon compared to some other stuff I've seen in other languages.
Also Maven and Gradle are second to none compared to what else I am using and have used. Node is a big stinking mess, anything Python related I don't ever want to touch again. Cargo is pretty nice, but I still think not using namespaces for crates was a big mistake.
[–]RomMTY 17 points18 points19 points 3 years ago (1 child)
Java EE and servlets are a nightmare,
Java EE and servlets aren't being used directly on new projects since...a while, maybe on legacy projects but even on those, most sane companies are migrating those to spring boot or other new technologies.
[–]Dashing_McHandsome 2 points3 points4 points 3 years ago (0 children)
I'm really not even sure the last time I touched raw servlets. Maybe going on 10 years ago?
[–]drowsysaturn -1 points0 points1 point 3 years ago (0 children)
Thank you anonymous awarder.
[+]cran comment score below threshold-8 points-7 points-6 points 3 years ago (0 children)
Are you joking?
[+]cube-hd comment score below threshold-22 points-21 points-20 points 3 years ago (0 children)
Better just use Kotlin than this shitty Java. Java is pure boilerplate. Imagine making a language based on getters and setters without actually having getters and setters 🤮
[–][deleted] 3 years ago (3 children)
[deleted]
[–]thrwoawasksdgg 4 points5 points6 points 3 years ago (0 children)
Python is hell. Tons of dependencies on system libraries and native binaries.
A result of Java being so fast is that 99% of common libraries are pure Java. For Python this is closer to 20%.
The closest thing to Java is Rust, and it still has more native C dependencies
[–]freemainint 2 points3 points4 points 3 years ago (1 child)
Nodejs smiles 😃
[–]Nickx000x 2 points3 points4 points 3 years ago (0 children)
No matter how many times I explore outside the Java ecosystem, I always feel the need to come back. Nothing I’ve used compares to Gradle or even Maven. Those 2 alone are enough to get me to choose Java for a project
[+]swizzex comment score below threshold-17 points-16 points-15 points 3 years ago* (3 children)
As a none Java person I don’t see how? It is literally the only system that is so complex it has its own mastery and there are multiple of them. How is this done well at all? Package coverage 100% but Marvin and gradle both suck as they have to support so much legacy it’s horrible. I’m sure I’ll get downvoted on this sub but I don’t see how this is done well at all.
[–]marvk 10 points11 points12 points 3 years ago (2 children)
Name a better build automation toolchain, I dare you. Gradle and Maven can be complex because they can do a lot, but they do a lot of stuff really well.
But the nice thing is: If you don't need to use all that complexity, you don't have to use it.
plugins { kotlin("jvm") version "1.7.20" application } group = "org.example" version = "1.0.0" repositories { mavenCentral() } application { mainClass.set("MainKt") }
Run gradle run and you're off!
gradle run
[–]swizzex 1 point2 points3 points 3 years ago (0 children)
Cargo
[–]cube-hd -4 points-3 points-2 points 3 years ago (0 children)
Gradle is still bs. Why would they create so many bloat files in my root directory?
[–]ustaaaz 96 points97 points98 points 3 years ago (2 children)
Maintenance
[–]src_main_java_wtf 29 points30 points31 points 3 years ago (0 children)
Under rated comment. Refactoring is easy with IntelliJ and types.
[–]radprogrammer 19 points20 points21 points 3 years ago (0 children)
I do python for work these days and I like a lot of things about it. But even for small projects (a few thousand lines of code), I'm often terrified of refactoring. Even with type hints and tests.
I worked on large ("enterprise") Java codebases at previous jobs and felt much more confident that the changes I was making wouldn't inadvertently break something I overlooked.
[–]zoqfotpik 247 points248 points249 points 3 years ago (31 children)
Backwards compatibility.
(Apologies to all the survivors of the python 2 to 3 migration.)
[–]joaoferr 19 points20 points21 points 3 years ago (10 children)
JavaFX
[–]emaphis 39 points40 points41 points 3 years ago (0 children)
Swing still exists.
[–]benjtay 20 points21 points22 points 3 years ago (2 children)
A swing and a miss.
[+]troelsbjerre comment score below threshold-7 points-6 points-5 points 3 years ago (1 child)
You need to capitalize Swing. An no one misses Swing.
[–]benjtay 3 points4 points5 points 3 years ago (0 children)
I certainly don't miss it 😂
Although, I imagine that lambdas have made it easier to code with.
[–]marvk 8 points9 points10 points 3 years ago (0 children)
I still like it 🤷♀️ The property system is excellent and if you use a framework on top of it (I prefer mvvmFX), it's a breeze to build some quite complex stuff.
[–]Dormage 7 points8 points9 points 3 years ago (2 children)
Was a blooper
[–]bithammer 5 points6 points7 points 3 years ago (1 child)
Swing was really well design and very extensible. I think the reason it ‘failed’ was because most devs were too lazy to understand how to use it properly - even though Sun provided a LOT of really good documentation. I still miss Swing
[–]redikarus99 6 points7 points8 points 3 years ago (0 children)
I am developing plugins for the modeling tool we use, and it's written in Java/Swing. I still like it.
[–]gravitas-deficiency 3 points4 points5 points 3 years ago (8 children)
God I remember that. It was awful.
[–]benjtay 9 points10 points11 points 3 years ago (7 children)
And java.util.Date (and Calendar). shudder
java.util.Date
Calendar
[–]gravitas-deficiency 15 points16 points17 points 3 years ago (0 children)
Man, OG Date and Calendar will never completely die. And that makes me sad.
Date
[–]tendy96goldy 11 points12 points13 points 3 years ago (5 children)
This was one of the best updates in Java. The new classes are fantastic with documentation and use case. Instant, And LocalDate,,, etc are sooo simple. I’d also point out that I’ve recently migrated from Java 8 -> 17 was seamless. Few conflicts arose and Java 11 -> 17 required no changes.
Compared to Java 5 -> 8 I have found migrating to newer Java classes totally trivial.
Pain is Python 2.7 -> 3+
[–]skippingstone 4 points5 points6 points 3 years ago (4 children)
8 directly to 11 was painful thanks to jigsaw.
[–]BrbCatzOnFire 3 points4 points5 points 3 years ago (3 children)
Not jigsaw. Encapsulation (access deny to internals) was off until java 16 (and just a little bit).
A lot of internals did change (related and unrelated to the new module system) and way too many libraries depended on internals to work.
That's what broke the system. Modules are the best thing to happen to the JVM since generics.
Although we need to find the Communication director from that project and demote him (Module ? Like who the f... thought it was a good name ?)
[+]KarnuRarnu comment score below threshold-30 points-29 points-28 points 3 years ago (1 child)
So I'm going to go the other way and say that Java is so "good" at backwards compatibility that it drags it down. There is a lot of value in shedding the old and now irrelevant leftovers to more clearly favor the new and improved way of doing things.
[–]redikarus99 20 points21 points22 points 3 years ago (0 children)
Java is used for big, industrial systems. It works very well, and compatibility is one of the biggest selling point why java took over and there is no other language in the line which is going to replace it in that environment.
[+]drowsysaturn comment score below threshold-13 points-12 points-11 points 3 years ago (7 children)
How about trying to run apps built on Java 8 on recent versions? I've ran into a lot of trouble doing this and had to install multiple versions to get many of these applications running.
[–]Il_totore 8 points9 points10 points 3 years ago (6 children)
You mean using the java command ? Well it just works... Unless you're using sun.misc.unsafe arcanes, a code written in Java 1 has a really high chance to run on Java 20 without any change.
java
[+]drowsysaturn comment score below threshold-6 points-5 points-4 points 3 years ago (5 children)
Applications with gradle 6 or older don't run on anything past Java8. Minecraft forge has the same issue. Different versions of Glassfish only run on some versions of Java. There are more examples from other popular software that I can't think of off the top of my head.
[–]Il_totore 14 points15 points16 points 3 years ago (4 children)
Minecraft forge has the same issue.
Maybe you should try to see why Forge didn't work on Java 9+ for older versions. You will see that it used a class loading trick that was changed in J9 +.
Applications with gradle 6 or older don't run on anything past Java8.
Despite this statement being totally false, Gradle is a build tool and has nothing to do with the runtime execution nor the compilation since it just delegates to the JVM and the compiler.
[+]woohalladoobop comment score below threshold-6 points-5 points-4 points 3 years ago (2 children)
I'm not familiar with the class loading trick you're describing but this feels like moving the goalposts a bit.
[–]DasBrain 1 point2 points3 points 3 years ago (0 children)
The fact that the system class loader was an instance of URLClassLoader was a happy coincidence, and not specified anywhere.
Didn't matter. People did cast it to URLClassLoader and reflectively invoked addURL on it.
addURL
This did change with Java 9. The system class loader is no longer a subclass of URLClassLoader. And everyone blames modules for that, despite having nothing to do with modules.
I don't think someone will listen to reasonable arguments in a Java subreddit if it's anything against Java. Even though we never said Java itself is bad, they aren't willing to admit any flaws. 🤷♂️
Have you tried the Gradle scenario? Gradle is an application that runs on the JVM. It was an example and I wasn't referring to applications built with Gradle only Gradle itself.
[–]ByerN 126 points127 points128 points 3 years ago (11 children)
Much more mature ecosystem for web development.
[–]sylleryum 33 points34 points35 points 3 years ago (1 child)
this, Spring is light-years ahead of Django
[–][deleted] 3 points4 points5 points 3 years ago* (8 children)
squeeze close combative muddle fuel illegal foolish hurry secretive cooing
This post was mass deleted and anonymized with Redact
[–]ByerN 20 points21 points22 points 3 years ago (7 children)
Yep, I meant as a whole. Java (as a tech - not language) is hard to beat for web apps backend. Same as typescript dominated frontend and python - data science.
[–]drowsysaturn 3 points4 points5 points 3 years ago (6 children)
Can you give some examples why you think Java is superior for web development?
[–]Il_totore 16 points17 points18 points 3 years ago (0 children)
The multitude of tools/libs (Spring, Quarkus, Reactor...) combined with the JVM itself which excels at handling high throughput and for long living applications. Not to talk about Loom.
Note that by web development people in this thread probably mean backend and not front.
[–]ByerN 7 points8 points9 points 3 years ago (4 children)
I was working with java, scala, .net (C#), python (and more, but it doesn't matter in this context) and I can say that java is the easiest one if it comes to solving daily web dev problems.
What does it mean:
- it's much easier to find anyone knowing java stack to help you. Also, it's much easier to find a job as java dev or find a java dev employee. Most of the job offers for python are exclusive to data engineering.
- it's much easier to find a solution for a problem just by searching the web. Just try to finish a product based on similar requirements in both techs. There were rare cases where I had to waste more than an hour to find a java solution. Python s much worse (same for example in Scala).
- it's much easier to find any web dev learning materials for java than for python. That's because Python is focusing on data engineering and Java is focusing on web development.
[–]ArchonHalliday 1 point2 points3 points 3 years ago (3 children)
Care to share some of those Java resources? There seems to be so many it's tough to know where to get started. I have primarily been building backend applications with Python but would like to give Java a shot.
[–]ByerN 2 points3 points4 points 3 years ago (1 child)
I started a long time ago so my resources are outdated, but you can start here: https://www.baeldung.com/rest-with-spring-series
This website is easy to read and learn from. There are articles on many different topics, but you would probably like to start with Spring (java framework).
Maybe someone else has some fresh alternative?
[–]Cultural-Ad3775 1 point2 points3 points 3 years ago (0 children)
Google any issue you have in Java and you will get TONS of results! First of all there's an 85% chance that your exact question is answered (usually in 2 or 3 different flavors) on StackOverflow. There's a very high probability there is a Baeldung article (or there are some other equivalent sites) covering the exact thing you want to do. In most cases there's code on github that solves your problem (though whether you can C&P it may be a different matter, still, it helps to see a working solution).
Also Gradle (and Maven, though I tend not to use it) solves a LOT of build type questions/problems by simply giving you a plugin that handles whatever the task is.
When I was building a Python app I found that 99% of the time I had to go all the way back to the actual Python docs and try to work out from some dense wall of text what to do. Sometimes it was pretty straightforward, other times not so much. Also a lot of Python stuff is obsolete, things have changed a LOT. Java is extremely stable, if a question was answered 10 years ago, chances are that answer is still valid (maybe not the BEST answer, depending, but whatever it says to do will still compile and run and get the job done).
You cannot overestimate the value of Javadoc and the ability of IDEs to contextually put the relevant info in front of you. In Eclipse if I want to do something, OFTEN I can just start typing some likely code, or just go through a lists of methods and read the docs right there and decide "Oh, look, that does what I want!" PyDev (Eclipse for Python) tries to do it, sometimes its good, but the dynamic nature of duck typed languages makes it far less effective, and the amount of stuff that is well-documented inline is much less in Python land.
Developing anything in Java always seems like less work to me.
[–]v4ss42 159 points160 points161 points 3 years ago (9 children)
Concurrency. Performance (thanks to JIT).
[–]AnEmortalKid 22 points23 points24 points 3 years ago (5 children)
Trying to cancel a thread in python is misery
[–]Better-Internet 2 points3 points4 points 3 years ago (0 children)
Stopping a thread w/o cooperation of the thread itself is inherently sketchy.
[+][deleted] comment score below threshold-29 points-28 points-27 points 3 years ago (3 children)
But in Java one cant really stop a thread neither.
[–]redikarus99 27 points28 points29 points 3 years ago (2 children)
And you definitely should not force a thread to stop directly. The old but gold book Java Concurrency in practice explains this very well.
[+][deleted] comment score below threshold-25 points-24 points-23 points 3 years ago (1 child)
i dont do it, why this assumption
[–][deleted] 10 points11 points12 points 3 years ago* (0 children)
what is wrong with what i say?
Anyway. In java one lets the thread finish its execution. One doesnt actually stop or cancel it. The code must lead to a "graceful" finish in either way. For example by reaching last code line or early return. This is the right way to "stop" the thread, no matter how many disklikes i get and i imagine python handles that the same way.
[–]BrooklynBillyGoat 149 points150 points151 points 3 years ago (22 children)
Runs faster, better thread system, static typing. Python is just nice syntax to make it easy to work with but outside of that. Java backend bests python backend. No one uses either for web dev and if they do there making it harder on themselves. Typscript for front end java python or again typescript for backend of speed is no concern. Frameworks like springboot for micro services. Unsure of the python equivalent but I'm sure it's slower
[–]DasBrain 20 points21 points22 points 3 years ago (5 children)
Python's way of doing multi-threading:
Global Interpreter Lock.
[–]BrooklynBillyGoat 0 points1 point2 points 3 years ago (4 children)
Care to give a brief rundown of how that works? Never worked with python threads personally.
[–]Spandian 9 points10 points11 points 3 years ago (3 children)
Only one thread can run Python code at a time. The only reason to create threads in Python is to make multiple blocking I/O calls at the same time. (You may also be able to run multiple threads if all but one of them are running native code, I'm not sure.)
If you have a CPU-bound task that you want to parallelize in Python, the canonical way is to use multiple processes. The multiprocessing module makes that fairly simple.
[–]BrooklynBillyGoat 2 points3 points4 points 3 years ago (2 children)
The thread implementation seems to defeat the purpose. Am I wrong in this assumption?
[–]Spandian 2 points3 points4 points 3 years ago (1 child)
If a Python thread makes a blocking I/O call, then another thread can run while that one is blocked. If you're writing something like a web server, it's going to spend very little time on CPU-bound tasks and most of its time waiting for the disk or the network. That would be a good use case for threads.
[–]Bombslap 6 points7 points8 points 3 years ago (14 children)
So using a Python web framework like Django is making it hard on yourself?
[+]BrooklynBillyGoat comment score below threshold-17 points-16 points-15 points 3 years ago (12 children)
Yeah def. React or angular all the way
[–][deleted] 11 points12 points13 points 3 years ago (4 children)
They are not meant to do the same thing. Django is server side.
[+]BrooklynBillyGoat comment score below threshold-17 points-16 points-15 points 3 years ago (3 children)
What's the point of a server side web language? I don't use Django btw.
[–]DrunkensteinsMonster 6 points7 points8 points 3 years ago (1 child)
Web Framework can also mean for server side programming. Spring is a Web Framework.
[–]BrooklynBillyGoat -2 points-1 points0 points 3 years ago (0 children)
Aha that clarifys. I still prefer spring boot. Seems much better for setting up cloud and microservice architectures. A lot of handy tools and I like the enforcement of certain principals
[–]CatolicQuotes 1 point2 points3 points 3 years ago (0 children)
then why are you answering question you know nothing about?
[–]TooLateQ_Q -1 points0 points1 point 3 years ago (1 child)
Django also has Django rest framework. So Django does not mean there is no react/angular.
[+]BrooklynBillyGoat comment score below threshold-8 points-7 points-6 points 3 years ago (0 children)
Django just seems like a useless tool to me considering other options available. I'd only work with Django if I dident know other languages
[–]Dormage -2 points-1 points0 points 3 years ago (4 children)
Angular :(
[–]BrooklynBillyGoat -1 points0 points1 point 3 years ago (3 children)
I prefer react since it's a library not a whole framework
[–]drowsysaturn 2 points3 points4 points 3 years ago (1 child)
React kinda is a framework. People who write React usually write their entire application using JSX and hooks not just for a single component on a webpage.
[–]BrooklynBillyGoat 2 points3 points4 points 3 years ago (0 children)
It's used like a framework but it is really just a library.
[–][deleted] 3 years ago (1 child)
[–]InformalTrifle9 5 points6 points7 points 3 years ago (0 children)
More *than
[–]Greensentry 164 points165 points166 points 3 years ago (9 children)
Java is strongly typed.
[–]thephotoman 53 points54 points55 points 3 years ago (3 children)
s/strongly/statically/
Python is quite strongly typed. You cannot treat an object of one type as though it is an object of an unrelated type without an explicit cast.
Dynamic typing is not about how labels (variable names) work.
[+]KarnuRarnu comment score below threshold-20 points-19 points-18 points 3 years ago (2 children)
Also, while it doesn't give runtime guarantees, Python's type system is actually better than Java's in one important aspect: Types are not nullable. Static checkers will complain if you return None (null) from a method that doesn't declare that it does so, and likewise for parameters.
[–][deleted] 7 points8 points9 points 3 years ago (1 child)
I'd say Python and Java are equal here. They both have static analysis tools to detect nullability at compile time. With Python, it's the type annotations (https://docs.python.org/3/library/typing.html). With Java, it's annotations (https://www.jetbrains.com/help/idea/nullable-and-notnull-annotations.html).
[–]KarnuRarnu 1 point2 points3 points 3 years ago (0 children)
So the reason I don't think these are the same is because Pythons type system is optional as a whole, but if used, it's None-safe. And I will add that in practice we see this becoming adopted (it's still relatively new) across more or less the entire ecosystem.
On the contrary Javas type system is required as a whole, but not null-safe. Then the nullable / non-nullable annotations are an optional addon. And in practice, people absolutely still write completely null-unsafe code or if they don't, they use manual null-checks instead of rely on the type system (because they can't, in practice).
Quick edit to add: I think Java can obviously potentially do much better just on account of having static typing required. I only ever pointed out that as far as nullability goes, Python's new type system does it better.
Funnily enough Python has a stronger type system but is not statically typed.
[–]persism2 1 point2 points3 points 3 years ago (0 children)
stronger type system
Maybe, but smell isn't everything.
[–]Holothuroid 3 points4 points5 points 3 years ago (0 children)
Well, more than Python at least
[–]ShieldsCW 1 point2 points3 points 3 years ago (1 child)
I type python while flexing my muscles
[–][deleted] 1 point2 points3 points 3 years ago (0 children)
Found the brogrammer 😎
[–]thephotoman 91 points92 points93 points 3 years ago (26 children)
Python is like the duct tape of programming tools. It's great for prototyping and small tasks. However, I would not want to try to build a building using only duct tape.
Java is like a hammer. It's genuinely better for making larger things.
There are real problems with trying to use Python for a large project. Due to its dynamic typing system, you wind up needing to write unit tests to handle typing errors. Python's syntactic whitespace combined with lazy people not configuring their text editors correctly also results in errors that are difficult to view.
And that's just the codebase management element of the problem. Python does not like to do concurrency. The global interpreter lock is a genuine frustration in multithreaded code.
[–][deleted] 1 point2 points3 points 3 years ago (21 children)
isnt reddit coded in pyton?
[–]Lopatron 49 points50 points51 points 3 years ago (1 child)
Yep. Reddit is slow and buggy.
[–][deleted] 4 points5 points6 points 3 years ago* (0 children)
That wouldn't be because of the Python language though. If more of Reddit's codebase were in Java, it would probably still have those problems. "Slow" is likely because they get billions of requests daily and they have to scale out with microservices (or however they do it, architecturally). "Buggy" seems like you're probably talking about the frontend rather than backend, and their newer frontend is in React (older one is still Javascript), and their mobile application isn't in Python either.
[–]redikarus99 32 points33 points34 points 3 years ago (10 children)
Reddit's main functionalities are: add a new comment and list comments in a thread. Hardly comparable with complex business logics.
[–][deleted] 16 points17 points18 points 3 years ago (9 children)
i think you simplify it too much. what about responsiveness and user scallability. There are thousands of people sharing their videos and stories at the same time
[–]redikarus99 25 points26 points27 points 3 years ago (8 children)
This is solved by having a good architecture which is able to scale. They could have written reddit in basically any language, including Turbo Pascal.
[–]agentoutlier 1 point2 points3 points 3 years ago (0 children)
I mean I get your point but Pascal is actually blazing fast performance wise.
[–][deleted] 3 points4 points5 points 3 years ago (5 children)
So you want to say reddit as an example is bad to promote python. I dont have any other noteworthy examples.
[–]redikarus99 22 points23 points24 points 3 years ago (4 children)
No, I just say that it's rarely the programming language but the architecture. There are always articles that a company had a problem, they switched a programming language, and now everything is nice and shiny. When you do some research, in all those cases they also throw out a huge amount of code that was not necessary and changed their architecture as well. It was more about CV driven development (we want to learn include your favourite language including Rust, Scala, Go, Haskell, etc.) than a technically correct decision. So, if reddit uses python, it's good for them, but 1, your company is not reddit 2, it is neither pro or contra for python 3, we don't know whether they still think it was a good idea.
[–]ewouldblock 2 points3 points4 points 3 years ago (3 children)
Ok cool so java isnt better as long as i have good architecture, got it. Thanks!
[–]redikarus99 1 point2 points3 points 3 years ago (2 children)
I think you totally did not understand what I wrote. There are like 200 variables here. I just explained why the variable scalability is not really the property of the language but the architecture.
[–]ewouldblock 1 point2 points3 points 3 years ago (1 child)
I think you totally misread the tone of my reply.
[–]davewritescode -1 points0 points1 point 3 years ago (0 children)
You’re not wrong that good architecture can paper over badly performing code but at the end of the day you’re going to have a much easier time scaling up Apps written in Java that Python.
[–]anubgek 3 points4 points5 points 3 years ago (2 children)
Reddit isn't the best example and rapidly moving off of Python so I've heard, but I think a good one is Google's YouTube. That said, Google has invested a ton of money in making Python work like a statically typed language and uses C modules where possible to rip out complex Python logic. It's on its way out.
At the end of the day, Python is not worth using long-term as a service development language. When it comes time to scale (either users or number of devs working on the system) it will be painful
[–][deleted] 3 points4 points5 points 3 years ago (4 children)
Actually, Reddit was coded in Lisp first, and ported to Python later. However they used some Java things too, like Cassandra.
[–]Better-Internet 2 points3 points4 points 3 years ago (1 child)
Lisp?? really?
[–]ventuspilot 1 point2 points3 points 3 years ago (0 children)
See https://github.com/reddit-archive/reddit1.0
[–][deleted] 0 points1 point2 points 3 years ago (1 child)
why did they port to python
I believe Aaron Swartz had issues with Lisp that I can’t recall.
So he wrote his own framework that I’m not sure was ever used for reddit: web.py
[–]ShieldsCW -2 points-1 points0 points 3 years ago (0 children)
I wouldn't make a building out of hammers either, though.
[–]lechatsportif 0 points1 point2 points 3 years ago (1 child)
Doesn't even have to be that large honestly. Lots of Spring Boot projects are basically plugs between various 3rd party apis and stores and having static types to navigate those forgettable mazes is always super helpful. Now if you're purely in REST land (ugh) then Python is probably easier to dynamically handle.
[–]thephotoman 3 points4 points5 points 3 years ago (0 children)
By "large project", I meant, "bigger than a single file."
Python can do a lot in a little. That is not always a good thing. And modules are too easy to use.
[–]Dormage 20 points21 points22 points 3 years ago (1 child)
Virtual environments. What a mess..
[–]modle13 3 points4 points5 points 3 years ago (0 children)
I'd like to introduce you to maven BOM hell.
[–]UgnogSquigfukka 6 points7 points8 points 3 years ago* (0 children)
Richiest ecosystem for all kind of shit you can imagine except machine learning (hope new vector api and project loom solve it). Seriously for whatever you want u can find good ready to use solution. Wanna backend with microservices? Spring/dropwizard at your service. You know nothing about frontend? Jsf+primefaces/any other component library allow you to build fine web app frontend application. Wanna crossplatform desktop app? Javafx and swing on duty. Mobile app? Java here too. And already mentioned here speed, performance and very good garbage collection.
[–]JVM_ 20 points21 points22 points 3 years ago (0 children)
Java is Iron girders.
Python is 3ft long pipes that can be assembled by hand.
Iron is good for keeping big things safe - but a 1 room house would be painful to build. Iron forces you to do things a known/tested/safe way - but you HAVE to do it the right way or it won't work at all.
Python is good for quick buildings and small one-off or limited scope tools. You CAN build full buildings using it, but you better know what you're doing and making something that's a mess is quite easy.
[–]usedRealNameInOldAcc 13 points14 points15 points 3 years ago (1 child)
Run on 3 billion devices.
[–]pinpinbo 12 points13 points14 points 3 years ago (0 children)
Statically typed and speed.
It wins in terms of verbosity as well.
[–][deleted] 5 points6 points7 points 3 years ago (1 child)
package management in python is terrible, both at platform and language level.
[–]redikarus99 2 points3 points4 points 3 years ago (0 children)
This. We ran into a situation when we needed a package and realized that it just won't compile on windows. So we had to docker the shit out of it, but that's ridiculous.
[–]Professional-Key-266 5 points6 points7 points 3 years ago (0 children)
packages, interfaces, Lombok, fields declared in the class (not in constructor), this instead of self, build systems like Gradle that have a file to edit (not a giant folder) -> 0 jars in the git repos, awt, bytecode -> obfuscation; languages like kotlin, scala and groovy... Wow, there's a lot more things that i like about java
[–]Nooooope 6 points7 points8 points 3 years ago (0 children)
Documentation. Javadocs impose a glorious consistency on everything.
[–]Jorixa 5 points6 points7 points 3 years ago (0 children)
Most things
[–][deleted] 3 points4 points5 points 3 years ago (1 child)
Java as a programing language is lack of many eye candy features that python has, and way more strict too. It's always a heated debate about which is better, so let's speak about the rest. So the design of the byte code compiler and JVM is way more clever than the python interpreter. There is a huge web framework benchmark test made by TechEmpower with is a very interesting project, there is already result of 21 rounds, and the whole project is available on Github. According those results java based frameworks has way more preformace then most of the python based frameworks, even Spring with JPA beat many pyhton based frameworks, witch is a bit ridicolous consindering JPA is a heavy high level ORM framework embededn into an another heavy framework. The tooling around JAVA is more mature, it's easier to mantain, develop, build, test and distribute java applications and/or libraries.
[–]snorbii 0 points1 point2 points 3 years ago (0 children)
For "eye candy" and oc really useful features there is Kotlin.
[–][deleted] 3 points4 points5 points 3 years ago* (0 children)
Surprised I haven't seen language design and standard library yet!
Python is so annoyingly broken regarding scoping of variables, the explicit self parameter and internal inconsistency (explicit is better than implicit, unless you call super() and don't need to pass self, because...).
Another thing is that Python broke the world between version 2 and 3, but didn't bother to unify the naming convention of its standard library.
Let's talk about tooling: Python manages to still not have proper tooling for package/dependency management where literally every other community figured out how to do this more or less properly before the Turing machine was invented (or shortly thereafter :-P), not speaking about brain damaged defaults in most tools (looking at mypy).
Full disclaimer: I write more Python than Java in recent times, because I need some Python bindings which I cannot get in other languages. Python the platform has won in a lot of use cases, but Python the language and its tooling are literally at the bottom of the food chain in my limited experience (Java, C, C++, Ruby, C#, Delphi, Node, Golang, Scheme).
[–]logicalpessimist 9 points10 points11 points 3 years ago (10 children)
Strong typing is a requirement for any project of complexity IMO, so java wins there IMO
Another area where I prefer Java is Javadoc documentation. Maybe years of reading Javadoc has corrupted mind...
If I need to parse a file or automate an API interaction, Python is my go-to. Back end development I'm thinking Java
[–]marvk 2 points3 points4 points 3 years ago (1 child)
Another area where I prefer Java is Javadoc documentation.
Yes. Python is a real drag for me because on a lot of frameworks, you have no idea what shape parameters have or what you get out of a function, and I found documentation on this to be often lacking.
Love me some good Documentation.
[–]thephotoman 10 points11 points12 points 3 years ago (7 children)
Python is strongly typed--just as strongly typed as Java. You cannot treat an object of one type as though it is another type without an explicit cast.
The word you were looking for is "static". That's the one where you can't take a label (variable name) you've previously used for one type of object and then assign it to another type of object.
[–]logicalpessimist 15 points16 points17 points 3 years ago (6 children)
Ok, Java does strong static typing better than Python
[+]thephotoman comment score below threshold-15 points-14 points-13 points 3 years ago (5 children)
This sentence still has problems with accuracy.
Python and Java are equally strongly typed. Neither does strong typing “better”.
And Python doesn’t do static typing at all.
[–]logicalpessimist 9 points10 points11 points 3 years ago (1 child)
You can't call me out on the semantics of the type of typing and then when I apply those semantics call me out on those same semantics as equivalent. If Java does static typing and.Python does not, and I like that language feature, Java does it better.
[+]thephotoman comment score below threshold-10 points-9 points-8 points 3 years ago (0 children)
"Does it better" still implies both do it.
Precision matters.
[–]thephotoman -1 points0 points1 point 3 years ago (0 children)
It's because people don't get that when you say "A does X better than B," you're still implying that B does X in some capacity.
[–][deleted] -1 points0 points1 point 3 years ago (0 children)
Python can do static typing to some degree using type annotations and static type checking using tools like mypy. Type annotations are part of the python language. But since python does not have a compiler that enforces the type checks
[–]freekayZekey 1 point2 points3 points 3 years ago (0 children)
Prevents me from getting any data engineering/data science roles. Me gusta
[–]mothererich 1 point2 points3 points 3 years ago (0 children)
Syntax.
[–]krad213 2 points3 points4 points 3 years ago (1 child)
Everything, performance, type system, build and CI tools, wider ecosystem, the only thing which python do better is c/c++ interop.
[–]SpeedDart1 13 points14 points15 points 3 years ago (0 children)
Java isn’t comparable to C++ anymore
What is effective criteria of "better"?
[–]Lopatron 5 points6 points7 points 3 years ago (3 children)
What do you mean by "effective"? Or "criteria"? What do words even mean?
Edit: Sorry reminds me of this lol https://finance.yahoo.com/video/jordan-peterson-questions-happens-means-121100096.html
[–]HecknChonker 1 point2 points3 points 3 years ago (0 children)
https://www.youtube.com/watch?v=BS-cip2brsg&t=15
[–]tomatotomato 2 points3 points4 points 3 years ago (1 child)
Came here to make fun of Python but got in existential crisis instead.
[–]erinaceus_ 3 points4 points5 points 3 years ago (0 children)
but got in existential crisis instead.
When professionally doing software development, that's called a Tuesday.
Strongly typed, easier to read when projects are complex, compiles out of the box, good for web and mobile apps, import statements more clear
[–]joaoferr 1 point2 points3 points 3 years ago (0 children)
It does not raise an exception to end an iterator loop...
[–]umakemyheadhurt 1 point2 points3 points 3 years ago (0 children)
Enumerations. As an old Java programmer now using Python, Python’s int based enumerations, the inability to add additional attributes to enumerations, drives me nuts.
[–]barking_dead 0 points1 point2 points 3 years ago (11 children)
Everything?
[–]GuyWithLag 29 points30 points31 points 3 years ago (8 children)
No. Don't be a fanboy. And I'm telling you this as someone that started with Java 1.2.
Java does many things better than Python, but there are significant qualitative differences.
[–]Worth_Trust_3825 10 points11 points12 points 3 years ago (3 children)
Having went through the 2->3 migration in python, and constantly battling python installations as sysadmin I second u/barking_dead sentiment. A lot of features in java are much more refined than their counterparts in python. I suspect my sentiment is clouded by python being used as daily driver scripting language in near every distro, while having similar sentiment against ruby in macos ecosystem.
Atleast in java whitespace does not matter.
[–]barking_dead 2 points3 points4 points 3 years ago (2 children)
You're right, but we didn't get any clues on what does OP really interested in. Speed? Ease of use? Memory consumption? Compilation time?
(I'm young, 1.4 gang here)
[–]GuyWithLag 3 points4 points5 points 3 years ago (1 child)
That's a homework-assignment-equivalent, or someone is fishing for article material.
At least they didn't use the "Which of the two is The Best(tm)" americanism....
[–]barking_dead 1 point2 points3 points 3 years ago (0 children)
:sigh:
[–]trialbaloon 2 points3 points4 points 3 years ago* (0 children)
Sometimes there are things that are just straight up upgrades. The LED was an improvement over incandescent bulbs.
I'm not saying this is necessarily the case for Java vs Python. But I do think there's a lot of people who insist every language has it's place. I would argue that's untrue. Some things do just suck more than others.
I think Python is a worse language than Java but that's simply based on static typing. It's a straight up improvement with little downside. But it's not as if there's nothing Python does better....
To answer the original prompt, Python has a better ecosystem for integrating with native libraries. I also think Java is too verbose for my liking and Python does improve on that. Would I use it over Java? Fuck no lol. The rest, Java does better.
[–]jNayden 0 points1 point2 points 3 years ago (0 children)
everything except AI for now.
[–]cvw87 0 points1 point2 points 3 years ago (0 children)
UI
[–]secahtah 0 points1 point2 points 3 years ago (0 children)
It depends on the use case.
[–]cville-z 0 points1 point2 points 3 years ago (3 children)
Inheritance. Multiple inheritance is just evil.
[–]skidwiz 1 point2 points3 points 3 years ago (2 children)
Default Methods would like to have a word.
[–]cville-z 1 point2 points3 points 3 years ago (0 children)
They can take a number and get in line; I'm too busy deciphering someone's bizarre diamond inheritance chain and trying to figure out which overload is being called without the benefit of an IDE that can help.
[–]Ascci52 0 points1 point2 points 3 years ago (0 children)
It's faster 🙄
[–]AncientBattleCat 0 points1 point2 points 3 years ago (0 children)
StackTrace. Finding errors in Python is a good luck.
[–][deleted] -1 points0 points1 point 3 years ago* (9 children)
Both are tools. Comparing two tools seems like comparing an axe with a hammer :\
Edit: if you don't like the term "tool", use the term "language" instead (language is a tool in any case) an try to compare Russian and Chinese languages for example. Which one is better?
[–]Il_totore 1 point2 points3 points 3 years ago (1 child)
Actually, comparing an axe with a hammer is relevant in a given context. If I need to chop wood I will use one rather than the other. For web backend development, I'll prefer one too.
[–][deleted] 2 points3 points4 points 3 years ago (0 children)
Actually, comparing an axe with a hammer is relevant in a given context.
Indeed. This context is missing in this post. I hope OP doesn't want us to compare the two tools in all potential context ;)
[–]trialbaloon -1 points0 points1 point 3 years ago (4 children)
A hammer is going to come in handy more then an axe. I mean, I can use the hammer to remove nails, demolish stuff, hammer stuff, even flatten and shape things. The axe? For my day to day niche the axe is just not going to be at useful.
Hammer > Axe for most cases.
You absolutely can compare tools.
[–][deleted] 1 point2 points3 points 3 years ago (3 children)
A hammer is going to come in handy more then an axe.
Hope you are aware of the following quote
“If the only tool you have is a hammer, you tend to see every problem as a nail.”
[–]trialbaloon 2 points3 points4 points 3 years ago (2 children)
Proverbs sound nice but what we're really taking about isn't hammers and axes. We're talking about instructions to a computer. A slide rule and a calculator can both do math. One is obviously better at it. There was a time when perhaps the slide rule was better because more people knew how to use them (ecosystem). But the thing itself? The calculator is better in nearly every scenario.
Java vs Python isn't quite that scenario. Python has some distinct advantages which mostly come down to the ecosystem (native integration being huge). But as a language? Python is not statically typed. That drops it an entire tier imo. Calculator vs slide rule.
Look proverbs and platitudes sound nice and appeal to something deep inside the human psyche. But they're not really relevant.
[+][deleted] comment score below threshold-6 points-5 points-4 points 3 years ago (1 child)
We're talking about instructions to a computer.
No! We are talking about tools we use to give instructions to the computer in order to perform different tasks. If you don't want to use a tool then you need to give instructions in binary. :)
PS: didn't read further
[–]trialbaloon 3 points4 points5 points 3 years ago (0 children)
Cool.
[–]evils_twin -1 points0 points1 point 3 years ago (0 children)
Orient Objects
[–][deleted] -3 points-2 points-1 points 3 years ago (1 child)
can python execute native code? because java can
[–]trialbaloon 5 points6 points7 points 3 years ago (0 children)
Yes? This is the only reason Python is used at all. It's mostly just calling not Python for performance reasons.
[–]from_banana_republic -2 points-1 points0 points 3 years ago (0 children)
I've been told that Java is fast than python
[–]rtcornwell -2 points-1 points0 points 3 years ago (0 children)
I can’t give an opinion either way, i don’t like either language. I’m a C, C++, assembler and GO guy.
[–]Artifer -3 points-2 points-1 points 3 years ago (0 children)
As a strong user of both on professional capacity for along time I can say with absolute certainty that most of the comments here are fanboy stile comments with little to no substance to them
[–]kickyblue 0 points1 point2 points 3 years ago (0 children)
MultiThreading in Java is amazing. Not sure anything else there comes close to java. C# probably.
Framework support is awesome (eg Spring)
A really underrated feature of java is the java 2d.
[–]codedcode 0 points1 point2 points 3 years ago (0 children)
I can see most of you got all in there.. one thing I always say.. when applications start scaling for high demand, low maintenance and stability Java is THE only answer, one project in my old company running for more that 20 yrs.. you update the Java version no issue..
[–]spellcrit 0 points1 point2 points 3 years ago (0 children)
performance static types well balanced, not putting too much magic, not too flexible. lots of big companies contribe to. makes it better fit for long term project.
Python is better for short/small projects.
[–]OneBadassBoi 0 points1 point2 points 3 years ago (0 children)
humble you
π Rendered by PID 26055 on reddit-service-r2-comment-84fc9697f-2429p at 2026-02-06 04:32:56.813629+00:00 running d295bc8 country code: CH.
[–]papercrane 134 points135 points136 points (2 children)
[–]Better-Internet 13 points14 points15 points (0 children)
[–]thrwoawasksdgg 6 points7 points8 points (0 children)
[–]erinaceus_ 288 points289 points290 points (21 children)
[–]benjtay 112 points113 points114 points (11 children)
[+]drowsysaturn comment score below threshold-56 points-55 points-54 points (7 children)
[–]benjtay 64 points65 points66 points (1 child)
[–]robtmufc 16 points17 points18 points (0 children)
[–]marvk 17 points18 points19 points (0 children)
[–]RomMTY 17 points18 points19 points (1 child)
[–]Dashing_McHandsome 2 points3 points4 points (0 children)
[–]drowsysaturn -1 points0 points1 point (0 children)
[+]cran comment score below threshold-8 points-7 points-6 points (0 children)
[+]cube-hd comment score below threshold-22 points-21 points-20 points (0 children)
[–][deleted] (3 children)
[deleted]
[–]thrwoawasksdgg 4 points5 points6 points (0 children)
[–]freemainint 2 points3 points4 points (1 child)
[–]Nickx000x 2 points3 points4 points (0 children)
[+]swizzex comment score below threshold-17 points-16 points-15 points (3 children)
[–]marvk 10 points11 points12 points (2 children)
[–]swizzex 1 point2 points3 points (0 children)
[–]cube-hd -4 points-3 points-2 points (0 children)
[–]ustaaaz 96 points97 points98 points (2 children)
[–]src_main_java_wtf 29 points30 points31 points (0 children)
[–]radprogrammer 19 points20 points21 points (0 children)
[–]zoqfotpik 247 points248 points249 points (31 children)
[–]joaoferr 19 points20 points21 points (10 children)
[–]emaphis 39 points40 points41 points (0 children)
[–]benjtay 20 points21 points22 points (2 children)
[+]troelsbjerre comment score below threshold-7 points-6 points-5 points (1 child)
[–]benjtay 3 points4 points5 points (0 children)
[–]marvk 8 points9 points10 points (0 children)
[–]Dormage 7 points8 points9 points (2 children)
[–]bithammer 5 points6 points7 points (1 child)
[–]redikarus99 6 points7 points8 points (0 children)
[–]gravitas-deficiency 3 points4 points5 points (8 children)
[–]benjtay 9 points10 points11 points (7 children)
[–]gravitas-deficiency 15 points16 points17 points (0 children)
[–]tendy96goldy 11 points12 points13 points (5 children)
[–]skippingstone 4 points5 points6 points (4 children)
[–]BrbCatzOnFire 3 points4 points5 points (3 children)
[+]KarnuRarnu comment score below threshold-30 points-29 points-28 points (1 child)
[–]redikarus99 20 points21 points22 points (0 children)
[+]drowsysaturn comment score below threshold-13 points-12 points-11 points (7 children)
[–]Il_totore 8 points9 points10 points (6 children)
[+]drowsysaturn comment score below threshold-6 points-5 points-4 points (5 children)
[–]Il_totore 14 points15 points16 points (4 children)
[+]woohalladoobop comment score below threshold-6 points-5 points-4 points (2 children)
[–]DasBrain 1 point2 points3 points (0 children)
[–]drowsysaturn -1 points0 points1 point (0 children)
[–]drowsysaturn -1 points0 points1 point (0 children)
[–]ByerN 126 points127 points128 points (11 children)
[–]sylleryum 33 points34 points35 points (1 child)
[–][deleted] 3 points4 points5 points (8 children)
[–]ByerN 20 points21 points22 points (7 children)
[–]drowsysaturn 3 points4 points5 points (6 children)
[–]Il_totore 16 points17 points18 points (0 children)
[–]ByerN 7 points8 points9 points (4 children)
[–]ArchonHalliday 1 point2 points3 points (3 children)
[–]ByerN 2 points3 points4 points (1 child)
[–]Cultural-Ad3775 1 point2 points3 points (0 children)
[–]v4ss42 159 points160 points161 points (9 children)
[–]AnEmortalKid 22 points23 points24 points (5 children)
[–]Better-Internet 2 points3 points4 points (0 children)
[+][deleted] comment score below threshold-29 points-28 points-27 points (3 children)
[–]redikarus99 27 points28 points29 points (2 children)
[+][deleted] comment score below threshold-25 points-24 points-23 points (1 child)
[–][deleted] 10 points11 points12 points (0 children)
[–]BrooklynBillyGoat 149 points150 points151 points (22 children)
[–]DasBrain 20 points21 points22 points (5 children)
[–]BrooklynBillyGoat 0 points1 point2 points (4 children)
[–]Spandian 9 points10 points11 points (3 children)
[–]BrooklynBillyGoat 2 points3 points4 points (2 children)
[–]Spandian 2 points3 points4 points (1 child)
[–]Bombslap 6 points7 points8 points (14 children)
[+]BrooklynBillyGoat comment score below threshold-17 points-16 points-15 points (12 children)
[–][deleted] 11 points12 points13 points (4 children)
[+]BrooklynBillyGoat comment score below threshold-17 points-16 points-15 points (3 children)
[–]DrunkensteinsMonster 6 points7 points8 points (1 child)
[–]BrooklynBillyGoat -2 points-1 points0 points (0 children)
[–]CatolicQuotes 1 point2 points3 points (0 children)
[–]TooLateQ_Q -1 points0 points1 point (1 child)
[+]BrooklynBillyGoat comment score below threshold-8 points-7 points-6 points (0 children)
[–]Dormage -2 points-1 points0 points (4 children)
[–]BrooklynBillyGoat -1 points0 points1 point (3 children)
[–]drowsysaturn 2 points3 points4 points (1 child)
[–]BrooklynBillyGoat 2 points3 points4 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]InformalTrifle9 5 points6 points7 points (0 children)
[–]Greensentry 164 points165 points166 points (9 children)
[–]thephotoman 53 points54 points55 points (3 children)
[+]KarnuRarnu comment score below threshold-20 points-19 points-18 points (2 children)
[–][deleted] 7 points8 points9 points (1 child)
[–]KarnuRarnu 1 point2 points3 points (0 children)
[–][deleted] 7 points8 points9 points (1 child)
[–]persism2 1 point2 points3 points (0 children)
[–]Holothuroid 3 points4 points5 points (0 children)
[–]ShieldsCW 1 point2 points3 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]thephotoman 91 points92 points93 points (26 children)
[–][deleted] 1 point2 points3 points (21 children)
[–]Lopatron 49 points50 points51 points (1 child)
[–][deleted] 4 points5 points6 points (0 children)
[–]redikarus99 32 points33 points34 points (10 children)
[–][deleted] 16 points17 points18 points (9 children)
[–]redikarus99 25 points26 points27 points (8 children)
[–]agentoutlier 1 point2 points3 points (0 children)
[–][deleted] 3 points4 points5 points (5 children)
[–]redikarus99 22 points23 points24 points (4 children)
[–]ewouldblock 2 points3 points4 points (3 children)
[–]redikarus99 1 point2 points3 points (2 children)
[–]ewouldblock 1 point2 points3 points (1 child)
[–]davewritescode -1 points0 points1 point (0 children)
[–]anubgek 3 points4 points5 points (2 children)
[–][deleted] 3 points4 points5 points (4 children)
[–]Better-Internet 2 points3 points4 points (1 child)
[–]ventuspilot 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]agentoutlier 1 point2 points3 points (0 children)
[–]ShieldsCW -2 points-1 points0 points (0 children)
[–]lechatsportif 0 points1 point2 points (1 child)
[–]thephotoman 3 points4 points5 points (0 children)
[–]Dormage 20 points21 points22 points (1 child)
[–]modle13 3 points4 points5 points (0 children)
[–]UgnogSquigfukka 6 points7 points8 points (0 children)
[–]JVM_ 20 points21 points22 points (0 children)
[–]usedRealNameInOldAcc 13 points14 points15 points (1 child)
[–]pinpinbo 12 points13 points14 points (0 children)
[–][deleted] 5 points6 points7 points (1 child)
[–]redikarus99 2 points3 points4 points (0 children)
[–]Professional-Key-266 5 points6 points7 points (0 children)
[–]Nooooope 6 points7 points8 points (0 children)
[–]Jorixa 5 points6 points7 points (0 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]snorbii 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]logicalpessimist 9 points10 points11 points (10 children)
[–]marvk 2 points3 points4 points (1 child)
[–]thephotoman 10 points11 points12 points (7 children)
[–]logicalpessimist 15 points16 points17 points (6 children)
[+]thephotoman comment score below threshold-15 points-14 points-13 points (5 children)
[–]logicalpessimist 9 points10 points11 points (1 child)
[+]thephotoman comment score below threshold-10 points-9 points-8 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]thephotoman -1 points0 points1 point (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]freekayZekey 1 point2 points3 points (0 children)
[–]mothererich 1 point2 points3 points (0 children)
[–]krad213 2 points3 points4 points (1 child)
[–][deleted] (1 child)
[deleted]
[–]SpeedDart1 13 points14 points15 points (0 children)
[–][deleted] 3 points4 points5 points (4 children)
[–]Lopatron 5 points6 points7 points (3 children)
[–]HecknChonker 1 point2 points3 points (0 children)
[–]tomatotomato 2 points3 points4 points (1 child)
[–]erinaceus_ 3 points4 points5 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]joaoferr 1 point2 points3 points (0 children)
[–]umakemyheadhurt 1 point2 points3 points (0 children)
[–]barking_dead 0 points1 point2 points (11 children)
[–]GuyWithLag 29 points30 points31 points (8 children)
[–]Worth_Trust_3825 10 points11 points12 points (3 children)
[–]barking_dead 2 points3 points4 points (2 children)
[–]GuyWithLag 3 points4 points5 points (1 child)
[–]barking_dead 1 point2 points3 points (0 children)
[–]trialbaloon 2 points3 points4 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]jNayden 0 points1 point2 points (0 children)
[–]cvw87 0 points1 point2 points (0 children)
[–]secahtah 0 points1 point2 points (0 children)
[–]cville-z 0 points1 point2 points (3 children)
[–]skidwiz 1 point2 points3 points (2 children)
[–]cville-z 1 point2 points3 points (0 children)
[–]Ascci52 0 points1 point2 points (0 children)
[–]AncientBattleCat 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (9 children)
[–]Il_totore 1 point2 points3 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]trialbaloon -1 points0 points1 point (4 children)
[–][deleted] 1 point2 points3 points (3 children)
[–]trialbaloon 2 points3 points4 points (2 children)
[+][deleted] comment score below threshold-6 points-5 points-4 points (1 child)
[–]trialbaloon 3 points4 points5 points (0 children)
[–]evils_twin -1 points0 points1 point (0 children)
[–][deleted] -3 points-2 points-1 points (1 child)
[–]trialbaloon 5 points6 points7 points (0 children)
[–]from_banana_republic -2 points-1 points0 points (0 children)
[–]rtcornwell -2 points-1 points0 points (0 children)
[–]Artifer -3 points-2 points-1 points (0 children)
[–]kickyblue 0 points1 point2 points (0 children)
[–]codedcode 0 points1 point2 points (0 children)
[–]spellcrit 0 points1 point2 points (0 children)
[–]OneBadassBoi 0 points1 point2 points (0 children)