Live data from Hacker News

IT Runs on Java 8

veekaybee.github.io

221–230 of 556 posts

Re: IT Runs on Java 8

#221

Earlier quoted context omitted.

JDBC is not JEE - it is core Java. Servlets are the original web-container Java spec, independent of JEE. Both are great specs supported by several stable and performant implementations - rock solid tech compared to a lot of the flaky stuff you find advertised today.

How are Java programmers implementing RESTFUL APIs these days?

Many developers don't want to think too much and generally choose Spring boot for a stable, highly-popular and well-documented framework. There is nothing wrong with this choice but I find it too bloated for lean container based micro-services.

Dropwizard and Micronaut are pretty good for getting a smaller and saner footprint. If you need more than REST, say you want a lean MVC-based web-framework, then Blade is also a good choice.

You can also choose not to use a framework and say use code-generation from a swagger/openAPI REST document and implement the remaining bits on your own. If your deployment target is AWS, you can also choose to leverage Netflix's fantastic set of libraries.

Java has tonnes of options, so you usually need to spend some time evaluating what goes into your stack.

Re: IT Runs on Java 8

#222

Earlier quoted context omitted.

Oracle has a long track record of Sales & Marketing tactics which we can use as a reliable benchmark to predict outcomes. Oracle will likely pursue the most aggressive strategy they can get away with Java. I don't believe Sun was suing Google, but Oracle did. The fact that Google is switching to Kotlin is mostly a means to absolve themselves of the 'Oracle risk' - it's a big change surely, a decision not taken lightl…

I think Sun might have wanted to sue Google? https://news.ycombinator.com/item?id=10951407

Yes, thanks for that, it stirred my recollection as I actually bumped into Jon Swartz by accident just in that era.

I don't think it was money, so much as the established culture at Sun (i.e. James Gosling: "Sun is not so much a company but a debating society). A more aggressive CEO/leadership/culture would have maybe raised the money to take on Google, or to take another tact.

So while you are right - and thanks for the reference - the issue here is what Sun was about, vs. what Oracle is about.

Re: IT Runs on Java 8

#223

Earlier quoted context omitted.

In a lawsuit, Oracle pushed for API's to be copywritten, not just their implementation. They also have paid lobbyists. They're also greedy assholes. The combo of greedy assholes and the ability to rewrite the law is a dangerous one. So, I don't use a language unless it's open with patent grants and has a non-malicious owner. At this point, Wirth's stuff is probably legally the safest.

> copywritten copyrighted "Copywritten" probably means nothing, but if it did, it would have something to with copy writing, the act of writing for publication (usually commercial, usually not long-form). Added: FYI "copyrighting" is not a conscious decision, or an action you can take. Copyright emerges automatically when you create a work, what they've done is defend their copyright in court, and the courts have mix…

Yes, copywritten isn't a word, but their point was that Oracle pushed for API's to be copywritable, which was not the case before their suit. It's an incredibly bad result with many shitty implications that are currently mostly being ignored but could lead to legal nuclear war at any time.

Re: IT Runs on Java 8

#224
post #201
post #184

Earlier quoted context omitted.

> but Java has a lot of mistakes baked into the language and interfaces that can't be removed without potentially breaking a lot of stuff Absolutely true, but so does C#. In the end it turned out that .NET's reified generics were a mistake (which makes language interop on .NET painful), and more recently async/await.

