Cleanups and weak pointers in Go 1.24

#​545 — March 12, 2025

Unsub  |  Web Version

Go Weekly

TypeScript's Compiler to Get 10x Faster, Thanks to Go — TypeScript has shaken up the JavaScript ecosystem in recent years with an increasing number of developers relying on its strong typing and added structure. TypeScript’s compiler isn’t particularly fast, though, but the TypeScript team at Microsoft is changing that by porting it to Go!

Anders Hejlsberg (Microsoft)

📺 The Syntax podcast had Anders on for an episode discussing the whole porting process. Lots of details for those who want to go deeper.

Why Reimplement TypeScript's Compiler in Go? — Many people have been asking why Microsoft is porting TypeScript’s compiler to Go rather than, say, Rust or C#. TypeScript’s architect Anders Hejlsberg delivered the definitive comment on the matter: Go fit the technical requirements and proved the best high performance language to which to port JavaScript for a variety of reasons.

Microsoft's TypeScript Repo

🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time — With WorkOS Radar you can detect, verify and block harmful behaviour, protecting your app with advanced device fingerprinting. Stop fake signups, stop free tier abuse, and stop bot attacks and brute force attempts today.

Workos sponsor

New Low-Level Tools for Garbage Collection Efficiency — A look at two new features offered by Go 1.24’s garbage collector: runtime.AddCleanup and weak.Pointer. Cleanups are like finalizers, but get around some of their quirks by not resurrecting objects they’re attached to. Weak pointers, meanwhile, let you reference objects without preventing their garbage collection.

Michael Knyszek

💡 The Go team has updated the Go garbage collector docs with info about the above features.

Different Ways of Working with SQL Databases in Go — Starting with a simple schema presenting a basic blog system, Alex walks through a variety of approaches from working with raw SQL and database/sql to sqlx, using ORMs, and sqlc.

Alex Pliutau

Building a Secure Session Manager — The stateless nature of requests to a webapp demands some sort of session management, most commonly via a cookie containing a unique ID to identify the user. Mohamed looks at a way to keep this whole process secure.

Mohamed Said

💡 Mohamed follows on with Implementing Cross-Site Request Forgery (CSRF) Protection in Go Web Apps.

Using Cursor for Large Projects — If you’ve tried using tools like Cursor to write Go code in larger projects, you’ll have almost certainly run into its limitations. Thierry has some tips for adding a bit of structure to the ghost in the machine.

Thierry S. (Stream)

Sign Up for a Workshop to Get Started Building Go-Powered Decentralized Apps — App builders, Go enthusiasts, tinkerers: come and build on gno․land, a smart contract platform for a freer, fairer world.

gno․land sponsor

📄 Building Cross-Platform SDKs: From FFI to WebAssembly – Another story where Cgo reared its ugly head and forced a different approach. Mark Phelps (Flipt)

📄 The Benefits of Native FIPS Support in Go 1.24 Derek Parker (Red Hat)

🛠 Code & Tools

RobotGo: Native Cross-Platform GUI Automation — A way to control the pointer, keyboard, read the screen, etc. Combine this with an LLM perhaps.. if you dare?

V Caesar et al.

ghw 0.15.0: A Go Hardware Discovery/Inspection Library — Find out things about the memory, CPU, storage, network support, and similar things about the host computer. Focused on Linux and Windows, with partial macOS support.

Jay Pipes

ObjectBox Go 1.9: A Fast, Embedded Database for Go Objects — Store objects in ObjectBox and find them again using powerful queries.

ObjectBox Ltd.

📰 Classifieds

Infrastructure Identity: A New Paradigm for Trustworthy Computing in a Zero Trust World – Download your copy here.

👀 Give your eyes a break! MonoLisa makes coding more comfortable. Try MonoLisa now.

📢  Elsewhere in dev

A quick roundup of some other interesting stories in the broader landscape, in case you've missed them:

Utworzony 5h | 12 mar 2025, 18:20:10


Zaloguj się, aby dodać komentarz