InfoQ Homepage Programming Content on InfoQ
-
The Rewards and Challenges of Predictive Maintenance
Predictive maintenance is not new, but today more than ever, with advancements in industrial Internet of things (IIoT) and artificial intelligence (AI), predictive maintenance can result in significant savings for manufacturers.
-
Q&A on the Book Testing in the Digital Age
The Book Testing in the Digital Age by Tom van de Ven, Rik Marselis, and Humayun Shaukat, explains the impact that developments like robotics, artificial intelligence, internet of things, and big data are having in testing. It explores the challenges and possibilities that the digital age brings us when it comes to testing software systems.
-
Building an API Gateway with the Ballerina Programming Language
An API Gateway is a layer in an architecture pattern that allows the business API to focus on the business functionality while taking care of the request dispatching, policy enforcement, protocol translations and analytics. This article is about how we built an API Gateway in Ballerina for the WSO2 API Manager.
-
Getting to Know Graal, the New Java JIT Compiler
Oracle have released Graal, a new JIT compiler for Java. For Java developers, Graal can be thought of as several separate but connected projects - it is a new JIT compiler for HotSpot, and also a new polyglot virtual machine, GraalVM. The initial release includes support for JVM bytecode and JavaScript with LLVM, Ruby and R in beta.
-
Your Roadmap to an Open Mobile Application Development Strategy
This article explains why, in a fast-changing mobile app environment, organizations should aim for flexibility by using an open development infrastructure for their mobile app development. This infrastructure should support multiple deployment options, decouple the front-end and MBaaS infrastructure, enable task automation by using both cloud services and a low-code development approach.
-
Cats, Qubits, and Teleportation: The Spooky World of Quantum Algorithms (Part 2)
Quantum information theory really took off once people noticed that the computational complexity of quantum systems was actually a computational capacity, which could be applied to other problems, such as factorization, which is used within public key cryptography. This article explores quantum algorithms and their applicability.
-
App Architecture, iOS Application Design Patterns in Swift Review and Author Q&A
App Architecture, iOS Application Design Patterns in Swift by Chris Eidhof, Matt Gallagher, and Florian Kugler presents a number of architectures for iOS Swift applications, from the ubiquitous Model-View-Controller to a few more experimental ones. The book is accompanied by a set of videos that are available as a separate purchase and add a live-coding dimension to the book content.
-
How BuzzFeed Migrated from a Perl Monolith to Go and Python Microservices
Starting in 2016 BuzzFeed began a re-architecture project moving from a single monolithic application written in Perl to a set of microservices. The main reason for the move was that the Perl application was proving hard to scale, essential given that buzzfeed.com alone serves about 7 billion page views/month.
-
Can People Trust the Automated Decisions Made by Algorithms?
The use of automated decision making is increasing. These algorithms can produce results that are incomprehensible, or socially undesirable. How can we determine the safety of algorithms in devices if we cannot understand them? Public fears about the inability to foresee adverse consequences has impeded technologies such as nuclear energy and genetically modified crops.
-
Default Interface Methods in C# 8
Default interface methods are included in a new feature proposal for C# 8, which will allow developers to use the traits programming technique. Based on an existing language feature found in Java, traits are an OOP technology that promotes the reuse of methods between unrelated classes.
-
Refactoring to Eclipse Collections: Making Your Java Streams Leaner, Meaner, and Cleaner
Eclipse Collections is a high performance collections framework for Java, adding rich functionality to the native JDK Collections. In this article, key framework contributors demonstrate techniques for refactoring standard Java code to Eclipse Collections data structures and APIs, and also demonstrate some of the memory savings you can achieve.
-
How Technology Is Impacting the Future of Work through Fragmentation
One of the side effects of technology’s evolution is that it fragments existing architectures and creates new structures in the process. AI and Blockchain are currently doing this, but this pattern has been seen before and will continue as tech evolves. According to Kary Bheemaiah, fragmentation is impacting the future of work; it’s a tech-lead reality to be observed and leveraged when possible.