Live data from Hacker News

IT Runs on Java 8

veekaybee.github.io

501–510 of 556 posts

Re: IT Runs on Java 8

#501
post #289

Earlier quoted context omitted.

I don’t think is true anymore. The .net 5 announcement was very clear that .net core is the future and its been a while since you’ve had needed things that are windows only to build a non-trivial .net core application.

Please double check my wording. Yes, you can write a non-trivial .NET application on Linux. But if you take a non-trivial .NET application that runs on Windows, the odds are low that it can easily be ported to Linux. And there are almost no non-trivial .NET applications that weren't originally written for Windows. The result is that if you work with .NET, you're going to be pushed towards Windows.

You are no more “pushed toward Windows” with new code you do with .Net Core than you are if you use any other cross platform language.

While I’ll agree that anything that uses any of the advanced features of Entity Framework and MVC is not trivially ported.

Re: IT Runs on Java 8

#502
post #347
post #332

Earlier quoted context omitted.

Your opinion is your opinion. My opinion of the company and its products is more consistently negative than any other large company. And while you think that the non-Java world is suffering, I think you have some tunnel vision. Let's just say that I am personally happy with my decision to stay away from Java. And the brief periods where I had to work with Java were misery. Languages have personalities as well as comp…

Startups don't use Java because Java is for large-scale stable long- lived enterprises, not for prototyping simple small web apps that might be thrown away in a couple of years.

Today, I go back and forth between three languages at work - .Net, JavaScript, and Python. For simple prototype web apps or more realistically REST microservic APIs to feed front end frameworks, I really don’t see either being slower to develop.

For larger applications with multiple developers working in the same code base, the compile time checking of static languages is a god send. I would at least move over to TypeScript instead of plain JavaScript.

Re: IT Runs on Java 8

#503
post #64

Earlier quoted context omitted.

> The best & brightest in tech are working with the best tools on the biggest problems I don't think that's true—there is a subset of the best and brightest who work on greenfield projects very decoupled from existing customer bases, and they get to blog / present / post a lot about what they're doing. There are quite a few "best and brightest" people who are in large companies or slow-moving industries. They're ofte…

If they're really the best, wouldn't they have their pick of workplaces and optimize for personal enjoyment? Nobody who could chew through research level algorithm problems all day would willingly write Java 8 CRUD apps for Windows Server 2000, because those are the people that have a choice.

> Nobody who could chew through research level algorithm problems all day would willingly write Java 8 CRUD apps for Windows Server 2000

Why do you assume it's impossible to have a fulfilling career writing Java 8 CRUD apps for Windows Server 2000?

Re: IT Runs on Java 8

#504

In the majority of companies it's simply not possible to operate on the bleeding edge the way HN articles would have you believe you should. Besides the obvious issues around the value of rewriting stable legacy systems on new platforms, there are also man power issues. You need tier 1 developers to live on the bleeding edge because any problem that comes up (and they will come up) largely requires you to solve it yo…

Good points here. Which is why HN is oriented toward startups with Tier 1 engineers. PG and his cofounders invented the web app, using a combination of old tech (lisp) and new (the internet). There are plenty of other forums and sites to read about conventional tech. HN is where I find the bleeding edge. 90% of it is just fascinating. But the other 10% offer tantalizing possibilities for making something novel, which…

> Which is why HN is oriented toward startups with Tier 1 engineers.

Or engineers who've convinced themselves that they're Tier 1 engineers...

Re: IT Runs on Java 8

#505

Earlier quoted context omitted.

Yeah, but I think the kind of static typing that was 'shat on' for years is not the same as the one being praised today. The shat on one is the old Java, verbose, obtrusive style. The newly praised one is Haskell-style, type inferred, expressive... Now you could say that's not new, BUT what is new is marrying ML style type system to languages whose other concepts devs are largely familiar with and packaging it the ri…

These are the kind of comments that make HN so special: knowledgeable and insightful, due to deep experience with the past and critical understanding of the present. It isn’t just a rush to what is shiny and new, but is capable of identifying what is novel and valuable, and is articulate enough to explain why. Normally my comment would be an unnecessary back-slapping, but since the conversation veered this way, I thi…

I never realised how highly some people praise hackernews comments lol

Hackernews has an _instagram filter_ where everybody brags about how smart they are.

Then there's a bunch of fresh grads who fanboy their favourite tech companies.

