InfoQ Homepage Legacy Code Content on InfoQ
-
QCon San Francisco 2024 Day 2: Shift-Left, GenAI, Engineering Productivity, Languages/Paradigms
The 18th annual QCon San Francisco conference was held at the Hyatt Regency San Francisco in San Francisco, California. This five-day event, organized by C4Media, consists of three days of presentations and two days of workshops. Day Two, scheduled on November 19th, 2024, included a keynote address by Lizzie Matusov and presentations from four conference tracks.
-
Building a Platform to Gain an Unexpected Competitive Advantage: Ranbir Chawla at QCon London
During his QCon London presentation, Ranbir Chawla presented the journey his team took from moving from an “architectural perfect storm” and a highly manual operational system to a product company with a modern event-based architecture that can be released in < 1 hour. The company now focuses on providing real business outcomes to its stakeholders, and ensuring developers find joy in their work.
-
Amazon Q Code Transformation: Automating Java Application Upgrades
AWS has recently announced the preview of Amazon Q Code Transformation, a service designed to simplify the process of upgrading existing Java application code through generative artificial intelligence. The new feature aims to minimize legacy code and automate common language upgrade tasks required to move off older language versions.
-
Google Expands Duet AI in Google Cloud for App Development, DevOps, and More
At Google Cloud Next, Google has expanded its always-on collaborator Duet AI with new features aimed at helping developers with application development, DevOps, database management and migration, data analysis and visualization, as well as cybersecurity.
-
Learnings from Discussing Developer Enablement at QCon London
Developer enablement can increase the potential of individuals in small and larger companies. Where individuals can have their own solutions, there will be things that are mandatory for all. Metrics can help to see what is being used or not. Be careful about supporting developer enablement for legacy systems; if it’s outdated and needs to be replaced then it might be better to not invest in it.
-
Patterns of Legacy Displacement - Thoughtworks Summarizes IT Landscape Evolution
Martin Fowler recently published a series of articles called Patterns of Legacy Displacement. It summarises the authors’ collective experience in replacing legacy systems. They argue that chances of success are increased by dividing such projects into three phases and following the patterns listed for each one.
-
WebAssembly Used to Extend Life of Flash Legacy Content
Adobe will stop distributing and updating Flash Player after December 31, 2020. The large amount of Flash content accumulated over the years is however not entirely lost. Ruffle, a Flash emulator, and CheerpX, an x86 virtualization technology, both leverage WebAssembly to play .swf files in the browser.
-
After MS-DOS, Microsoft Now Open Sources GW-Basic
Microsoft released on GitHub the original 8088 assembly language sources for its interpreter for GW-BASIC 1.0, a dialect of the BASIC programming language released in 1983 and bundled with MS-DOS operating systems on IBM PC compatibles. After re-open-sourcing MS-DOS, Microsoft proceeds with releasing GW-BASIC under an MIT license due to numerous requests.
-
Decomposing a Monolith Does Not Require Microservices - Sam Newman at QCon London
Sam Newman says the goal of decomposing a monolith must be independent deployability, and developers need to focus on the outcome, not the technology. Speaking at QCon London, he said, "The monolith is not the enemy" and, "Microservices should not be the default choice."
-
WebAssembly Used by Java-to-Web Compiler CheerpJ 2.0 to Port Java Applications to Browsers
LeaningTech recently released the second major iteration of CheerpJ. CheerpJ 2.0 may convert Java applications into a mix of HTML, WebAssembly and JavaScript, so that developers can run Java applications (including applets) in browsers or integrate Java libraries into web applications. CheerpJ 2.0 uses WebAssembly to improve runtime speed.
-
Eric Evans Wants to Improve the Language of DDD
Eric Evans wants architects to actively engage in improving the language used when modeling and designing complex systems. Some of the fundamental terms used in DDD, such as Bounded Contexts, are often misunderstood. Evans wants to see an active community try to address these concerns, with the goal that DDD "should be a real, living body of thought."
-
Creating a Multi-Team Test Automation Solution
A solid test framework with automated tests can increase the confidence to release. Cross-team pairing on the framework made it possible for a team to build quality in from the start; it also brought the teams together and upskilled the testers in test automation.
-
Michael Feathers Wants Error Elimination to Be a Design Driver
Michael Feathers finds errors fascinating, but acknowledges that most developers don't spend a lot of time focusing on them. He also thinks most error handling is kind of giving up. Although best known for his books about working with legacy code, Feathers used his keynote presentation at Explore DDD 2018 to discuss how eliminating errors can be a design driver for software systems.
-
Why Software Developers Should Take Ethics into Consideration
Most of the software that influences the behavior of human beings wasn’t created with strong ethical constructs around it. Software developers should ask themselves ethical questions like “who does this affect?”, “who could get hurt by this?”, and “who does this disadvantage or advantage?”, try to answer them, and be comfortable with questions they can’t answer yet.
-
Bridging the Gap between Legacy Systems and Modern Techniques
Aging platforms that are managed with manual, time consuming processes can be costly. Teams can make a business case to management based on hours lost by repetitive work or re-work caused by human error for introducing modern techniques like automation tools and containers. The result is a predictable and repeatable process with minimal human interaction to deploy more often and more confidently.