This installment of Java.next investigates the Java 8 release as a reasonable candidate for your next programming language. Find out how lambda blocks and the streaming API upgrade Java to a modern language.
The Analytics Warehouse (formerly BLU Acceleration) service provides data warehousing and analytics as a service on IBM Bluemix. Developers can develop and deploy a heavy-duty analytic application using blazing-fast IBM BLU database technology offered in the cloud. Learn how to develop a data mining application using the Weka statistical analysis tool and leveraging the IBM BLU columnar database.
The previous Java.next installment ("Functional coding styles") compared and contrasted functional coding styles in Scala, Groovy, and Clojure. In this article, series author Neal Ford delves more deeply into the filter, map, and reduce functions in the Java.next languages. A series of short coding examples help you to sort out the somewhat confusing differences in how the three languages name these key functional constructs.
Creating images you can deploy through IBM SmartCloud Orchestrator requires knowledge of the operating system, the hypervisor on which the images are going to be deployed, and the corresponding hypervisor manager. Learn how to easily and smoothly prepare a SmartCloud Orchestrator-compatible image for Windows.
In this video demonstration, Jay Allen walks through a five-minute demo to show you what you need to do (and what you don't have to do!) to deploy, run, and delete an application on IBM BlueMix.
Clojure has the most radical approach to concurrency of all the Java.next languages. This installment delves into some of the many facets of concurrency in Clojure, including the epochal time model and software transactional memory.
Java 8 incorporates new language features and added classes that give you easier ways to construct programs, including concurrent programs. Learn about new, powerful parallel-processing support in the language made possible by Java 8 extensions, including CompletableFuture and streams. You'll recognize similarities between these new features and some of the Scala capabilities that you explored in the first article of this series.
Java 8 incorporates important new language features that give you easier ways to construct programs. Lamba expressions define a new syntax for inline code blocks that gives you the same flexibility as anonymous inner classes, with much less boilerplate. Interface changes make it possible to add to existing interfaces without breaking compatibility with existing code. Learn how these changes work together.
Perhaps the starkest difference among the Java.next languages lies in threading, concurrency, and parallelism. This installment shows easy ways to make existing functional code in Scala, Groovy, and Clojure parallel. Then it investigates the actor currency model in Scala.
The Java platform provides excellent support for concurrent programming in all JVM-based languages. Scala extends the concurrency support in the Java language with even more ways to share work among processors and coordinate the results. This first article in a new series on JVM concurrency covers the state of the art in concurrent programming in Java 7 and introduces some of the Scala enhancements. The article also helps prepare the way for understanding concurrency features in Java 8.
BLU Acceleration provides data warehousing and analytics as a service on Codename: BlueMix. Developers can develop and deploy a heavy-duty analytic application using blazing-fast IBM BLU database technology offered in the cloud. Learn how to develop a data mining application using the Weka statistical analysis tool and leveraging the IBM BLU columnar database.
Combine DITADoclet and DITA API specialization to save time and still produce quality API documentation directly from the Java source code.
Learn how to develop and deploy a Java PaaS web app on the cloud.
In this video demonstration, Jay Allen walks through a five-minute demo to show you what you need to do (and what you don't have to do!) to deploy, run, and delete an application on Codename: BlueMix.
Both Scala and Clojure are functional languages, and Groovy includes many functional features through libraries. This Java.next installment explores how memoization is implemented in the Java.next languages and how the combination of functional features leads to concise power.
This article is for architects and developers who are interested in building advanced mobile applications either in general or within the IBM Watson context. It describes the design and implementation of a sophisticated mobile application prototype for oncologists that interfaces with IBM Watson and with a hospital's back-end systems. A member of the IBM team that built the prototype explains how the team used IBM Worklight, with help from Dojo Mobile and Apache Cordova, to address the project's technical challenges.
Java Sockets over RDMA (JSOR) is a new communication library in the IBM Java 7 SDK for Linux platforms. JSOR can improve throughput and reduce latency for client-server applications in cloud environments by exploiting RDMA-capable high-speed network adapters. Learn about the technology underlying JSOR, find out how to use the library, and compare JSOR performance with solutions based on other communication protocols.
IBM Entrepreneur Week is a one-of-a-kind opportunity for you to meet, interact, and connect with entrepreneurs, venture capitalists, industry leaders, and academics from around the world. If you're a startup or entrepreneur, join us onlne for our inaugural IBM Entrepreneur Week, 3-7 Feb 2014. There will be events taking place online and in locations worldwide, including face-to-face and virtual mentoring sessions, a women entrepreneur-focused event, and a LiveStream broadcast of the SmartCamp Global Finals in San Francisco.
Responsive Web Design (RWD) ensures a seamless user experience across multiple device types and form factors. For a truly adaptive and holistic site experience across devices, a responsive portlet user interface is essential. In this article, we discuss some of the more common yet complex portlet UIs and show how to use WebSphere Portal V184.108.40.206 to make them render seamlessly across devices, without having to maintain multiple code bases for each device type.
All of the Java.next languages include functional programming constructs, which enable you to think at a higher level of abstraction. However, differences in terminology among the languages can make it difficult to see similar constructs. This installment shows how common functional programming constructs manifest in the Java.next languages, pointing out some subtle differences in the implementation details of those features.