Hacker News new | ask | show | jobs
by nunobrito 1114 days ago
Albeit unpopular opinion, this kind of things is one of the reasons why I'll always push for Java instead of a jigsaw of different languages that sound cool.

Stability, scalability and simplicity. Yes, you read correctly.

Whomever complains that Java is bloated or complex, needs only to look on who is writing that "piece" of code. Expert developers will write proper code that anyone can maintain and keep simple.

Too bad for Digg. Was a good site.

8 comments

It's pretty clear from the article that the issues Digg had were not caused by choice of language.
They literally complain about python bad choices of libraries.
In that article? I'm not seeing that.
Yeah. Not really my fault there.
The word "libraries" is not even mentioned in the code. Python is only mentioned to detail a bug that caused a memory leak, I don't know how you generalized this to "Python is to blame for Digg's demise" but that's not anyone else's fault.
Reddit, the clear winner of Diggs traffic was written in python. Guess Python might work just fine :\
Indeed. Or maybe it was the winner of Diggs traffic despite being written in Lisp at that time..
Reddit had already been rewritten in Python long before Digg's collapse. Several years. There may have still been ancillary services in Lisp, but nothing production-critical.
The choice of PHP had very little to do with it. Digg was 3 webservers with 8 database slaves in 2006.

https://web.archive.org/web/20060412174457/http://www.oreill...

Digg even moved some processing from MySQL into PHP in 2009 to increase performance.

http://highscalability.com/blog/2010/3/23/digg-4000-performa...

Java itself is pretty good if you stay away from any popular Java library.
I think its probably fair to say that we as individual developers are always going to push for the thing we are most familiar and comfortable with. Almost nothing is "complicated" or "bloated" if you are really productive with it and know all the pain points to avoid. My experience with Java is that the language is great, but the ecosystem and tooling is where the bloat and complexity comes in. If I were really accustomed to this ecosystem then I probably wouldn't hold this opinion.
Yeah, just run away from Spring or JBoss. I'd probably jump to something else too if forced to wait 3 minutes for something to even compile.

Kind of difficult as you will always see those kids trying all kinds of magic with a language instead of razor sharp focus on the problem itself to be solved.

Anyways, I guess everyone passes through those phases of growth. Also unreasonable to remain like a dinosaur refusing to learn what else new is coming up.

That's not a function of Java.
> Stability, scalability and simplicity.

These are not the adjectives I associate with Java...

Java has been stable for years I think, they don't switch frameworks and paradigms every weekend. Code you wrote in 10 years ago in Java8 most probably don't even need a refactor for Java 22. And funny enough just yesterday there was a thread on reddit where people still claim to be running Java 8 on prod, now that's not a good thing but 10+ years even after deprecating means something here.

Simplicity, you can code Java apps to be as simple as possible, unless you use a framework like spring, but that's true for any language. I used vert.X and it's expressJS of Java, very lean, basic but more batteries available if needed but still manages to be simple. Java doesn't have complicated concepts to understand nor does it have 100 ways to do the same thing.

Scalability, dockerize and scale to your heart's content or tweak the JVM params and max out your hardware.

What am I missing, not trying to be snarky, maybe you wrote more Java than me, may be for years, so genuinely curious to understand. For additional context, I coded in NodeJs, Python, Go, Swift and Java. and each have its own merits. So I'm not biased against Java.

Digg didn't fail because it didn't use Java, that's preposterous. Java isn't more scalable, stable or simple than any other solution, that's Java consultancy bullshit.
> Java isn't more scalable, stable or simple than any other solution, that's Java consultancy bullshit.

Twitter would disagree[0].

> We now have the capacity to serve 10x the number of requests per machine. This means we can support the same number of requests with fewer servers, reducing our front-end service costs.

---

0: https://www.infoq.com/articles/twitter-java-use/

Java is just about the only sane language that one should use for complex projects.

All phones since the last 30 years (including the famous Nokias) shipped with Java and apps that simply worked. Android is constructed on top of Java. What I build today with pure Java will run in 100 years from today without needing changes. Quite a different scenario for whatever other language that breaks stuff every couple of versions.

Using other languages is of course possible. In the same manner as building a wheel with stone is possible instead of using rubber.

> Java is just about the only sane language that one should use for complex projects.

Another pretty extreme view... there are plenty languages that can be used for complex projects.

Yeah, not really. Not at all. I've been building critical infrastructure for a few decades now and was all down to Java, C++ or both with some minor languages as support.

Anything else is from startups that grew big and simultaneously polarized about their language decisions. Those decisions are tied to whatever lifestyle or political statement, more than a sane engineering decision that addresses technical debt in the future.