Languages and ecosystems

Trend 3: Go and Kotlin become the primary choice for lightweight microservices

Go offers high runtime efficiency with strong memory safety, garbage collection, and structural typing. It is already a top choice for system design and is widely used for microservices. Infosys uses Go for projects with critical memory footprint.

Primarily evolved from Android developers, Kotlin, is gaining attention in the microservices domain due to its conciseness, interoperability, and safe programming features. Banking, telecom, and other sectors adopt these languages as part of their modernization programs to develop large, cloud-native, and scalable microservices.

Typically, Java, .NET, JavaScript, or Python, in combination with frameworks such as SpringBoot, Django, and Nameko, were used to develop microservices. The outcome was bulky applications that consumed significant memory and lacked resilience. With the advent of languages (such as Go) and polyglot VMs (such as GraalVM), application teams now have a choice of languages and access to advanced tools to debug, monitor, profile, and optimize resources consumption. Notably, polyglot VMs support multiple languages and libraries.

For many engineering platforms, Go has become a preferred language with its efficient memory management capabilities. Infosys DevOps platform, rebuilt on Go, can reduce the memory footprint threefold.

Languages and ecosystems

Trend 4: .NET 5 improves developer experience and unifies runtime behavior on multiple platforms

The release of .NET unified ASP.NET, .NET Core, Entity Framework Core, WinForms, Windows Presentation Foundation, Xamarin, and ML.NET and provide a single platform to build cross-platform applications.

The .NET framework was initially designed to build a robust framework for Windows-based desktop, web, and enterprise applications. The addition of .NET Core provided support for non-Windows environments, although it required different libraries to develop other applications for mobile, desktop, and Windows Communication Foundation. The new .NET 5 unified platform aims to provide a rich developer experience with high performance and scalable, consistent runtime behavior on multiple target platforms simultaneously.

.NET 5 takes the best of .NET Core, .NET Framework, Xamarin, and Mono to produce a single .NET runtime and framework that can be used everywhere.