InfoQ Homepage Programming Content on InfoQ
-
An Introduction to Kotlin for Serverside Java Developers
Kotlin is one of the newer languages on the JVM from JetBrains, the makers of IntelliJ. It is a statically typed language which aims to provide a blend of OO and FP programming styles. Kotlin compiler creates bytecode compatible with the JVM, allowing it to run on the JVM and interoperate with existing libraries. We present the main features that might appeal to Java developers.
-
Natural Language Processing with Java - Second Edition: Book Review and Interview
Natural Language Processing with Java - Second Edition book covers the Natural Language Processing (NLP) topic and various tools developers can use in their applications. Technologies discussed in the book include Apache OpenNLP and Stanford NLP. InfoQ spoke with co-author Richard Reese about the book and how NLP can be used in enterprise applications.
-
Micronaut Tutorial: How to Build Microservices with This JVM-Based Framework
Micronaut is a modern, JVM-based, full-stack framework for building modular and easily testable microservice applications. In this tutorial you will create three microservices written in Java, Kotlin and Groovy that use the framework.
-
Codefirst: The Future of UI Design
User interface design has played a critical role in computing for decades. Flat and tactile design are current trends in application design. Voice user interfaces are emerging with Alexa, Siri, and Google. Augmented and virtual reality, and IoT lead to significant changes in designs. AI is poised to create significant changes by perfecting user interface designs.
-
Modeling Uncertainty with Reactive DDD
Vaughn Vernon has written several books on DDD and reactive messaging patterns, and has found that the nature of distributed systems means you must deal with uncertainty. How to respond to a missing message, or a message that is received twice, should be a business decision, and therefore must be part of the domain model.
-
Explore the New Java 10 “var” Type: An Introduction and Hands-on Tutorial
Learn about the new Java 10 "var" type, and experiment using JShell with this hands-on tutorial on how to reduce boilerplate code using new type inference for local variables.
-
JShell: A Comprehensive Guide to the Java REPL
JShell provides an interactive shell for quickly prototyping, debugging, and learning Java and Java APIs. In this article, we’ll take a comprehensive look at JShell, understanding all its commands, its uses, and how to use it most effectively.
-
How the TOGAF Standard Serves Enterprise Architecture
Any architect working with large enterprise systems has probably looked for guidance on how to manage the complexity and communicate with various stakeholders. This introductory overview of the TOGAF standard explains the structure of the framework, as well as discusses the benefits of using enterprise architecture to manage complex systems.
-
Async Streams in C# 8
Asynchronous programming is an important technique for many modern apps to improve responsiveness. C# 8 debuts Async Streams, which allows an async method return multiple values. Bassam Alugili provides an informative introduction to this new technique.
-
The State of Java Serialization
Java’s Serialization feature has garnered several years' worth of security exploits and zero day attacks. This article discusses the current state of the technology and what can be done, both now and in the future, to protect against serialization flaws.
-
Q&A on the Book Adaptive Space
The book Adaptive Space by Michael Arena explores what enables organizations to positively disrupt themselves and transform into responsive agile organizations. It describes four sets of connections, and five core principles, that support organizations increasing their agility.
-
A Critique of Resizable Hash Tables: Riak Core & Random Slicing
This fall, Wallaroo Labs will be releasing a large new feature set to our distributed data stream processing framework, Wallaroo. One of the new features requires a size-adjustable, distributed data structure to support growing & shrinking of compute clusters. It might be a good idea to use a distributed hash table to support the new feature, but what distributed hash algorithm should we choose?