[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-xRICIEhBWFMZ2lD0Gbe_z0af93SDXgOMx8qPU36uuKI":3},{"data":4,"sourceMap":-1},{"info":5,"latest":13,"pinned":426},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"descriptionText":10,"slug":11,"title":12},"2023-05-23T16:43:21Z","wp-tagcat-java","9HpbCsT2tq0xwozQfkc4ih","blogTag",null,{"current":12},"java",[14,89,126,217,263,287,310,347,374],{"_id":15,"author":16,"commentCount":29,"comments":30,"excerpt":31,"featureTag":10,"image":32,"publishedAt":35,"slug":36,"sponsored":10,"tags":38,"title":88},"eed2b46f-34b8-4fcb-b552-2bcc25c1ce44",[17],{"_id":18,"avatar":19,"name":24,"role":25,"slug":26},"dbdef9f7-acce-4431-8f4f-c2025df1c8c8",{"_type":20,"asset":21},"image",{"_ref":22,"_type":23},"image-5f1073fdcf2ebde7fee8570769d9d82d21573870-2316x3088-jpg","reference","Phoebe Sajor","Content Associate",{"_type":27,"current":28},"slug","phoebe-sajor",3,true,"Ryan welcomes Trisha Gee, a Java champion and developer productivity advocate, to explore how AI is transforming the role of IDEs and the broader developer experience; the relevance of traditional tools, muscle memory, the risks of hype; and how to adapt workflows for AI-driven development.",{"_type":20,"asset":33},{"_ref":34,"_type":23},"image-e35a0c5eb319e7928c9ac0a2c2c782d29e644876-3120x1640-png","2026-06-12T07:40:00.000Z",{"_type":27,"current":37},"developers-are-emotionally-attached-to-their-tools",[39,44,48,52,59,67,69,74,79,84],{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":41,"title":43},"wp-tagcat-podcast",{"current":42},"podcast","The Stack Overflow Podcast",{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":46,"title":47},"wp-tagcat-se-tech",{"current":47},"se-tech",{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":50,"title":51},"wp-tagcat-se-stackoverflow",{"current":51},"se-stackoverflow",{"_createdAt":6,"_id":53,"_rev":54,"_type":9,"_updatedAt":55,"slug":56,"title":58},"wp-tagcat-ai","fpDTFQqIDjNJIbHDKPBGpV","2025-01-30T16:19:01Z",{"current":57},"ai","AI",{"_createdAt":60,"_id":61,"_rev":62,"_type":9,"_updatedAt":63,"slug":64,"title":66},"2025-03-13T21:04:14Z","31b00780-2ccb-4728-94b5-5d49523b724c","NFSu21L50a7MuzwvSjbUx8","2025-03-13T21:04:21Z",{"_type":27,"current":65},"agentic-ai","agentic AI",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":68,"title":12},{"current":12},{"_createdAt":6,"_id":70,"_rev":8,"_type":9,"_updatedAt":6,"slug":71,"title":73},"wp-tagcat-dev-tools",{"current":72},"dev-tools","dev tools",{"_createdAt":6,"_id":75,"_rev":8,"_type":9,"_updatedAt":6,"slug":76,"title":78},"wp-tagcat-developer-experience",{"current":77},"developer-experience","developer experience",{"_createdAt":6,"_id":80,"_rev":8,"_type":9,"_updatedAt":6,"slug":81,"title":83},"wp-tagcat-dev-life",{"current":82},"dev-life","dev life",{"_createdAt":6,"_id":85,"_rev":8,"_type":9,"_updatedAt":6,"slug":86,"title":87},"wp-tagcat-ide",{"current":87},"ide","Developers are emotionally attached to their tools",{"_id":90,"author":91,"commentCount":96,"comments":30,"excerpt":97,"featureTag":10,"image":98,"publishedAt":101,"slug":102,"sponsored":10,"tags":104,"title":125},"22621162-d9b4-4c7c-8239-f60dbbff4291",[92],{"_id":18,"avatar":93,"name":24,"role":25,"slug":95},{"_type":20,"asset":94},{"_ref":22,"_type":23},{"_type":27,"current":28},0,"It’s Java’s 30th anniversary! Ryan welcomes back Georges Saab,  Senior VP of Development for the Java Platform Group and Chair of the OpenJDK Governing Board, to reflect on Java’s changes over the last five years.",{"_type":20,"asset":99},{"_ref":100,"_type":23},"image-d2cb4c948681d5ccbb8ff46ed2d69c6f6b6a8990-800x420-jpg","2025-06-17T07:40:00.000Z",{"_type":27,"current":103},"after-30-years-java-is-still-brewing-up-new-features",[105,107,109,114,119,121,123],{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":106,"title":12},{"current":12},{"_createdAt":6,"_id":70,"_rev":8,"_type":9,"_updatedAt":6,"slug":108,"title":73},{"current":72},{"_createdAt":6,"_id":110,"_rev":8,"_type":9,"_updatedAt":6,"slug":111,"title":113},"wp-tagcat-developer-tools",{"current":112},"developer-tools","developer tools",{"_createdAt":6,"_id":115,"_rev":8,"_type":9,"_updatedAt":6,"slug":116,"title":118},"wp-tagcat-ai-coding",{"current":117},"ai-coding","ai coding",{"_createdAt":6,"_id":75,"_rev":8,"_type":9,"_updatedAt":6,"slug":120,"title":78},{"current":77},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":122,"title":43},{"current":42},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":124,"title":51},{"current":51},"After 30 years, Java is still brewing up new features",{"_id":127,"author":128,"commentCount":96,"comments":30,"excerpt":138,"featureTag":10,"image":139,"publishedAt":143,"slug":144,"sponsored":10,"tags":146,"title":216},"410c39a1-9126-4af8-a92e-19131b9c5a0d",[129],{"_id":130,"avatar":131,"name":134,"role":135,"slug":136},"wp-author-295",{"_type":20,"asset":132},{"_ref":133,"_type":23},"image-d670f8093b43e483a52ba692d929578633f70eb5-1024x1024-jpg","Eira May","B2B Editor",{"current":137},"emay","How Diffblue leverages machine learning techniques to write effective unit tests.",{"_type":20,"asset":140,"attribution":142},{"_ref":141,"_type":23},"image-56c6dab9c7d1b66bc662c5f43ea9573418d94d17-2400x1260-webp","Alexandra Francis","2025-02-24T08:40:00.000Z",{"_type":27,"current":145},"writing-tests-with-ai-but-not-llms",[147,149,151,153,158,163,165,170,176,180,185,189,191,195,202,206,210,212,214],{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":148,"title":47},{"current":47},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":150,"title":51},{"current":51},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":152,"title":43},{"current":42},{"_createdAt":6,"_id":154,"_rev":8,"_type":9,"_updatedAt":6,"slug":155,"title":157},"wp-tagcat-software-development",{"current":156},"software-development","software development",{"_createdAt":6,"_id":159,"_rev":8,"_type":9,"_updatedAt":6,"slug":160,"title":162},"wp-tagcat-software-engineering",{"current":161},"software-engineering","software engineering",{"_createdAt":6,"_id":53,"_rev":54,"_type":9,"_updatedAt":55,"slug":164,"title":58},{"current":57},{"_createdAt":6,"_id":166,"_rev":8,"_type":9,"_updatedAt":6,"slug":167,"title":169},"wp-tagcat-generative-ai",{"current":168},"generative-ai","generative AI",{"_createdAt":171,"_id":172,"_rev":8,"_type":9,"_updatedAt":171,"slug":173,"title":175},"2023-06-20T15:05:33Z","wp-tagcat-autonomous-agents",{"current":174},"autonomous-agents","autonomous agents",{"_createdAt":6,"_id":177,"_rev":8,"_type":9,"_updatedAt":6,"slug":178,"title":179},"wp-tagcat-automation",{"current":179},"automation",{"_createdAt":6,"_id":181,"_rev":8,"_type":9,"_updatedAt":6,"slug":182,"title":184},"wp-tagcat-unit-tests",{"current":183},"unit-tests","unit tests",{"_createdAt":6,"_id":186,"_rev":8,"_type":9,"_updatedAt":6,"slug":187,"title":188},"wp-tagcat-testing",{"current":188},"testing",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":190,"title":12},{"current":12},{"_createdAt":6,"_id":192,"_rev":8,"_type":9,"_updatedAt":6,"slug":193,"title":194},"wp-tagcat-refactoring",{"current":194},"refactoring",{"_createdAt":6,"_id":196,"_rev":197,"_type":9,"_updatedAt":198,"slug":199,"title":201},"wp-tagcat-productivity","ZP7627ZkmfDRGke9Ig9IwB","2024-01-23T15:01:58Z",{"current":200},"productivity","Productivity",{"_createdAt":6,"_id":203,"_rev":8,"_type":9,"_updatedAt":6,"slug":204,"title":205},"wp-tagcat-llm",{"current":205},"llm",{"_createdAt":6,"_id":207,"_rev":8,"_type":9,"_updatedAt":6,"slug":208,"title":209},"wp-tagcat-copilot",{"current":209},"copilot",{"_createdAt":6,"_id":115,"_rev":8,"_type":9,"_updatedAt":6,"slug":211,"title":118},{"current":117},{"_createdAt":6,"_id":70,"_rev":8,"_type":9,"_updatedAt":6,"slug":213,"title":73},{"current":72},{"_createdAt":6,"_id":110,"_rev":8,"_type":9,"_updatedAt":6,"slug":215,"title":113},{"current":112},"Writing tests with AI, but not LLMs",{"_id":218,"author":219,"commentCount":96,"comments":30,"excerpt":224,"featureTag":10,"image":225,"publishedAt":227,"slug":228,"sponsored":10,"tags":230,"title":262},"b6515095-fe13-420e-b70c-6581bf8cfb04",[220],{"_id":130,"avatar":221,"name":134,"role":135,"slug":223},{"_type":20,"asset":222},{"_ref":133,"_type":23},{"current":137},"Today’s guest is Jonathan Schneider, co-founder and CEO of Moderne and creator of OpenRewrite, an open-source automated refactoring ecosystem for source code built to help developers eliminate tech debt. He tells Ben and Ryan about the challenges of automatic refactoring, how Java continues to evolve, and what kind of impact tech debt has on software development. Jonathan also describes the transition from open-source project to startup, why clean code is so important, and the role AI plays for developers right now.",{"_type":20,"asset":226,"attribution":142},{"_ref":141,"_type":23},"2024-11-19T08:40:00.000Z",{"_type":27,"current":229},"the-open-source-ecosystem-built-to-reduce-tech-debt",[231,233,235,237,239,241,243,250,255,257],{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":232,"title":47},{"current":47},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":234,"title":51},{"current":51},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":236,"title":43},{"current":42},{"_createdAt":6,"_id":53,"_rev":54,"_type":9,"_updatedAt":55,"slug":238,"title":58},{"current":57},{"_createdAt":6,"_id":192,"_rev":8,"_type":9,"_updatedAt":6,"slug":240,"title":194},{"current":194},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":242,"title":12},{"current":12},{"_createdAt":6,"_id":244,"_rev":245,"_type":9,"_updatedAt":246,"slug":247,"title":249},"wp-tagcat-open-source","usBIUY8SfRoXafnkrDdaLh","2025-02-28T11:18:45Z",{"current":248},"open-source","Open Source",{"_createdAt":6,"_id":251,"_rev":8,"_type":9,"_updatedAt":6,"slug":252,"title":254},"wp-tagcat-tech-debt",{"current":253},"tech-debt","tech debt",{"_createdAt":6,"_id":154,"_rev":8,"_type":9,"_updatedAt":6,"slug":256,"title":157},{"current":156},{"_createdAt":6,"_id":258,"_rev":8,"_type":9,"_updatedAt":6,"slug":259,"title":261},"wp-tagcat-code-quality",{"current":260},"code-quality","code quality","The open-source ecosystem built to reduce tech debt",{"_id":264,"author":265,"commentCount":270,"comments":30,"excerpt":271,"featureTag":10,"image":272,"publishedAt":274,"slug":275,"sponsored":10,"tags":277,"title":286},"513a7c90-60fd-4b6c-86cd-158bdf1f7c57",[266],{"_id":130,"avatar":267,"name":134,"role":135,"slug":269},{"_type":20,"asset":268},{"_ref":133,"_type":23},{"current":137},2,"Ben and Ryan chat with listener, professional pilot, and Java enthusiast Lenny Primak about what he finds exciting about Java in 2024. ",{"_type":20,"asset":273,"attribution":142},{"_ref":141,"_type":23},"2024-07-19T07:40:00.000Z",{"_type":27,"current":276},"java-but-why-the-state-of-java-in-2024",[278,280,282,284],{"_createdAt":6,"_id":45,"_rev":8,"_type":9,"_updatedAt":6,"slug":279,"title":47},{"current":47},{"_createdAt":6,"_id":49,"_rev":8,"_type":9,"_updatedAt":6,"slug":281,"title":51},{"current":51},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":283,"title":43},{"current":42},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":285,"title":12},{"current":12},"Java, but why? The state of Java in 2024",{"_id":288,"author":289,"commentCount":96,"comments":30,"excerpt":294,"featureTag":10,"image":295,"publishedAt":297,"slug":298,"sponsored":10,"tags":300,"title":309},"2faec786-1f71-40e4-a189-292f8330eb3c",[290],{"_id":130,"avatar":291,"name":134,"role":135,"slug":293},{"_type":20,"asset":292},{"_ref":133,"_type":23},{"current":137},"Ben talks with venture capitalist Tomasz Tunguz about his path from Java engineer to Google product manager and finally to author and investor. They cover why lower data storage costs and improved database performance are driving a new wave of innovation, how LLMs learn by doing, and how companies (and investors) should respond to uncertain economic conditions.",{"_type":20,"asset":296,"attribution":142},{"_ref":141,"_type":23},"2023-11-03T07:40:00.000Z",{"_type":27,"current":299},"tomasz-tunguz-from-java-engineer-to-investor-in-eight-unicorns",[301,303,307],{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":302,"title":12},{"current":12},{"_createdAt":6,"_id":304,"_rev":8,"_type":9,"_updatedAt":6,"slug":305,"title":306},"wp-tagcat-startups",{"current":306},"startups",{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":308,"title":43},{"current":42},"Tomasz Tunguz: From Java engineer to investor in eight unicorns",{"_id":311,"author":312,"commentCount":321,"comments":30,"excerpt":322,"featureTag":10,"image":323,"publishedAt":326,"slug":327,"sponsored":10,"tags":329,"title":346},"wp-post-17494",[313],{"_id":314,"avatar":315,"name":318,"role":10,"slug":319},"wp-author-cap-17178",{"_type":20,"asset":316},{"_ref":317,"_type":23},"image-3cf478fecda35dcc16d4a4617d19208ad7e281e0-1108x978-png","Theodoros ‘Theo’ Karasavvas",{"current":320},"theodoros-theo-karasavvas",137,"When it comes to developing low latency software systems, the received wisdom is that you would be crazy to use anything but C++ because anything else has too high a latency. But I’m here to convince you of the opposite, counter-intuitive, almost heretical notion: that when it comes to achieving low latency in software systems, Java is better.",{"_type":20,"asset":324},{"_ref":325,"_type":23},"image-9d8fba38274409e407628a3e9b1c6af29f281db8-1200x630-png","2021-02-22T14:49:27.000Z",{"current":328},"choosing-java-instead-of-c-for-low-latency-systems",[330,335,340,342],{"_createdAt":6,"_id":331,"_rev":8,"_type":9,"_updatedAt":6,"slug":332,"title":334},"wp-tagcat-c",{"current":333},"c","c++",{"_createdAt":6,"_id":336,"_rev":8,"_type":9,"_updatedAt":6,"slug":337,"title":339},"wp-tagcat-code-for-a-living",{"current":338},"code-for-a-living","Code for a Living",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":341,"title":12},{"current":12},{"_createdAt":6,"_id":343,"_rev":8,"_type":9,"_updatedAt":6,"slug":344,"title":345},"wp-tagcat-latency",{"current":345},"latency","Choosing Java instead of C++ for low-latency systems",{"_id":348,"author":349,"commentCount":358,"comments":30,"excerpt":359,"featureTag":10,"image":360,"publishedAt":363,"slug":364,"sponsored":10,"tags":366,"title":373},"wp-post-16389",[350],{"_id":351,"avatar":352,"name":355,"role":10,"slug":356},"wp-author-226",{"_type":20,"asset":353},{"_ref":354,"_type":23},"image-56688f6337dd0a96034dfc998cdecc7810597d81-1024x1024-png","Ryan Donovan",{"current":357},"rdonovan",14," I asked Georges Saab, Vice President of Software Development at Oracle’s Java Platform Group what changes to Java made the most impact and what upcoming features he believes will have a real affect on its future. Here’s some of the features that Saab feels made the language proliferate and a few that will keep it enduring.",{"_type":20,"asset":361},{"_ref":362,"_type":23},"image-cf36de5918d704b163afbfaf9d0cd46bf72adbfe-1912x1424-png","2020-07-30T04:40:00.000Z",{"current":365},"java-at-25-features-that-made-an-impact-and-a-look-to-the-future",[367,369,371],{"_createdAt":6,"_id":336,"_rev":8,"_type":9,"_updatedAt":6,"slug":368,"title":339},{"current":338},{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":370,"title":12},{"current":12},{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":372,"title":43},{"current":42},"Java at 25: Features that made an impact and a look to the future",{"_id":375,"author":376,"commentCount":270,"comments":30,"excerpt":385,"featureTag":10,"image":386,"publishedAt":389,"slug":390,"sponsored":10,"tags":392,"title":425},"wp-post-16203",[377],{"_id":378,"avatar":379,"name":382,"role":10,"slug":383},"wp-author-213",{"_type":20,"asset":380},{"_ref":381,"_type":23},"image-e81c84dcaeb58be1002795a6544b595bd6fc8071-1024x1024-jpg","Ben Popper",{"current":384},"benpopper","To infinity and beyond.",{"_type":20,"asset":387},{"_ref":388,"_type":23},"image-6f6591e18674cee2e570564767f3f8ca14c19158-3000x1575-png","2020-07-03T04:40:00.000Z",{"current":391},"podcast-249-java-goes-to-outer-space",[393,398,402,404,409,413,418,423],{"_createdAt":6,"_id":394,"_rev":8,"_type":9,"_updatedAt":6,"slug":395,"title":397},"wp-tagcat-bulletin",{"current":396},"bulletin","Bulletin",{"_createdAt":6,"_id":399,"_rev":8,"_type":9,"_updatedAt":6,"slug":400,"title":401},"wp-tagcat-dna",{"current":401},"dna",{"_createdAt":6,"_id":7,"_rev":8,"_type":9,"_updatedAt":6,"slug":403,"title":12},{"current":12},{"_createdAt":6,"_id":405,"_rev":8,"_type":9,"_updatedAt":6,"slug":406,"title":408},"wp-tagcat-mars-rover",{"current":407},"mars-rover","mars rover",{"_createdAt":6,"_id":410,"_rev":8,"_type":9,"_updatedAt":6,"slug":411,"title":412},"wp-tagcat-minecraft",{"current":412},"minecraft",{"_createdAt":6,"_id":414,"_rev":8,"_type":9,"_updatedAt":6,"slug":415,"title":417},"wp-tagcat-outer-space",{"current":416},"outer-space","outer space",{"_createdAt":6,"_id":419,"_rev":8,"_type":9,"_updatedAt":6,"slug":420,"title":422},"wp-tagcat-stackoverflow",{"current":421},"stackoverflow","Stackoverflow",{"_createdAt":6,"_id":40,"_rev":8,"_type":9,"_updatedAt":6,"slug":424,"title":43},{"current":42},"Podcast 249: Java goes to outer space",[]]