8 ms·
Yea, they just posted this a few days ago: https://www.anthropic.com/engineering/advanced-tool-use https://www.anthropic.com/engineering/advanced-tool-use The
by ok_dad 11mo ago
Yea, they just posted this a few days ago:
https://www.anthropic.com/engineering/advanced-tool-use https://www.anthropic.com/engineering/advanced-tool-use
They discussed how running generated code is better for context management in many cases. The AI can generate code to retrieve, process, and filter the data it needs rather than doing it in-context, thus reducing context needs. Furthermore, if you can run the code right next to the server where the data is, it's all that much faster.
I see Bun like a Skynet: if it can run anywhere, the AI can run anywhere.
- yellow_lead 11mo agoJava can run anywhere too
- throwawaymaths 11mo agorun code anywhere hamstrung by 90s syntax and hidden code indirections
- groundzeros2015 11mo agoHaven’t checked in on Java in a while?
- ozim 11mo agoFrom what I gather everyone is still stuck on Java 8 so no need to check?
- foo4u 11mo agoThis is absolutely untrue. Code from JDK 8 runs fine on JDK 25 (just released LTS). It is true that if you did something silly that locks you into certain dependency versions, you may be stuck, but this is not the majority of applications.
- vips7L 11mo agoNo, everyone isn’t. You really should check.
- throwaway7783 11mo agoWhere do you gather this from? We are a startup, on Java and on 25.
- pylotlight 11mo agoWhy didn't you choose something more modern/sensible. go/kotlin/anything else on the planet?
- gf000 11mo agoGo is more verbose than Java though, in what way would it be more sensible? Also, Java's ecosystem is unparalleled (top 3 in size, depending on domain it usually has the best packages (e.g. typical backend-related functionality)), has stellar performance, a huge developer base, best-in-class IDE support, even LLMs understand it exceptionally well (given how widely represented it is in the training corpus, plus has a decent type system) if that's your thing. For a typical backend system, you really have to have a good reason to choose something else at this point.
- codr7 11mo agoExcept for Kotlin, which is a much nicer language to deal with.
- throwaway7783 11mo agoLittle nicer for sure
- lenkite 11mo agoA nicer language which is much slower to compile compared to Java.
- codr7 10mo agoIf that's the only price, I'll take it.
- gf000 11mo agoEven stuck on Java 8 it's less verbose than Go, which everyone seems to love. But the majority of projects are on a newer JDK than 8 for quite some years now.
- the_gipsy 11mo agoNot even latest Java is less verbose than Go.
- gf000 11mo agoAre we talking about the language that has a couple extra lines after every statement, disguising as error handling?
- deleted 11mo ago[deleted]
- the_gipsy 11mo agogo's error handling is very poor and too verbose, but go is still way less verbose than Java overall. Like any other language. Java is the running joke of verbosity, and you are too if you seriously argue that it's not.
- gf000 11mo agoFeel free to provide some evidence. Like really, I would be interested in examples e.g. from the Java stdlib that are significantly more verbose than another generic purpose language. But I do know that you are meaning stuff like AbstractFactoryFactory, but you do realize that there is zero need to write anything like that and you can (and people do) write bad code in any language?
- groundzeros2015 11mo agoWhy is the quality of discourse in this thread so low?
- throwawaymaths 11mo agoi haven't. do people still use the "class" keyword?
- buzzerbetrayed 11mo agoIs that the issue people have with Java?
- auxiliarymoose 11mo agoI tried to check in on Java recently but got a NullPointerException when using the AbstractSingletonProxyFactoryBean !
- OrangeMusic 11mo agoI'll never understand people making fun of verbosity. So you really prefer short, ambiguous, opaque and unpronounceable abbreviations? Really?!
- auxiliarymoose 11mo agoFor me at least, I find it easier to see the shape of algorithms, control flow, and expressions when the variable names are concise. But this also might be because I have found Go to fit my use-cases and thinking style well, and Go programs tend to follow this naming convention. For example, if I have a struct `PageEntity` with a field `Id`, and I am iterating over a slice of such IDs, I would prefer using `pid` instead of `pageEntityId` as the variable name. But Java APIs and conventions tend to use these longer names, so I find it takes more thinking to remember the different names instead of quickly seeing the behavior of code at a glance. Java also tends to have a lot of inheritance which results in these long glued-together names and makes it harder to follow program flow because behaviors get introduced in multiple different places (i.e., it has the opposite of locality of behavior). But those are just my opinions and experiences! I know many people love Java, and it is a versatile and powerful language.
- gf000 11mo agoThat's really funny that you complain about complexity and then use Go which is a significantly more verbose language...
- pjmlp 10mo agoThe irony is that the same bunch of folks will complain about array languages.
- gf000 11mo ago
- wiseowise 11mo agoNot in the browser, and no – webassembly doesn't count, otherwise you can say the same about Go and others.
- amingilani 11mo agoWhy doesn’t wasm count?
- programmarchy 11mo agoCompile step makes things more complicated.
- deleted 11mo ago[deleted]
- kevin_thibedeau 11mo agoAs opposed to minimized JS.
- Sammi 11mo agoSame problem, different orders of magnitude.
- mcpeepants 11mo agowhy would the tool minify the script it generated?
- wiseowise 11mo agoYou don’t need to minimize JS to be able to run it.
- creata 11mo agoWasm does count, and you can say the same about Go and others.
- 827a 11mo agoJava is not for sale.
- Zambyte 11mo agoJava can be depended on without buying anything.
- bossyTeacher 11mo agoJava's price is your time which you will need tons of as Java is highly verbose. The ultimate enterprise language
- spruce_tips 11mo agotry java 25, and update your priors :)
- temp2441139 11mo agoNo amount of updates will wash away the stink of Oracle from Java.
- throwaway7783 11mo agoAgain, Temurin/OpenJDK disagree
- belfthrow 11mo agoThis is hn, where unless something is written in rust or zig usually, people will hate on it. They would rather pump a cli tool than any software of sizable scale.
- antonvs 11mo agoI love Rust. I love Haskell even more. I’m a big fan of Scheme. But anyone who “hates” on Java is just revealing a lack of understanding of what’s important in professional software development.
- wrboyce 11mo agoIt’s relevant enough that I feel I can roll out this bash.org classic… <Alanna> Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders EDIT: someone has (much to my joy) made an archive of bash.org so here is a link[1], but I must say I’m quite jealous of today’s potential 1/10,000[2] who will discover bash.org from my comment! [1] https://bash-org-archive.com/?338364 https://bash-org-archive.com/?338364 [2] https://xkcd.com/1053 https://xkcd.com/1053
- yellow_lead 11mo agoThat's hilarious. My comment is mostly a joke, but also trying to say that "runs everywhere" isn't that impressive anymore.
- throwup238 11mo agoYeah everyone proclaims to IANAL nowadays.
- orliesaurus 11mo agowait - how do you search the quotes??
- wrboyce 11mo agoI don’t think there is a search function, I got the exact wording from a web search (I think “bash Java anal”, arguably a dangerous search!) and then after submitting I wondered if there is an archive of the quotes.
- mh- 11mo agohttps://www.google.com/search?q=site%3Abash-org-archive.com+java https://www.google.com/search?q=site%3Abash-org-archive.com+... seems to work. relies on that individual quote being indexed, and google SERPs feeling like returning full results at the moment, of course. when the latter fails, I've found success with site: queries on Bing (of all places.)
- 11mo ago
- mythz 11mo agoAI tools value simplicity, fast bootstrapping and iterations, this rules out the JVM which has the worst build system and package repositories I've ever had the displeasure of needing to use. Check in gradle binaries in 2025? Having to wait days for packages to sync? Windows/Linux gradle wrappers for every project? Broken builds and churn after every major upgrade. It's broken beyond repair. By contrast `bun install` is about as good as it gets.
- speed_spread 11mo agoBy using Gradle you certainly didn't make yourself a favor.
- JavierFlores09 11mo agoI am unsure why people feel the need to say this about Gradle. If you aren't doing anything fancy, the most you will touch is the repositories and dependencies block of your build script, perhaps add publishing or shadow plugins and configure them accordingly but that has never been simpler than it is now. Gradle breaks when you feel the need to unnecessarily update things like the wrapper version or plugins without considering the implications that has. Wrapper is bundled in so you don't have to try and make a build script work with whatever version you might have installed on your system if you have any, toolchain resolution makes it so you don't even need to install an appropriate JDK version as it does that for you. If the build script being a DSL is the issue, they're even experimenting around declarative gradle scripts [0], which is going to be nice for people used to something like maven. 0: https://declarative.gradle.org/ https://declarative.gradle.org/
- DarkNova6 11mo agoAnd yet. None of these issues exist in Maven to begin with.
- gf000 11mo agoAt the same time, only Maven requires doing a clean install from time to time as it fails to properly track what needs updating. Gradle is better from this perspective, and hopefully with its "kotlinization" we will see some stability, which was the biggest issue it had before.
- ok_dad 11mo agoI ain’t hot a horse in this race I just put 2 and 2 together to get 4. I’m sure Java is fine but they didn’t buy Java.
- Schnitz 11mo agoAnywhere where the correct Java version is installed correctly, important caveat
- jimbob45 11mo agoJava’s cardinal sin was not owning the OS like Microsoft’s C# to force end-users to update the framework. Oracle really didn’t understand what they were sitting on with their Ubuntu competitor Solaris.
- sander1095 11mo agoThis has no longer been the case for C# for 10 years since the release of .NET Core and (now) .NET. The runtime is no longer bundled with the OS. This is only true for older .NET Framework applications.
- szundi 11mo ago[dead]
- gf000 11mo agoYou can just supply a minimized runtime for your program, which is the primary way to ship Java programs for quite some time now.
- nullpoint420 11mo ago
- wiz21c 11mo agoJava is owned by Oracle. And you sure don't want to do business with that company. There's a reason why postgresql is slowly eating their cake.
- OrangeMusic 11mo agoThis is FUD. Java has many open source implementations and nobody needs to deal with Oracle.
- jve 11mo agoWell except Google that got sued for US$8.8 Billion because they decided to use specific API signatures but provide their own implementation...?!
- Hedepig 11mo ago... and Oracle lost
- cwillu 11mo agoAnd the lesson is not to trust Oracle.
- OrangeMusic 11mo agoCome on, that's a completely different story, Google made their own independent SDK using but incompatible with Java. Nobody's arguing you should do that. Plus last time I checked Oracle lost that lawsuit.
- deleted 11mo ago[deleted]
- krzyk 11mo agoWhat Google did was similar what Microsoft did back in the days. Marketing something as Java, but wasn't Java.
- VMG 11mo agoand JavaScript even anywherer!
- Sheeny96 11mo agoOn 3 billion devices
- cyanydeez 11mo agoJesus wept, for the nerds joyfully want skyney
- VerifiedReports 11mo agoWhat do you mean by "context" here?
- manbash 11mo agoUnder "Programmatic Tool Calling" > The challenge > Traditional tool calling creates two fundamental problems as workflows become more complex: > Context pollution from intermediate results: When Claude analyzes a 10MB log file for error patterns, the entire file enters its context window, even though Claude only needs a summary of error frequencies. When fetching customer data across multiple tables, every record accumulates in context regardless of relevance. These intermediate results consume massive token budgets and can push important information out of the context window entirely. > Inference overhead and manual synthesis: Each tool call requires a full model inference pass. After receiving results, Claude must "eyeball" the data to extract relevant information, reason about how pieces fit together, and decide what to do next—all through natural language processing. A five tool workflow means five inference passes plus Claude parsing each result, comparing values, and synthesizing conclusions. This is both slow and error-prone. Basically, instead of Claude trying to, e.g., process data by using inference from its own context, it would offload to some program it specifically writes. Up until today we've seen Claude running user-written programs. This new paradigm allows it the freedom to create a program it finds suitable in order to perform the task, and then run it (within confines of a sandbox) and retrieve the result it needs.
- VerifiedReports 11mo agoThanks for the reply.
- ramoz 11mo agoClaude Code moved to partial file reads over the summer. Super premature optimization. It’ll hallucinate what lines it needs to read, it’ll continuously miss critical context in favor of trimming tokens. Luckily we can now hook and force the agent to read full files at least once.
- 11mo ago