Then every so often you get a gem of a comment from knowledge leader in the industry.

But that's quickly overshadowed by 'my Startup, my Startup, mah Startup' and how everybody wants to be rich one day.

But like every larger community in the internet, it eventually derives itself into an echo chamber.

Re: IT Runs on Java 8

#506
post #490

Earlier quoted context omitted.

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

Unlike the others, I'm going to disagree with what you've said. If you have a mono-repo set up you can develop like it's a monolith but with the added benefit that you don't have deploy the whole macro-service at once. I think people are just spinning up a bunch of unorganized services and calling them micro and then complaining about it. If you're on a small team that can build a clean monolith, the work to make the…

I have never seen a microservices architecture where transactions spanning services were trivial.

Re: IT Runs on Java 8

#507

Earlier quoted context omitted.

A good example of this is static typing - shat on for years by HN, and now, all of a sudden it's the greatest thing since sliced bread!

Yeah, but I think the kind of static typing that was 'shat on' for years is not the same as the one being praised today. The shat on one is the old Java, verbose, obtrusive style. The newly praised one is Haskell-style, type inferred, expressive... Now you could say that's not new, BUT what is new is marrying ML style type system to languages whose other concepts devs are largely familiar with and packaging it the ri…

Agreed. The article that opened my eyes to this shows (IMO) a serious deficiency in C#'s type system compared to F#'s, which includes the concept of tagged-union types. It shows a very simple shopping cart program that can't be modeled cleanly in c# without using the visitor pattern....which is difficult to read IMO.

https://fsharpforfunandprofit.com/csharp/union-types-in-csha...

Re: IT Runs on Java 8

#508

Earlier quoted context omitted.

What are the restrictions on F# that were posed by them? Given that Don Syme was the one who originally designed them, specifically with a mind for cross-language use (which is why they got stuff like variance long before C# supported it), this is a surprising claim. In fact, I recall Don saying something along the lines of, if CLR did generics with erasure like Java, F# probably wouldn't be where it is today. I saw…

> What are the restrictions on F# that were posed by them? It does make it harder to add features to the language that do not map to the current reified "generics" spec, for example higher-kinded polymorphic types. Of course, the JVM has plenty of issues supporting alternative languages too, for example lack of tail-call optimisations, or switch-on-type, for functional languages.

If such features can be implemented via runtime type erasure on JVM, you can still do that on CLR - it's not like it prohibits that technique, it just doesn't use it for generics. You can even have different languages agree on how they would implement it, so that they could fully interop. With modopt/modreq, you can capture it all in metadata, as well.

It wouldn't interop with C# generics (although I don't see why it couldn't interop with C# by other, less convenient means). But if it can't be properly mapped to them when they're reified, why is there an expectation that it should? It seems to me like the gist of the argument here is that we can conflate two features into one, if only we remove all the conflicting bits of one of the features - which also happens to be the one much more broadly used at the moment. It's a strange trade-off.

Re: IT Runs on Java 8

#509

Earlier quoted context omitted.

Spring boot has a large startup time, heavy dependency trail and a lot of dynamic class-loading based off auto-configuration. This makes it un-suitable for some areas: if you desire fast scaling micro-services that respond quickly to incoming load. Or say you want to transform your micro-service to a server-less function. One can do that with Graal VM to compile your micro-service to a single binary with microscopic…

I'm reminded of the crazy stunts from the 1980s where people would start some big, slow program (Emacs was huge!), dump core, and then "undump" to make a pre-initialized binary that would start as fast as the OS could read it. It actually worked, as long as it wasn't relying on open file descriptors, or signal handlers, or env vars, or …

I’m pretty sure Emacs still does this. There was a patch committed to change it to use a more portable method of dumping state, but I don’t think that change made it into the 26.2 release.

Re: IT Runs on Java 8

#510
This is so true that I can relate this myself and my co-workers. We work on javascript side most of the time and daily there will be set of developers talking about new bundlers, react features, hooks etc and they plan to use it in the production. The one thing I see and relate to this article is that, few team have used flow stating its a great tool for static typing in js world and now they are forced to change now to typescript. The same developers who introduced flow into the codebase, now in a position to say flow has huge drawbacks compared to typescript. Now they are moving to typescript, but who knows, typescript can change too. We never know. I always fight against these tech updates, without understanding its cost, but in most cases I fail to.
Post reply on HN