Earlier quoted context omitted.
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 ( ? )…
I like java. Java 8 streams are particularly interesting. Its fast too. I took a hadoop class (which taught java 8 and ironically discouraged hadoop use excepting exceptional cases..). The hardest part that everyone struggled with was getting a Java environment up and running. Gradle, maven, ant... You almost need and IDE. Its almost like they don't want people using it. I stopped when I didn't have too. Plus the acr…
IT Runs on Java 8
481–490 of 556 posts
Re: IT Runs on Java 8
#482Earlier quoted context omitted.
It’s funny, I feel the same way about web development right now.
Except web development is almost all bootstrapped from a simple npm library these days. You generally npm install and you've got all your dependencies whether it's Angular, Vue, React or pretty much any modern web frameworks. The time for a new developer to get the tooling out of the way and start looking at code is dramatically shorter for web apps than Java in my experience.
Re: IT Runs on Java 8
#483Earlier 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…
> microservices definitely make a host of issues harder ... I agree with all the issues you've stated, but I'd like to add one more. Microservices arguably make it much easier to build systems with circulate dependencies leading to weird race conditions and deadlocks. Consider two units of code A and B. If implemented as classes, modules, or libraries, it's relatively easy to spot and prevent A calling into B which i…
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.
Re: IT Runs on Java 8
#484Earlier quoted context omitted.
I think that the approach done in https://wiki.openjdk.java.net/display/loom/Main is better than the async/await infrastructure.
Well, other than the fact that it only supports Linux and MacOS.
As someone who runs Windows and Linux about equally, in differing proportions over time, I do find it disappointing that some (b)leading edge JVM and Java features don't support Windows yet.
Re: IT Runs on Java 8
#485I have seen some Excel files from end users which grows into a whole application. The users wanted more functionalty and didn't get through all the management levels to reach someone from corporate IT and just start doing it by themselve with the tools they know and develop from Excel to Macros to VBA to VBA with SQL Database (because they have a standard process in the company to request a new SQL Database and the d…
I say this not to disparage those apps (though they were often horrifying to us as devs) but to point out that huge portions of your average large business probably run on stuff like that.
Re: IT Runs on Java 8
#486Earlier 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…
Hacker News ranks at #959 in the US. It didn’t get that rank from just being geared toward startups with Tier 1 engineers. Look on the front page right now and see how many stories are about startups. That didn’t change in the last five years. It’s always been about technology in general. HN’s front page 10 years ago: https://news.ycombinator.com/front?day=2009-05-10 HN’s front page 5 years ago https://news.ycombinat…
Having said that, the most apparent change to me is in the tone and substance of the comments rather than the front page. And it isn’t a huge change. Just noticeable for me.
Re: IT Runs on Java 8
#487In 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…
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…
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#...
Re: IT Runs on Java 8
#488Earlier 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…
Normally my comment would be an unnecessary back-slapping, but since the conversation veered this way, I think it is appropriate to call out your comment as something that represents the spirit that makes HN unique and wonderful.
Re: IT Runs on Java 8
#489Earlier quoted context omitted.
Very neat. So it preserves the virtues of .Net's task-based concurrency, but is even less intrusive regarding the necessary code-changes to existing synchronous code. Does it impact things from the perspective of the JNI programmer? > OpenJDK is the name of the Java implementation developed by Oracle (Oracle JDK is a build of OpenJDK under a commercial license). Ah, of course. I'd missed that. > there are non-Oracle-…
> but is even less intrusive regarding the necessary code-changes to existing synchronous code. Yes. All existing blocking IO code will become automatically fiber-blocking rather than kernel-thread-blocking, except where there are OS issues (file IO; Go has the same problem). Fibers and threads may end up using the same API, as they're just two implementations of the same abstraction. > Does it impact things from the…
Doesn't this boil down to the native function blocking the thread?
How about the C API/ABI of JNI? Will there be additions there for better supporting concurrency (i.e. not simply blocking)? Or can that be handled today, with something akin to callbacks?
Re: IT Runs on Java 8
#490Earlier quoted context omitted.
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…
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 them microservices is imo pretty trivial.