InfoQ Homepage Programming Content on InfoQ
-
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.
-
Understanding the Varieties of .NET
The goal of this article is not to go too deeply into the technical details of the different .NETs; plenty of technical resources are available, and pointers to some of them are provided. Rather the goal here is to answer a simple question: Which variety of .NET should you use in a given situation?
-
Advanced Architecture for ASP.NET Core Web API
This article looks into how ASP.NET Core makes it easy to build a modern web API. This enables an implementation that is easy to design, test, and maintain. By using the Ports and Adapter Pattern business logic can be decoupled from API frameworks and data access.