Community
Chat Logs
Friday, March 13, 2026
- * youfoundwaldo joined #java
- * marcel joined #java
- * Betal joined #java
- * ErikT joined #java
- * youfoundwaldo joined #java
- * youfoundwaldo left #java
- * youfoundwaldo joined #java
- * metalmaniac joined #java
- * kcomhnall joined #java
- * pengu1nx3 joined #java
- dreamrealhttps://bytecode.news/posts/2026/03/json-toon-yaml-and-more-considering-data-serialization-formats
- Tenchidreamreal: so did you upgrade to v3 or not ?
- * cptaffe joined #java
- * x1bncwn joined #java
- dreamrealyes
- dreamrealI did not migrate away from JSON anywhere
- dreamrealbut jackson 3 was implemented, everywhere except in one place
- dreamrealbut that's a separate article
- cheeseryaml is the best data transport format.
- DoofusCanadensislook, you
- cheeserif you're looking to fight me, i'll add you to the list. i think i have this right. it's a yaml doc so ...
- cheeserhey, copilot, i'm getting an NPE because in the code you generated, you're not passing a parameter so the default value of null gets used. fix it, please. "oh, i see what's wrong. I need to pass 'context = null' as an argument so the default value of null doesn't get applied to that parameter."
- DoofusCanadensisgeez
- * MonsterAbyss joined #java
- * agnivn joined #java
- * jjj333_p joined #java
- * stewi joined #java
- * deavmi joined #java
- * deavmi joined #java
- * kcomhnall joined #java
- * waz joined #java
- * LtHummus joined #java
- * pengu1nx1 joined #java
- pengu1nx1Memory pooling is used for storing many Objects of the same type with short lifespans, right? I don't quite understand the reasoning, does the garbage collector immediately remove free space? Or why is memory allocation so bad?
- * zorone joined #java
- deebonote sure what you mean with "memory pooling", generic object pooling can be used for situations where the objects are reusable/borrowable and take a "long" time to initialize, like http or database connections
- * dinomug joined #java
- pengu1nx1I meant that, my bad
- deebooutside of the well known uses, probably not worth it, atleast not without validating a bottleneck that could be helped with a pool
- * jreicher joined #java
- * Aedil joined #java
- dmlloydhttps://openjdk.org/jeps/8357464 looks nice
- javabotdmlloyd's title: "JEP draft: Enhanced Local Variable Declarations (Preview)"
- nevetJEP draft: Enhanced Local Variable Declarations (Preview)
- ParaOh I'm loving that.
- * MonsterAbyss joined #java
- deebohmm, is there something blocking typescript type destructuring like {location: {int x, int y}, double radius} = myCircle;, that Circle(Point(...), ...) looks wordy
- ParaThat's more of a TypeScript's quirk though, as its emulating types on top of duck-typed objects.
- * MonsterAbyss joined #java
- ParaIf that lands proper, IDEA's going to have some kind of smart refactoring thing available for picking values anyway so I'm not that worried :)
- deeboyeah then you try to indent it and it swaps half your file with ai slop
- ParaThere probably is one step more in squeezing that, but it would look a bit noisy IMHO. Like, either use vars instead of object names. Java already kinda has parsed meaning for ((()()) so it wouldn't be that easy to handle in backwards compatible manner, but as it's a draft, maybe they'll come up with something extra.
- ParaLike for example if it's a sealed class, the matching is exhaustiva -> allow some shorthand.
- deebogreat feature though, i'll just end up hating the verboseness and lisp level of () in deep nesting
- ParaUse proper lisps and it'll be ridinculously simpler :)
- ParaDestructuring in Clojure is very dense and feature rich.
- Para(that family also includes Fennel and jank)
- * henbruas joined #java
- kcomhnallheh, so that jep preview is something that's clearly already existed in other languages? Rust.. Python.. Typscript as you guys already mentioned and others.
- kcomhnallyeah..."nice"
- kcomhnallor am I missing something?
- * ForeverDreaming joined #java
- * kcomhnall suddenly feels like writing in C#
- dmlloydyeah the language team is very careful about adding stuff
- dmlloydother languages are a bit more aggressive about it
- kcomhnallby the language team I assume you're talking about project amber?
- ParaJava the language, JVM the runtime/platform. They're two very distinct things, but obviously interlinked.
- * MikeBux joined #java
- ParaJVM is bleeding edge, Java is conservative. It has always been like this on purpose.
- dmlloydamber is only one of several projects related to enhancing the language
- kcomhnallbleeding edge? huh.. interesting take on a mature runtime env
- kcomhnallthe maturity is the whole reason I enjoy using Java... hardened and w.o.r.a are important for my projects.
- kcomhnall"JVM"
- MikeBuxi still wan to learn a compiled language like go, rust or c/c++ though,
- * TomyWork joined #java
- dmlloydthat's also a poor distinction, as java is compiled at run time, and can optionally be pre compiled to a native executable by projects such as graalvm
- ParaMaturity and bleeding edge are not exclusive either; that's why e.g. that draft is available through feature flag as preview.
- MikeBuxyes but the usual way is to compile the bytecode at runtime, which means, every time you want to run a program, it needs to be compiled
- kcomhnall~karma Para
- javabotpara has a karma level of 24, kcomhnall
- kcomhnallhmm
- dreamrealjep 8357464
- nevetjep 8357464: draft: Enhanced Local Variable Declarations (Preview) (https://openjdk.org/jeps/8357464)
- * ne555 joined #java
- * stfstfm joined #java
- dreamrealpengu1nx1: that's a very complex subject; java's memory model is largely pluggable and therefore there's not a great answer to it that is actually correct for all cases
- dmlloydthe upside of jit compilation is that you get compiled cods tailored for your cpu's features every time, which isn't always possible or practical with precompilation
- Paralook also: linux kernels
- dreamrealyeah, sometimes there's a question of whether you need it or not: tradeoffs everywhere
- dmlloydcode, not cods ๐
- dreamrealI don't mind go but I've failed to be impressed with it
- Paravibe cod
- dreamrealI do mind rust but OTOH it HAS impressed me
- dreamrealhttps://bytecode.news/posts/2026/03/enhanced-local-variable-declarations-in-java
- * MonsterAbyss joined #java
- * agnivn joined #java
- * odinsbane joined #java
- * simon816 joined #java
- * x1bncwn joined #java
- * odinsbane joined #java
- nimajedmlloyd: well for that you could also change the system to compile to some IR, distribute that and on install optimise it for the target cpu (afaik android does that)
- dreamrealnimaje: it's doable, yes
- * yano joined #java
- dmlloydwell, java bytecode _is_ an IR
- dreamrealI have a project that runs on an embedded device that's, well, Intel, sort of... we COULD theoretically AOT it externally but that's a lot
- dreamreal(It is intel but we don't know the exact cpu profile)
- ParaIA-32
- nimajea jit can additionally optimise on concrete runtime values, especially if it knows that it will be loaded once and then stay the same
- dreamrealyes, we're aware :D
- ParaThat sounds like AI to me!
- dreamrealyou know, as time goes by I hate the "AI" label more and more
- dreamrealI mean, AI is... a whole series of algorithms, an LLM is just one variant and an expensive one
- nimajeabout everything is AI, be more specific
- * acidjnk joined #java
- cheeserdmlloyd: so that JEP is destructuring, basically
- dmlloydyeah basically, at least for the local variable case
- dmlloydit will be very helpful for cases where you have to interrupt/split an otherwise trivial conditional to introduce a local variable
- * CodeGeek!~codegeek@about/java/CodeGeek changed the topic to: Welcome! || Read Channel Rules at https://javachannel.org/ before participating. || Paste limit is two lines; ~pastebin lists options. || No applets, please. || Minecraft, Android, and Javascript all have their own channel. || You are being logged.
- * nevet joined #java
- dreamrealHow expensive is that, though
- dreamreal(interrupting/splitting an otherwise trivial conditional...)
- dmlloydthe only cost would be at compile time; the bytecode is the same
- dmlloydoh, the cost there is reduced readability
- dmlloydin other words, the language enhancement will enable better readability
- dreamreal... will it? I mean, it might - and destructuring CAN be useful in some languages, but the places where it'd really matter would be really limited. Simple expressions might benefit but I really do wonder how many people are desperate for deconstructed declarations like that.
- dreamrealI've been using Java since 1998, and I've yet go to "dang, I sure wish java let me do deconstructed declarations," not that it might be the best thing java's seen since sliced bread or whatever
- * sa02irc joined #java
- * agnivn joined #java
- ChronosWhat's an example of a deconstructed declaration?
- dreamrealPredicate(subject, predicate, value) = p.rdf; // do something with subject
- Chronosdreamreal: Thanks.
- * Chronos is mildly skeptical of the value of that particular syntactic sugar.
- ChronosIt looks like Java 21 has something called "Record Patterns" which has some kind of deconstruction.
- ChronosIf I'm understanding this correctly...
- ChronosFor example: Object obj = new Person("Alice", 30); if (obj instanceof Person(String name, int age)) { ... }
- dreamrealyes
- dreamrealbut that's a different level of deconstruction
- ChronosOh, it looks like JavaScript has had this feature since ES6
- Chronosdreamreal: Ah.
- Bombedreamreal, eh, I feel the same about pattern matching.
- BombeIt always feels like Iโve failed to properly utilize OOP when I suddenly need to know the type of an object.
- ChronosOK, I can see how this syntactic sugar could be nice :)
- cheeseri've wanted destructuring plenty of times in java but kotlin kinda ruined me in that regard.
- cheeserpattern based destructuring will be fine, i guess, but not as convenient as kotlin's syntax.
- * dragonmaster left #java (WeeChat 3.6)
- * jamezp joined #java
- * kcomhnall joined #java
- dreamrealthat's kind of the problem: kotlin has it, other languages have it, does java NEED it?
- dreamrealI mean, it's possible; it might be a simple extension of the switch/case stuff
- sbalmosdepends on whether you see continued viability of the ecosystem as Java-centric, or JVM-centric
- dreamrealThat's a good point - I guess I see it as jvm-centric so it's kinda meh for me to worry about destructured stuff
- * agnivn joined #java
- * waz joined #java
- * sa02irc joined #java
- * Exagone313 joined #java
- * waz joined #java
- * meyou joined #java
- * Aedil joined #java
- * dinomug joined #java
- * CodeGeek!~codegeek@about/java/CodeGeek changed the topic to: Welcome! || Read Channel Rules at https://javachannel.org/ before participating. || Paste limit is two lines; ~pastebin lists options. || No applets, please. || Minecraft, Android, and Javascript all have their own channel. || You are being logged.
- * nevet joined #java
- * mindCrime joined #java
- * kcomhnall joined #java
- * stfstfm_ joined #java
- * kcomhnall joined #java
- * magla joined #java
- * waz joined #java
- * schan99 joined #java
- * Candle joined #java
- * ne555 joined #java
- * ForeverDreaming joined #java
- * graves joined #java
- * stewi joined #java
- * dinomug joined #java
- * jaskarth joined #java
- * MikeBux joined #java
- * mindCrime joined #java
- * polarian joined #java
- * kathadris joined #java
- * kathadris joined #java
- * stfstfm joined #java
- * Ragnor joined #java
- * waz joined #java
- * ferdna joined #java
- * zorone joined #java