|
Michaellaneous posted:so its really more for java? alright thar explain it Are they using Micronaut? I haven't delved under the hood too much but it looks near identical to Python/Node in terms of time to get a service off the ground
|
# ? Aug 6, 2020 17:37 |
|
|
# ? Apr 20, 2024 00:46 |
|
raminasi posted:what’s wrong with java Many things, but most of them are just remnants of it being 25 years old. It’s got warts and really C# does most of the things Java does better. On the other hand, many less footguns than C or JS.
|
# ? Aug 6, 2020 17:39 |
|
Twerk from Home posted:Whats your ratio of AWS spending to developer salaries? we actually dont use AWS because of financial data or some poo poo. i have the questionable pleasure of operating a Kaas on our VMWare servers across 3 datacenters. if you want to know the ration of hardware/licensing cost to developer tho, then it doesnt look too good Eldred posted:Are they using Micronaut? I haven't delved under the hood too much but it looks near identical to Python/Node in terms of time to get a service off the ground no they are absolute trash at what they are doing. its all just hacked together and barebones java with technology stack after technology stack thrown on top.
|
# ? Aug 6, 2020 17:41 |
|
mystes posted:The Something Awful Forums > Discussion > Serious Hardware / Software Crap > YOSPOS: just people with different definitions talking at each other without actually communicating
|
# ? Aug 6, 2020 17:41 |
|
the main problem with java is a generation of programmers being taught car extends vehicle, the language is very good and has a manual written by language semantics experts that tell you what the language will do.
|
# ? Aug 6, 2020 18:01 |
|
|
# ? Aug 6, 2020 18:04 |
|
ulmont posted:Many things, but most of them are just remnants of it being 25 years old. It’s got warts and really C# does most of the things Java does better. what’s wrong with java that python or go does better
|
# ? Aug 6, 2020 18:38 |
|
raminasi posted:what’s wrong with java that python or go does better ability to get votes on hn for one
|
# ? Aug 6, 2020 18:49 |
|
Is running java in a container environment still something that sucks? I was on a team doing a big microservices docker mess a few years ago and I remember the lead saying they chose node.js over java because "the JVM is too big and runs slow inside of containers" or something like that. I know I've run elasticsearch inside of containers recently and it fell over a few times but I dont know if it was an issue with the JVM or if it was just elasticsearch.
|
# ? Aug 6, 2020 19:02 |
|
raminasi posted:what’s wrong with java that python or go does better its easier to poo poo something out without tooling/ide in python than java for one most good java developers i know lean on intellij very hard , its really good for putting together a java project and debugging theres just something clunky about java on its own which feels bad to write. verboseness?
|
# ? Aug 6, 2020 19:04 |
|
elcannon posted:Is running java in a container environment still something that sucks? I was on a team doing a big microservices docker mess a few years ago and I remember the lead saying they chose node.js over java because "the JVM is too big and runs slow inside of containers" or something like that. I know I've run elasticsearch inside of containers recently and it fell over a few times but I dont know if it was an issue with the JVM or if it was just elasticsearch. they fixed this in 11, the jvm is now more container aware ah, not 11, 10: https://www.docker.com/blog/improved-docker-container-integration-with-java-10/ Share Bear fucked around with this message at 19:11 on Aug 6, 2020 |
# ? Aug 6, 2020 19:05 |
|
also oracle recently changed the jvm license for anything after 8 so you gotta get an openjdk based jvm if you dont wanna get sued for licensing fees https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244 Share Bear fucked around with this message at 19:13 on Aug 6, 2020 |
# ? Aug 6, 2020 19:06 |
|
Share Bear posted:its easier to poo poo something out without tooling/ide in python than java for one python has the best footgun of all tho: the ability to ruin your os
|
# ? Aug 6, 2020 20:23 |
|
do not touch oracle jre, use openjdk or derivatives the issue with jdk 8 is that it doesn't honor cpu/memory cgroups ("container aware" as share bear said), so for example you could have a machine with 128 gigs of ram where your container has been allocated 2 gigs, and the jdk/gc will behave as if it has 128 gigs instead of 2 gigs. similar effect with cpu but with fewer consequences for getting it wrong. BUT the workaround on jdk 8 is to enable container awareness via the "-XX:+UnlockExperimentalVMOptions" flag. meanwhile on jdk 11 it's enabled by default but outside of that i'm not aware of any particular performance issues of using java in a container, since from the kernel's perspective the container is just a pid that's also had some roadblocks set up for it. but it is theoretically wasteful since you've got a jvm sandbox wrapped in a container sandbox, and each container has some duplicated jvm overhead (but not enough to matter for most people tbh)
|
# ? Aug 6, 2020 20:33 |
|
the only feasible way to consistently distribute python code is via a docker image
|
# ? Aug 6, 2020 20:34 |
|
You really have to go out of your way to deploy Oracle JDK on your servers you know. It's not really something that you can just end up doing by accident. I think they don't even let you download the Oracle JDK any more unless you register an account?
|
# ? Aug 6, 2020 20:37 |
|
speaking of java, i've gotten intellij in some state where the java project view shows all the java files and test files in combined per-package lists rather than under separate directories no idea what i pressed to get it to do that but it's actually pretty convenient now that i've gotten accustomed to it
|
# ? Aug 6, 2020 20:50 |
|
Boiled Water posted:python has the best footgun of all tho: the ability to ruin your os this is true in fedora i am not sure about other oses though everyone's using docker and/or conda images if they're trying to approach anything close to reproducible apps these days i still prefer python but it's because i have a better mental model of it also who cares about what shits out these business case excel files/json :justship:
|
# ? Aug 6, 2020 22:34 |
|
Share Bear posted:this is true in fedora i am not sure about other oses though I love that, as an industry, we decided reproducibility is so hard that we better just schlep around entire filesystems
|
# ? Aug 6, 2020 22:43 |
|
Sapozhnik posted:You really have to go out of your way to deploy Oracle JDK on your servers you know. It's not really something that you can just end up doing by accident. why do you need the jdk on your servers
|
# ? Aug 7, 2020 11:22 |
|
fart simpson posted:why do you need the jdk on your servers it's the same for JRE, you need a license for it too and IIRC it's still called OpenJDK even for the runtime
|
# ? Aug 7, 2020 11:59 |
|
fart simpson posted:why do you need the jdk on your servers they stopped distributing just jres a while back. you’re supposed to bundle a minimal version of the jre with your application. there’s a jpackage tool included now that builds all the way to deb, rpm, msi, or dmg but really, who’s deploying with anything but docker
|
# ? Aug 7, 2020 14:22 |
|
Michaellaneous posted:threads what do you mean threads? reactive web/grpc/whatever has been a thing for ages now.
|
# ? Aug 7, 2020 14:29 |
|
Michaellaneous posted:threads
|
# ? Aug 7, 2020 15:22 |
|
I prefer async/await who needs useful stack traces anyway
|
# ? Aug 7, 2020 15:25 |
|
if only they were available on the jvm somehow
|
# ? Aug 7, 2020 15:55 |
|
love to use kotlin coroutines with the wide array of libraries that support them, such as, uhhhhhhhhhhhhhhhhhhhhhh (i guess there's got to at least be android stuff that uses them right??)
|
# ? Aug 7, 2020 16:13 |
|
abraham linksys posted:love to use kotlin coroutines with the wide array of libraries that support them, such as, uhhhhhhhhhhhhhhhhhhhhhh you can use any reactive stream (reactor, rxjava) or completablefuture in coroutines, and convert both ways. the reactive stuff even propagates the reactor/rxjava context across coroutines.
|
# ? Aug 7, 2020 18:02 |
|
its literally as easy ascode:
|
# ? Aug 7, 2020 18:06 |
|
you can even do it the other way, using the .future() function to create completable futures and .mono {} to create reactor stuff etc. it's exactly how the entire spring ecosystem does all their reactive stuff on both plain java and kotlin, but adding all sorts of kotlin extensions like a reactive DSL for rest endpoints etc
|
# ? Aug 7, 2020 18:08 |
|
they even work using quarkus+graalvm where you can do compile time configuration and bytecode recording (so complex graphs of objects can be created during the compile instead of startup) then compile to native code and not even need the jvm.
|
# ? Aug 7, 2020 18:09 |
|
fart simpson posted:i would simply download the precompiled binary Not really an option for a lot of architectures in a cross-compiled environment. Phobeste posted:why do you need the jdk cross compiled (as opposed to the jre) Whoops! Yeah, the JRE ALSO requires those dependencies! Just look at all those beautiful dependencies. https://gitlab.com/buildroot.org/buildroot/-/blob/master/package/openjdk/openjdk.mk quote:
And yes, OpenJDK also requires OpenJDK to cross-compile. What's also awful is that the need for alsa, cups, and x11 was ADDED for OpenJDK 11. Before 11, they were optional. This means for my testing build, which used RiseV2G, I have to have a post-build script that disables all the cups services. A minimum build with OpenJDK is around 150~MB, a minimum build with Python3 is less than 30. FlapYoJacks fucked around with this message at 18:21 on Aug 7, 2020 |
# ? Aug 7, 2020 18:16 |
|
CRIP EATIN BREAD posted:its literally as easy as hm... appears that i've been owned CRIP EATIN BREAD posted:it's exactly how the entire spring ecosystem does all their reactive stuff on both plain java and kotlin, but adding all sorts of kotlin extensions like a reactive DSL for rest endpoints etc is there a quick docs page you can point me to on what that kotlin reactive DSL looks like? i'm using a small framework called javalin since i got scared away from spring boot by the spring docs (which are extremely the kind of docs that assume you already are familiar with this ecosystem and are just trying to learn some specific new thing in it, instead of having any good overview of "what the gently caress is spring, and spring boot, and webflux, and here's the kotlin extensions for all of these things")
|
# ? Aug 7, 2020 18:17 |
|
you also need gcc to cross compile gcc
|
# ? Aug 7, 2020 18:17 |
|
What happened to the whole plan to modularize the JDK? You can't just build it without x support now or anything?
|
# ? Aug 7, 2020 18:17 |
|
abraham linksys posted:hm... appears that i've been owned https://spring.io/blog/2017/08/01/spring-framework-5-kotlin-apis-the-functional-way this is old but shows you before and after
|
# ? Aug 7, 2020 18:19 |
|
mystes posted:What happened to the whole plan to modularize the JDK? You can't just build it without x support now or anything? You can build it without X support! There's a config option "--enable-headless-only", but X is still required to build the drat thing! Even with the option! lmao.
|
# ? Aug 7, 2020 18:23 |
|
also your response handlers can be suspend functions too, which is just as easy as putting "suspend" in front
|
# ? Aug 7, 2020 18:23 |
|
ratbert90 posted:You can build it without X support! There's a config option "--enable-headless-only", but X is still required to build the drat thing! Even with the option! lmao.
|
# ? Aug 7, 2020 18:26 |
|
|
# ? Apr 20, 2024 00:46 |
|
mystes posted:Huh, that's pretty dumb. Yeah, there's a reason why embedded devices that use Java will use OpenJDK 8 forever. Edit: I just compiled two minimal AARCH64 builds, one with Python 3.8.5, the other with OpenJDK 11.0.8+10 built as just the JRE. Binaries stripped, glibc toolchain, all locales except C and en_US purged: Python3 filesystem size: 28M OpenJDK: 141M OpenJDK is 5x larger. A fat stupid loving resource hog. FlapYoJacks fucked around with this message at 19:44 on Aug 7, 2020 |
# ? Aug 7, 2020 18:42 |