Live data from Hacker News

IT Runs on Java 8

veekaybee.github.io

531–540 of 556 posts

Re: IT Runs on Java 8

#531

Earlier quoted context omitted.

There are few options, but what do you need beside a graph data structure? We had a pipeline consisting of microservices and Kafka topics. Simple if/then logic quickly became problematic so I implemented our flow control as a directed acyclic graph, and it helped tremendously. It's also easy to render your graph out with any number of visualization tools to quickly understand/validate work flows.

> There are few options, but what do you need beside a graph data structure? I don't see how graph data structure solves this problem. Suppose you've created a photo sharing app. One microservice, A, has the graph database and stores the photos. One service, B, uploads and downloads photos. And a third service, C, applies filters to photos. It's pretty easy to architect these services such that the download service B…

Sure, a graph wouldn't help fix that but it would at least illustrate the cyclic relationships and someone is hopefully recognizing the drawbacks inherent.

A tool to "fix" your example probably doesn't exist, but a graph is an excellent way to represent dependencies, reason about progress in the flow, and enforce constraints in a generic way.

Re: IT Runs on Java 8

#532

Earlier quoted context omitted.

Really good points. IMO the web-surfing crowd's taste for news (as opposed to their capability when it comes to work) is deceiving. Their excitement for prospective high-leverage information creates a demand that biases community sites like HN and Reddit toward novelty, and the result is this massive FOMO loop: "Read it, remember to try it, forget to try it, aw damn a new thing already came out and it's better becaus…

themodelplumber says> "And this guy was a _master_ at a certain language starting with the letter P... Prolog? What a shame he couldn't use his best language! It has such nice web frameworks. https://en.wikipedia.org/wiki/List_of_programming_languages#...

I imagine you're joking? More likely Perl, it was a big web language back in the day. Smaller chance that it was Pascal.

Re: IT Runs on Java 8

#533
post #289

Earlier quoted context omitted.

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.

When you're trying to write new code, you run into a problem and look for a library that solves it. But all of the libraries that you find are Windows First, and it is not until after you're committed to them that you sometimes discover how they are Windows Only.

So yes, even in a new project, there will be a pull back to Windows. Because virtually nothing is truly written from scratch.

Re: IT Runs on Java 8

#534

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.

I'm curious about the last part. Are you using Modula 2 or something?

I don't have any public projects to release right now. So, I don't have to worry about getting sued. Modula 2 was nice but you could use any of Wirth's with low risk. Although Lisp's had lots of companies involved, Scheme is probably safe with PreScheme aiming for low-level use. A Racket dialect with C/C++ features like ZL language had could be extremely powerful and safe.

Rust, with Mozilla backing it, is probably not going to get you sued. Nim has potential given their commercial interests are paid development and support so far. As in, less greedy they are the better. Languages with community-focused foundations, such as Python, controlling them are probably pretty safe. Although it was risky, the D language now has a foundation. Although no foundation or legal protections, the Myrddin and Zig languages are being run by folks that look helpful rather than predatory.

So, there's you a few examples you might consider if avoiding dependencies on companies likely to pull shit in the future. Venture-backed, publicly-traded, growth-at-all-costs, and/or profit-maximizing-at-all-costs are examples of what to avoid if wanting to future-proof against evil managers turning it from good dependency into bad one.

Re: IT Runs on Java 8

#535
post #533

Earlier quoted context omitted.

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.

When you're trying to write new code, you run into a problem and look for a library that solves it. But all of the libraries that you find are Windows First, and it is not until after you're committed to them that you sometimes discover how they are Windows Only. So yes, even in a new project, there will be a pull back to Windows. Because virtually nothing is truly written from scratch.

It’s no more of a problem with .Net Core than it is with Python modules that have native dependencies, or Node modules with native dependencies.

You’re not going to mistakenly add a non .Net Core Nuget package to a .Net Core project. It won’t even compile.

Of course you can find Windows only nuget packages for Windows only functionality like TopShelf - a package to make creating a Windows Service easy. But even then, I’ve taken the same solution and deployed it to both a Windows server and an AWS Linux based lambda just by configuring the lambda to use a different entry point (lambda handler) than the Windows server.

You can even cross compile a standalone Windows application on Linux and vice versa.

I use a Linux Docker container to build both packages via AWS CodeBuild.

Would you also criticize Python for not being cross platform because there are some Windows only modules?

https://sourceforge.net/projects/pywin32/

Re: IT Runs on Java 8

#536
post #429

Earlier quoted context omitted.

I don’t even like Java but I can tell you it had nothing to do with Java vs. the new and shiny.

it wasn’t java per say (as i said they had a set of strict rules as to what framework i was allowed to use , aka spring only), but the general culture around it, of « safe and proven, enterprise grade stack ». Had to use ext.js for the web interface for example. Yet, even with this stack, 50% of the spent time was due to internal process. As an example : we called them once to ask for some news, and they told us abou…

I honestly believe given the same set of requirements, constraints, and people skilled with their respective stacks, the language and framework wouldn’t make that much of a difference.

Out of the four modern languages/frameworks that I’m fluent in: C++/TreeFrog (played around with it just because I am a masochist), C#/ASP, Python/Django and JS/Express, I really don’t see any difference in my productivity in any of them.

Re: IT Runs on Java 8

#537

Earlier quoted context omitted.

themodelplumber says> "And this guy was a _master_ at a certain language starting with the letter P... Prolog? What a shame he couldn't use his best language! It has such nice web frameworks. https://en.wikipedia.org/wiki/List_of_programming_languages#...

I imagine you're joking? More likely Perl, it was a big web language back in the day. Smaller chance that it was Pascal.

Actually php is more likely than either of those.

Re: IT Runs on Java 8

#538
post #98

What's funny about this is that Java 8 is no longer supported by Oracle, so unless you are using openjdk or some other equivalent, IT is running on a potentially insecure platform. Not being cutting edge is one thing, but being insecure...

There is no longer free Oracle support for Java 8. But Amazon's James Gosling lead Corretto is reviewing updates, and even backports: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/pa...

That's if you are using Corretto, not Oracle's JDK.

Re: IT Runs on Java 8

#539
post #521

Earlier quoted context omitted.

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…

You are assuming "tier 1 engineers" are also the ones using the bleeding edge technologies. This is not true in my experience. The best developers care a lot about using the best tools available for a particular task - which is very different from using the newest tools avaialbe. In reality it typically takes a long time for a tool to become mature enough for productive use, at which point it is not cutting edge anym…

In case of open source, everyone wants someone to (beta) test their solutions in production. Only after few years of that such testing a tech product becomes usable for the rest of the industry and thats when it becomes profitable.

Im not surprised the leaders of IT, ppl who create those new technologies, push for a narrative to use those new shiny things.

Re: IT Runs on Java 8

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

The main point was that its a lot easier to make those design mistakes whwn using microservices. Like you said there is no tool to easly spot and fix those issues. In case of a monolith there are such tools and often resolve to simply view dependency graph in your IDE.
Post reply on HN