> In the end it turned out that .NET's reified generics were a mistake Do you have any resources that explain this point further? Reified generics have often been praised as the thing that CLR got right (and JVM got wrong). I never understood fully why that is, especially since other languages with generics (e.g. Haskell and OCaml) don't have anything reified (although in all honesty also don't have RTTI so it's real…

"Mistake" is a strong word, and I would disagree with it. But when building extensible libraries and systems I do often find myself wanting to pass around a List>, which isn't doable without writing a second generic interface or the like. On the flip side, in Java (or, these days, Kotlin), a type-erased generic can be mediated more easily because passing a Class is easier than adding a second interface.

Part of it is that a lot of that stuff is gamedev-related, for me. It's not the biggest thing in the world, but for a lot of the stuff I find myself writing in C#, I find myself wishing for type erasure to make throwing data around a little easier. On the other hand, though, when writing web stuff on the JVM--I absolutely will not waste my time doing this in .NET, ASP.NET Core is not very good and EF Core is awful--I often wish for type reification, so it's just a horses-for-courses thing.

Re: IT Runs on Java 8

#225

Earlier quoted context omitted.

Yeah, there is the legacy of the thousands of mature libraries, frameworks and development tools. Legacy isn't always a bad thing.

never said it was bad. But just wanted to state that it's not all newness.

To me Java is like a diesel engine, old but proven technology that can keep on chugging for hundreds of thousands of hours.

(Not to discount the recent improvements in GC, etc which are also amazing...)

Re: IT Runs on Java 8

#226
post #140
post #85

The funny thing is that from a purely technological point of view, Java (even the 5-year-old Java 8 and certainly recent versions) is far ahead of most other stuff hyped on HN (as well as less hyped stuff). Virtually no other platform comes close to that combination of state-of-the-art optimizing compilers, state-of-the-art GCs, and low-overhead in-production profiling/monitoring/management. And much of the cutting-e…

This. Technically there is nothing I don't like about JVM right now, everything that seems impossible 15 years ago is now solved. AOT used to be bag of hurt with GCJ ( I know I could use Excelsior, not sure if it was free in my time though ), but now even that will be an supported option from Graal. Java the languages still isn't pretty, but it has been much improved. OpenJDK is GPL and apart form the trademark ( ? )…

> Technically there is nothing I don't like about JVM right now, everything that seems impossible 15 years ago is now solved.

Value types are a major missing piece in the JVM stack right now. It's at least on the roadmap, but it keeps getting pushed back and back and back. I'd also argue runtime generics is another one, and perhaps more depressingly one that is unlikely to ever get fixed.

.NET has both of them and also has the same core strengths JVM does, so given the choice I'd go with .NET over JVM 100% of the time as a result. JVM's GC & JIT seem to be on a never ending improvement cycle, but the actual language & core libraries are incredibly slow to react to anything.

Re: IT Runs on Java 8

#227
post #92

Fun story : i had to develop the same system for two different companies, one a startup with 3 employees (the founders) , the other a billion dollar business. Just a backend api & web interface, together with an iOS app displaying the content. I could use shiny new tech for the startup (which at the time was python on app engine and its nosql datastore, with a backbone.js framework), whereas the other one forced me t…

The goal of enterprise dev process is no matter the outcome is, nobody is to blame.

Re: IT Runs on Java 8

#228
We have some java 1.4 code, which is running on OC4J app server version 10.1.3 with apache tapestry version 4.1 app framework. I have to look up some official documentation on the internet archive because much of it is 404d. Can someone please top this? :)

Re: IT Runs on Java 8

#229
post #184

Earlier quoted context omitted.

> but Java has a lot of mistakes baked into the language and interfaces that can't be removed without potentially breaking a lot of stuff Absolutely true, but so does C#. In the end it turned out that .NET's reified generics were a mistake (which makes language interop on .NET painful), and more recently async/await.

Generics interop just fine on .NET, and async/await had become a starting point for similar designs in many other languages. I don't think you'll find many people who actually write code in that ecosystem agreeing with either of those claims.

> Generics interop just fine on .NET

They really don't. They have posed severe restrictions on features in languages like Scala and F#, and take a look at Clojure, Python and JS interop on the JDK as opposed to .NET.

> and async/await had become a starting point for similar designs in many other languages.

And it's a mistake in most of them. Java has copied some of C's mistake, C# has copied some of Java's, and others may copy some of C#. Every language/runtime both repeats others' mistakes and adds a good helping of its own.

> I don't think you'll find many people who actually write code in that ecosystem agreeing with either of those claims.

I can only express my own opinions (and I think reified generics, as implemented in the CLR, is a far bigger mistake than async/await, which only affects the C# language), but I am far from being alone in having them. Also, I have no doubt that async/await is an improvement on the previous situation, which is why people like it, but nevertheless I think it's a mistake as there are alternatives that are more convenient, more general, and have less of an adverse impact on the language (e.g. Go's goroutines).

Re: IT Runs on Java 8

#230
IT runs on a wide array of technologies. Desktop games and 3D graphics which the area I focus and obviously a massive part of the software market if we include consoles and mobile devices , C++ still is king. Most games nowadays use either Unity or Unreal, which is C# or C++. Java is almost completely absent apart of course from the Android. Of course native iOS is still Objective C and Swift. AI another field that interests me is dominated by Python. Also if we venture outside the commercial part around 40% of software is written in languages that you will never hear anything about them . Mainly because are small projects where using any language is not an issue. Generally a vast majority of the IT is definetly not Java but a wide group of highly popular languages mercilessly bombarded by thousands of unknown languages struggling to gain a fraction of a percentage in terms of growing their community. Essentially strength in numbers. Software is chaotic field of countless of technologies. Even something as big as Java has no hope of dominating because it’s impossible for a language to excel in billion different scenarios. So don’t worry Java won’t be conquering the Software world any time soon.
Post reply on HN