Kotlin tutorial: Get started with Kotlin

As I discussed in my article “What is Kotlin? The Java alternative explained,” Kotlin is a general purpose, open source, statically typed “pragmatic” programming language that combines object-oriented and functional programming features. You can use Kotlin to build applications for the Java Virtual Machine (JVM), Android, browsers, and native apps on MacOS, Linux, Windows, iOS, WebAssembly, and Android. Kotlin was created by JetBrains and released to open source under the Apache 2 license.

Why learn Kotlin? The short answer is that Kotlin is a better language for the JVM than Java. Kotlin is less verbose, supports all the features of functional programming, eliminates the danger of null pointer references, streamlines the handling of null values, and maintains 100 percent interoperability with Java and Android. All of that will make you a more productive programmer than you would be writing Java, even if you start by using Kotlin to build new features into an existing Java application.

To read this article in full, please click here

(Insider Story)
Source: New feed

Open source’s existential dilemma: the meaning of ‘free'

Open source has never been more popular, but it’s unclear that this has as much to do with its licensing as with its price tag. Years ago, we were quick to distinguish open source as “free as in freedom, not free as in beer.” Two decades on, developers are demanding the beer but are somewhat nonchalant about the freedom. Just ask GitHub.

To read this article in full, please click here

(Insider Story)
Source: New feed

(Insider Story)
Source: New feed

The Kubernetes ‘fork’: Open source purists miss the point

It was bound to happen. Kubernetes, so often held up as a paragon of community virtue, turned into a petty “more-open-than-thou” battleground between Heptio CEO (and Kubernetes cofounder) Joe Beda and, well, everyone else.

Beda’s argument, strenuously denied by Red Hat employees and supporters, is that Red Hat OpenShift forks Kubernetes and isn’t 100-percent conformant. Beda’s coup de grace, however, is that “many customers” think it matters “a lot” whether OpenShift is a fork or “layers cleanly” on the upstream Kubernetes project.

To read this article in full, please click here

Source: New feed

Oracle plans to dump risky Java serialization

Oracle plans to drop from Java its serialization feature that has been a thorn in the side when it comes to security. Also known as Java object serialization, the feature is used for encoding objects into streams of bytes. Used for lightweight persistence and communication via sockets or Java RMI, serialization also supports the reconstruction of an object graph from a stream. 

Removing serialization is a long-term goal and is part of Project Amber, which is focused on productivity-oriented Java language features, says Mark Reinhold, chief architect of the Java platform group at Oracle.

To read this article in full, please click here

Source: New feed

6 must-have web frameworks for the Google Go language

The Google Go language (aka Golang) has become a strong choice for writing web services and APIs. It compiles to fast-running native code, it has native metaphors for asynchronous programming and other features useful for web services, and it has a broad and expanding audience of users.

To read this article in full, please click here

(Insider Story)
Source: New feed

What is the JVM? Introducing the Java virtual machine

The Java virtual machine is a program whose purpose is to execute other programs. It’s a simple idea that also stands as one of our greatest examples of coding kung fu. The JVM upset the status quo for its time, and continues to support programming innovation today.

Use and definitions for the JVM

The JVM has two primary functions: to allow Java programs to run on any device or operating system (known as the “Write once, run anywhere” principle), and to manage and optimize program memory. When Java was released in 1995, all computer programs were written to a specific operating system, and program memory was managed by the software developer. So the JVM was a revelation.

To read this article in full, please click here

Source: New feed

What is GraphQL? Better APIs by design

When most of us think of web APIs, we think of REST (Representational State Transfer). You send a request to a request-specific URL, and you receive the results as HTML, XML, JSON, plain text, PDF, JPEG… whatever format makes sense for the application. 

Facebook’s web API system, GraphQL, provides a new way to define APIs. Developers use a strongly typed query language to define both the requests and the responses, allowing an application to specify exactly what data it needs from an API. Thus GraphQL is meant to provide a more efficient, structured, and systematic alternative to REST.

Source: New feed

The era of the cloud database has finally begun

Folks, it’s happening. Although enterprises have spent the last few years shifting on-premises workloads to the public cloud, databases have been a sticking point. Sure, Amazon Web Services can point to 64,000 database migrations over the last two years, but that still leaves millions more stuck in corporate datacenters.

To read this article in full, please click here

(Insider Story)
Source: New feed

Java will no longer have ‘major’ releases

Remember when a new number meant a software release was a sighnificant, or major, one? For Java, that pattern is over. Java 9 was the last “major” release, Oracle says.

All versions after that—including the recently released Java 10 and the forthcoming Java 11—are what the industry typically calls “point releases,” because they were usually numbered x.1, x.2, and so on to indicate an intermediate, more “minor” release. (Oracle has called those point releases “feature releases.”)

To read this article in full, please click here

Source: New feed