Live data from Hacker News

IT Runs on Java 8

veekaybee.github.io

211–220 of 556 posts

Re: IT Runs on Java 8

#211

It's a bit disturbing how much people in this industry are focused on tooling. It's a biproduct IMO of working on boring problems or supporting morally ambiguous corps. That thing that you need to keep yourself busy and keep going in the rat race.

The more experience I have, the more I appreciate good tooling.

Why? Because the tooling is what ends up being used every day in so many ways. A minor improvement in tooling can lead to drastically better quality of life. It's like getting a fancy but expensive office chair - no, I don't need it, but my back will thank me at the end of every day.

The catch here is that this applies across the board. For example, many new languages try to sell you on a better language design that is more convenient - and it may well be, but it doesn't matter when there's no good IDE, no good debugger, no smooth deployment story etc. PL and API design is important, but it's not more important than everything else. The languages that are the best for "quality of coding" are the ones that balance it all, and usually they have to dial some advanced aspects down to enable other areas to work. Or at least move slower with language evolution, so that new fancy features get full support across the board. It's no coincidence that languages like Java and C# - which lag behind on bleeding edge language features - have the best code completion and refactoring in the industry.

Re: IT Runs on Java 8

#212
post #142

Earlier quoted context omitted.

> I am just a little uneasy with Oracle lurking around, I just don't know what they are going to do next. What do you mean by "lurking"? Oracle is the company developing OpenJDK, and it will continue to do so. All our projects are done in the open, with lots of communication.

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

Re: IT Runs on Java 8

#213
post #125

Earlier quoted context omitted.

C# is a better language. Java 8 started to catch up with some of the quality-of-live niceties, 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, which the consortium is not willing to do. C# and DotNet were designed with the wisdom gained from the early days of Java implementation and sidestepped a lot of these messes. Java has a s…

Packet is a great alternative to the NuGet client. Tooling might be slightly behind Java's, but honestly, there's not much in it. Dotnet Core might only have been available on Linux for a few years, but Mono was around for many before that. The dotnet CLI also recently got the concept of 'global tools', which are akin to NPMs. A lot of work is also underway on better cross-platform performance analysis, crash dump ha…

Maybe not much that the OP miss. But then again there's nothing to miss from Java either since Java fulfill his requirements (maybe more than .NET can).

If I'm a Java developer who has been using Maven for such a long time. I don't see the allure switching to .NET just because NuGet exist or whatever Packet stands for.

The big data ecosystem is all JVM/Java.

Android started off as Java. Sure they have Kotlin now, but I don't know how many developers switching to Kotlin in drives.

Basically, the ecosystem of Java is already _there_ when MSFT is trying to catch it up so experienced Devs (a.k.a people who are already comfortable with the tooling) do not see the reason to switch.

As for me myself, I used to intern at MSFT back in the mid 2000 drinking the .NET kool-aid. One day I woke up and realize that part of the hi-tech world that interest me, relies a lot on OSS and the large portion of OSS was Java. Fast forward to today, FAANG is mostly Java shop. Java seems like a safer ground for me to have a longer career.

That's just me and my 2c. I'm too lazy to switch to .NET since there's no added value at the moment unless if I want to do back-office in-house web-app.

Re: IT Runs on Java 8

#214
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 start-up code written in modern Java would similarly taken two months to develop and maintainable by an intern. The problem in enterprise tech like you found is that one is forced to use certain, non-productive old frameworks filled with legacy, over-engineered bloat. Modern Java micro-services in contrast are really fast to develop. Green field Java projects where one can make personal choices of lean technology…

> Modern Java micro-services in contrast are really fast to develop.

This attitude is a bit surprising to me. The main point of micro-services is that they address a complexity problem when dealing with large organizations. That is, they allow a large organization to break into small teams that can work (relatively) independently so each team can iterate faster. However, microservices definitely make a host of issues harder:

* cross-service transactions are much harder

* cross-cutting concerns can be more difficult to change.

* can add organizational complexity of a feature you want to add needs corresponding changes it up or downstream services.

Even Martin Fowler has this quote:

Don’t even consider microservices unless you have a system that’s too complex to manage as a monolith. The majority of software systems should be built as a single monolithic application. Do pay attention to good modularity within that monolith, but don’t try to separate it into separate services.

Re: IT Runs on Java 8

#215

Earlier quoted context omitted.

Wow I'm getting voted down. I guess I should reverse what I said because it's obviously not true at all. Java carries zero legacy.

No, you don't need to reverse your opinion at all. Personally, I voted you down because your opinion was stated in a sort of offhanded manner that does not do the subject justice.

The manner is neutral. It's only a couple words. You want me to write a whole essay on the pros and cons of legacy? In that case I would invite a negative vote because in those cases you can disagree. In this case it's just a statement that is true.

Re: IT Runs on Java 8

#216

Earlier quoted context omitted.

True, but java carries a lot of legacy.

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.

Re: IT Runs on Java 8

#218

Earlier quoted context omitted.

True, but java carries a lot of legacy.

"Legacy" includes good things too, not just bad things. I grew up promising myself that I'd never touch Java, but when I did, it was a relevation. Everything just works. The debugger was just "attach and go" -- no recompilation with different flags, no fishing for the IDE / plugin version in which it wasn't broken, no glaring missing features (conditional breakpoints, stack traces...) The frameworks were refreshingly…

You're right. I never said otherwise.

Re: IT Runs on Java 8

#219
post #67

I would argue that Hacker News is actually not about the latest in cutting edge technology. Rather, it derives more from the spirit of hacking, fundamentally making computers do something other people thought are not possible to do or never tried. It looks like the latest cutting edge tech but rather its a bunch of people just experimenting. It does not show whats the norm, but what is possible.

But when does hacking just become needlessly reinventing the wheel

Re: IT Runs on Java 8

#220
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…

Erasure makes it easy for Java, Kotlin, and Clojure share code and data structures without costly runtime conversions. Languages like Scala and F# have had trouble implementing features on the CLR because of reification, and take a look at what Python and Clojure on the CLR have to go through for interop.

I know some people think that say they like reified generics in C#, but those are mostly people who aren't aware of what cost to the entire ecosystem they're paying in exchange to what is a minor convenience in C#.

BTW, reification of reference-type generics is not to be confused with specializing collections for value types ("arrays-of-struct") an extremely important feature that CLR indeed has, and Java is now working on getting.

Post reply on HN