Go on z/OS

Go on z/OS

Go on z/OS

This group is a space for open discussions and sharing technical information, and also provides a connection to the wider Go open source community for anyone who is interested in Go on z/OS

 View Only

Announcing availability of IBM Open Enterprise SDK for Go 1.24

By Chandni Dinani posted Fri March 07, 2025 08:51 AM

  

IBM Open Enterprise SDK for Go is a compiler for the Go programming language that supports the z/OS platform. The capabilities and widespread use of Go can make it a natural addition to z/OS as the IBM Z platform continues to advance and support application modernization. It offers a powerful framework for building fast and scalable applications for z/OS and provides the facility to write applications in support of cloud infrastructures. It can take advantage of the colocation of your data and existing applications on IBM Z to increase throughput and reduce response time.

What's new in Open Enterprise SDK for Go 1.24

Capabilities from IBM

  • Diagnostics
    • z/OS specific instrumentation enhancements for Open Enterprise SDK for Go 1.24 include the ability:
      • to print z/OS specific error information (errno2)
      • to perform tracing of system calls and any other user-driven tracing
      • to store the earlier information (and other key elements) into memory so that it can be included in a z/OS dump for off-line analysis
  • Additional enhancements included in multi-stage build for Go container image
  • Tight integration with COBOL
    • With Open Enterprise SDK for Go 1.24, you can now leverage the ability of Go to directly call 64-bit COBOL, and for COBOL to call back into Go. This is accomplished through simple declarative comments in the Go program, plus the use of utilities the Go on z/OS compiler team has made available.
  • New capabilities with Go RecordIO
    • You can now access virtual data located on the IBM Z mainframe, with ease, using Go RecordIO and IBM Data Virtualization Manager (DVM). With this solution you are enabled to read and write data natively on z/OS. Open Enterprise SDK for Go and DVM enables seamless access to mainframe data without the need to worry about technical details. For more information visit Data Virtualization Manager for z/OS.

Features from the Go Community

  • Changes to the language
    • Go 1.24 from the Go community now fully supports “generic type aliases”. A type alias may be parameterized like a defined type.
  • Changes to the ecosystem
    • Go 1.24 introduces a new weak package allowing for improvement of memory usage. With the concept of weak pointers, you can reference an object that does not allow garbage collection from collecting it. Weak pointers help you implement better caching, better canonicalization, and managing references to large objects.
  • Post-Quantum cryptography
    • Added focus on cryptography with new packages included for crypto/mlkem, crypto/hkdf, crypto/pbkdf2, and crypto/sha3
    • Go users can start exploring this capability within their Go applications. Protect now for the future.
  • Improvements in the runtime
    • New built-in map implementation based on Swiss Tables , more efficient memory allocation of small objects, and a new runtime-internal mutex implementation.
  • Improvements in tools
    • CGO: Two new directives, noescape and nocallback, are introduced to improve the efficiency of calling C code from Go. These directives can help reduce the overhead associated with this process.
    • go.mod: new tool directive to go.mod, allowing users to specify dependencies to build tools without having to resort to the current convention of having an empty tools.go

For more information on the contents of the Go 1.24 open source release from the Go community see:

Go 1.24 Release Notes

Additional blogs and resources:

0 comments
21 views

Permalink