InfoQ Homepage Programming Content on InfoQ
-
Why We Fail to Change: Understanding Practices, Principles, and Values Is a Solution
There’s no reward for being a Scrum or kanban shop if we are not delivering value to customers. We see virtually no impact of agile or lean on the bottom line of success rates of improvement initiatives, because organizations often look for recipes. We need to change our mindset, and focus on the principles that people follow and values they share and the bigger whole: organizational culture.
-
The OpenJDK Revised Java Memory Model
The existing Java Memory Model covers a lot in terms of Java language semantic guarantees. In this article we will delve into a few of those semantics, and attempt to communicate the motivation for an update to the existing Java Memory Model
-
Article Series: Description, Discovery, and Profiles : The Next Level in Web APIs
This series focuses on three key areas of "meta-language" for Web APIs: API Description, API Discovery, and API Profiles. You’ll see articles covering all three of these important trends as well as interviews with some of the key personalities in this fast-moving space.
-
From Doodles to Delivery: An API Design Process
Having a basic understanding of web based applications is a good foundation for designing a working Web API. But, if you want to create a good API you need a lot more than that. Designing a good API is hard work and it’s easy to feel overwhelmed when it’s your job to make one.
-
Description, Discovery, and Profiles: A Primer
While the process of implementing Web APIs has become common, the tooling for describing, discovering, and understanding the meaning of the tens of thousands of API-based services has yet to settle into a widely-accepted set of standards. There is still quite a bit of opportunity when it comes to defining and implementing tools around the "meta-level" of APIs.
-
Q&A on the Book Scenario-Focused Engineering
The book Scenario-Focused Engineering describes a customer-centric lean and agile approach for developing and delivering software-based products. It provides ideas to understand customer needs based upon end-to-end experiences and for designing products in a customer-focused way using a fast feedback cycle.
-
Q&A with Alex Blewitt on Swift Essentials
Less than a year ago, Apple introduced Swift to the developer community. While Objective-C is a very powerful and mature language, Apple obviously wanted to freshen up its development eco-system with a new language borrowing concepts from modern, functional and script-like languages. InfoQ caught up with Alex Blewitt, author of "Swift Essentials", a book on developing iOS apps using Swift.
-
Interview and Book Review: BDD In Action
"BDD In Action" is a book that aims to cover the full spectrum of BDD practices from requirements through to the development of production code backed by executable specifications and automated tests.
-
Deploying Microservices to AWS at Gilt: Introducing ION-Roller
Over a period of seven years, gilt.com has grown from an e-commerce start-up running a monolithic Ruby on Rails application to $1B luxury goods company operating a cloud-based microservice platform utilising Scala, Docker and AWS. This article introduces Gilt's ION-Roller continuous deployment application, and explains the history and motivations that lead to the creation of this tool.
-
Cloud Native Architectures - a Conversation with Matt Stine
Rags Srinivas caught up with Matt Stine at the O'Reilly Architecture conference in Boston, MA. Matt talks about Cloud Native Architectures and some of the cultural and technological challenges. He talks about some of the NetFlix services and how Spring is wrapping it up to be able to architect and develop microservices on the platform. He also talks about SOA and what it probably missed out.
-
Concise Java
Unix pioneer Ken Thompson once said, “one of my most productive days was throwing away 1000 lines of code.” In this article Cas Saternos highlights practices now possible for writing concise Java code, with a special focus on the new functionality available in JDK 8. Shorter, more elegant code is possible due to the inclusion of Lambda Expressions in the language.
-
Functional-Style Callbacks Using Java 8's CompletableFuture
The innovation of parallel streams in Java 8 has diverted attention from a very substantial addition to the concurrency library, the CompletableFuture class. Author Maurice Naftalin eloquently explores CompletableFuture, why it is so useful in programming systems that depend on the interaction of asynchronous tasks, and how it complements fork/join-style parallelism, including parallel streams.