Red Hat Enterprise Linux is the world’s leading enterprise Linux platform, now optimized for development.
Develop applications on the most popular Linux for the enterprise—all while using the latest technologies.
Linux® is an open source operating system (OS) and IT infrastructure platform created as a hobby by Linus Torvalds in 1991. In the world of operating systems, Linux has the largest user base, is the most-used OS on publicly available internet servers, and the only OS used on the top 500 fastest supercomputers. Because the source code for Linux is freely available, there are several different distributions, including Red Hat Enterprise Linux (Red Hat's flagship product) and Fedora Linux, a community project founded by Red Hat to develop a desktop version of Linux.
Software developers create apps and services inside Linux containers that let them code once, then run their code virtually anywhere. All containerized apps contain some part of a Linux distribution. You want to make sure that all of the pieces in your container, including the Linux base, are identical between environments so you don’t have to spend your time patching and backporting.
Want to code on Linux, but not familiar with it? Start here.
Linux containers are what enables microservices to be built for cloud-ready applications. Learn how.
Learn about developing microservices the open source way: deployed as containers for your open hybrid cloud.
Part of the beauty of Linux containers is that they are hybrid by design. That means you can code locally, test in the cloud, and deploy anywhere that Linux containers will run. Most Red Hat developer components are available with dockerfiles, or distributed as Linux container images on Red Hat Enterprise Linux (for local dev) and Red Hat OpenShift Container Platform (local, on-line, or public cloud dev). This means that wherever you develop, test, and deploy, you’re using the same development stacks, on-premise to virtual to cloud. To help you get where you’re going faster, the Red Hat container catalog gives you access to certified, trusted and secure application containers.
In previous articles, we covered C# 8 asynchronous streams, C# 8 pattern matching, C# 8 default interface methods, and C# 8 nullable reference types. In this final article, we’ll look at static local functions, indices and ranges, and using declarations. static local functions C# 7 introduced local functions, which are defined and used inside the […]
In the previous article, we discussed C# 8 default interface methods. In this article, we’ll look at C# 8 nullable reference types. Reference types refer to an object that is on the heap. When there is no object to refer to, the value is null. Sometimes null is an acceptable value, but often it is […]
In the previous articles, we discussed C# 8 async streams and pattern matching. In this article, we’ll look at C# 8 default interface methods. Extending interfaces Before C# 8, it was not possible to add members to an interface without breaking the classes that implement the interface. Because interface members were abstract, classes needed to […]
In the previous article, we looked at C# 8 asynchronous streams. Another new C# 8 feature is extended support for pattern matching. In this article, we’ll take a look at what was possible with C# 7 and what was added in C# 8. C# 7 pattern matching Pattern matching is a feature that was introduced […]
Application developers in the Red Hat Partner Connect program can now build their container apps and redistribute them from the full set of Red Hat Enterprise Linux (RHEL) user space packages (non-kernel). This nearly triples the number of packages over UBI only. When we announce expanded partner terms and conditions that grant Red Hat Technology […]
.NET Core 3.1 (December 2019) includes support for C# 8, a new major version of the C# programming language. In this series of articles, we’ll look at the new features in .NET’s main programming language. This first article, in particular, looks at asynchronous streams. This feature makes it easy to create and consume asynchronous enumerables, […]