InfoQ Live Logo

The Software Architects' Newsletter
October 2023
View in browser

Welcome to the InfoQ Software Architects' Newsletter! Each month, we bring you essential news and experience from industry peers on emerging patterns and technologies.

This month, we focus on "state of the art in enterprise programming languages". Technologies, patterns, and practices from this topic span the entire "diffusion of innovation" graph in our 2023 Software Architecture and Design InfoQ Trends Report and editorial coverage graph. We see Java 21 and .NET 8 embraced by innovators within the enterprise. Earlier versions of these platforms and frameworks are widely used, and adoption ranges from early to the late majority. Web Assembly (Wasm) is in the early adoption phase, and functional programming has crossed the chasm to the early majority.

Key challenges remain in this space, including when and how to adopt additional languages, such as Go, Kotlin, TypeScript, and more. Enterprises adopting microservices have often added multiple new languages into their tech stacks. As platforms and developer toolchains evolve, they require constant attention and evaluation.

News

Java 21, the Next LTS Release, Delivers Virtual Threads, Record Patterns, and Pattern Matching

Oracle has released version 21 of the Java programming language and virtual machine. As the first release offering long-term support (LTS) since JDK 17 in 2021, there are 15 JEPs in this final feature, including Virtual Threads, Record Patterns, and Pattern Matching for switch.

For readers interested in the Java ecosystem, Mike Redlich and the InfoQ Java team publish a weekly overview of key news from this space on InfoQ.

Visual Studio Code: C# Dev Kit Now Generally Available

Microsoft recently made the C# Dev Kit generally available for everyone. Microsoft introduced the extension in June for Visual Studio Code, aiming to make coding in C# easier on multiple platforms. As reported, it improves editor-first C# development experience for Linux, macOS, and Windows. The kit and the C# extension use open-source technology to provide a flexible and efficient coding environment for .NET developers.

Swift 5.9 Brings a Macro System and C++ Interoperability

In addition to an expressive macro system and a limited form of C++ interoperability, Swift 5.9, now officially available, also introduces parameter packs, ownership-based memory management, and more.

InfoQ already covered Swift’s macro system when it was first announced at the last WWDC developer conference. In short, macros are Swift functions that use the SwiftSyntax library to generate code to replace the macro call.

Keeping Go "Boring" in Go 1.21: How Google Grants Backward Compatibility

In a recent article, Google engineer Russ Cox detailed what Google does to ensure each new Go release honors Go's backward-compatibility guarantee. This includes generalizing GODEBUG in Go 1.21 to cover even subtle incompatibility cases.

Introduced in Go 1, Go's backward-compatibility guarantee ensures all correct Go programs will continue to work with future language releases. As Cox explains, this goal entails two major efforts: checking that each API change does not break anything and extensive testing to catch subtler incompatibility cases.

RustRover is a New Standalone IDE for Rust from JetBrains

JetBrains has announced its new standalone Rust IDE, RustRover, which is now accessible under an early access program and will bring Rust support on a par with other languages supported by JetBrains IDEs, says the company.

Sponsored

Build Intelligent Apps with Azure Kubernetes Service - Sponsored by Microsoft

Join us this fall to learn how to use Azure Kubernetes Service (AKS) to start developing and deploying cloud-native apps in Azure, data centers, or at the edge. Over the course of four, expert-led modules, you’ll learn how to effectively deploy an intelligent microservice-based application into AKS and integrate it with Azure OpenAI. You’ll also learn how to secure access to Azure OpenAI Services with AKS Workload Identity, design your applications for scale, resiliency, and observability, and more.

Start building intelligent apps today on Azure, sponsored by Microsoft

Case Study

PHP 8.x: Exploring Improvements in the Type System, Functions, Attributes, and More

PHP continues to be one of the most widely used scripting languages on the web, with 77.3% of all the websites whose server-side programming language is known using it, according to w3tech. PHP 8 brings many new features and improvements, which we shall explore in this article series.

PHP 8 is a major update to PHP that introduces new features and improvements in all language areas, such as expressions, classes, functions, operators, and more.

New expression-related syntax includes attributes, "match" expression, the "instanceof" operator, and the "new" operator.

Speaking of new features related to classes, PHP 8 brings:

  • Enums, a layer over classes to specify an enumerated list of possible values for a type
  • The new "readonly" modifier for a class property, which makes the property unmodifiable after its initialization
  • Constructor parameter promotion, which is useful to assign a constructor parameter value to an object property automatically
  • PHP 8.0 also adds support for several functions- and methods-related features, including enhanced callables, named function arguments, and Fibers, interruptible functions, adding support for multitasking.

Improvements to the PHP type system include union, intersection, and mixed types, as well as the "static" and "never" return types. Additionally, PHP 8 also brings support for "true", "null", and "false" stand-alone types.

Articles in this series include:

This content is an excerpt from a recent InfoQ article by Deepak Vohra, "Article Series: PHP 8.x".

To get notifications when InfoQ publishes content on these topics, follow "Programming Languages", "Development", and "Asynchronous Programming" on InfoQ.

Missed a newsletter? You can find all of the previous issues on InfoQ.

Sponsored

Federated GraphQL APIs - Sponsored by Apollo GraphQL

In the past twenty years, advances in distributed systems and service-oriented architecture patterns have led to an explosion of APIs. While services teams now move quickly and autonomously, their rapid production only adds to an ever-expanding sprawl of REST APIs that consuming clients must integrate and orchestrate, slowing delivery and entangling teams. This white paper outlines how technology leaders are delivering on their roadmap faster with federated GraphQL APIs that unblock their engineering teams.

Learn more in “Federated GraphQL APIs: A Faster Way to Deliver Value”, sponsored by Apollo GraphQL

Upcoming Events

QCon: For practitioners, by practitioners

Discover what's next in GenAI and Large Language Models (LLMs) at QCon London 2024 (8-10 April)

Join Hien Luu, Sr. Engineering Manager at DoorDash and author of Beginning Apache Spark 3, and a series of AI expert practitioners to explore the latest developments in LLM research and development. Learn about the different types of LLMs, their capabilities, and their limitations. Uncover the potential of LLMs to impact the future of work, education, healthcare, and many other domains. Explore this track.

Discover all 15 tracks at QCon London 2024.

About InfoQ

Senior software developers rely on the InfoQ community to keep ahead of the adoption curve. One of the main reasons software architects and engineers tell us they keep coming back to InfoQ is because they trust the information provided and selected by their peers.

We’ve been helping software development teams adopt new technologies and practices for over 15 years through InfoQ articles, news items, podcasts, tech talks, trends reports, and QCon software development conferences.

We hope you find this newsletter useful. If not, you can unsubscribe using the link below.

Unsubscribe

Forwarded email? Subscribe and get your own copy.

Subscribe

Follow InfoQ on:

You have received this email because you subscribed to "The Architects' Newsletter". To stop receiving the Architects' Newsletter, please click the following link: Unsubscribe

- - -

C4Media Inc. (InfoQ.com), 705-2267 Lake Shore Blvd. West,
Toronto, Ontario, Canada, M8V 3X2