# Languages

Published articles for Languages.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## i18nize-templates: Internationalization After the Fact

DevFeed: [i18nize-templates: Internationalization After the Fact](<https://devfeed.tech/articles/i18nize-templates-internationalization-after-the-fact-27382.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/i18nize-templates.htm>)

Author: Khan Academy

Published: 2015-09-28T22:00:00Z

Content type: release

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Python](<https://devfeed.tech/topics/python.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Babel](<https://devfeed.tech/topics/babel.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [html](<https://devfeed.tech/tags/html.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [language](<https://devfeed.tech/tags/language.md>), [languages](<https://devfeed.tech/tags/languages.md>), [library](<https://devfeed.tech/tags/library.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

Khan Academy describes retrofitting its English-only codebase for internationalization and localization across several HTML-rendering technologies. It introduces i18nize-templates, an open-source Python module that finds natural-language text in HTML and templates and marks it as i18n-aware. The tool supports raw HTML, jinja2, and Handlebars templates and reportedly reduces template annotation time by over 90%.

### Source excerpt

By Craig Silverstein Khan Academy started as a collection of videos, but now has over 100,000 pieces of ... Read more

## Automating Highly Similar Translations

DevFeed: [Automating Highly Similar Translations](<https://devfeed.tech/articles/automating-highly-similar-translations-27416.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/translation_assistant.htm>)

Author: Khan Academy

Published: 2016-02-15T23:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [ui](<https://devfeed.tech/topics/ui.md>), [Template](<https://devfeed.tech/topics/template.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [languages](<https://devfeed.tech/tags/languages.md>), [news](<https://devfeed.tech/tags/news.md>), [templates](<https://devfeed.tech/tags/templates.md>), [tool](<https://devfeed.tech/tags/tool.md>), [translation](<https://devfeed.tech/tags/translation.md>), [ui](<https://devfeed.tech/tags/ui.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

Khan Academy describes a redesigned translator dashboard and a translation tool with smart translations. The system groups highly similar English strings, reuses existing translations through templates, and updates the UI to show which strings can be translated automatically.

### Source excerpt

By Kevin Barabash Khan Academy is available in 12 languages and is in the process of being translated ... Read more

## Creator of Scala: Comparing Languages And How AI Will Impact Them | Martin Odersky

DevFeed: [Creator of Scala: Comparing Languages And How AI Will Impact Them | Martin Odersky](<https://devfeed.tech/articles/creator-of-scala-comparing-languages-and-how-ai-will-impact-them-martin-odersky-18089.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/creator-of-scala-comparing-languages>)

Author: Ryan Peterman

Published: 2026-08-31T13:05:35Z

Content type: opinion

Language: en

Sources: [The Developing Dev](<https://devfeed.tech/sources/the-developing-dev.md>)

Topics: [Scala](<https://devfeed.tech/topics/scala.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [languages](<https://devfeed.tech/tags/languages.md>), [llms](<https://devfeed.tech/tags/llms.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

An interview with Martin Odersky, creator of Scala, compares Rust, Zig, Python, and Scala and discusses how AI may affect programming-language ecosystems. Odersky also explains functional programming as a style based on values and functions, with minimal mutable state and side effects.

### Source excerpt

There are so many choices every programming language creator makes while navigating engineering tradeoffs in building one.

## Rust Function Overloading - Call for Experimentation

DevFeed: [Rust Function Overloading - Call for Experimentation](<https://devfeed.tech/articles/rust-function-overloading-call-for-experimentation-15104.md>)

Original publisher: [Read original article](<https://blog.rust-lang.org/inside-rust/2026/08/19/overloading-experiment/>)

Author: teor

Published: 2026-08-19T00:00:00Z

Content type: release

Language: en

Sources: [Inside Rust Blog](<https://devfeed.tech/sources/inside-rust-blog.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [languages](<https://devfeed.tech/tags/languages.md>), [rust](<https://devfeed.tech/tags/rust.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

The Rust Project is experimenting with function and method overloading for FFI bindings through the incomplete nightly "splat" compiler feature. The experiment aims to assess implementation complexity and improve interoperability with C++, while its design may change or be removed.

### Source excerpt

In partnership with the Rust Foundation's Rust-C++ Interop Initiative, the Rust Project has been experimenting with function overloading for FFI bindings. This experiment is now at a stage where compiler and interop tool developers can start exploring function overloading. Stable Rust already supports a form of overloading using tuples and traits, but calling these overloaded functions looks strange, because the overloaded arguments have to be passed as a single tuple argument, like this: hypot((2.0, 3.0, 6.0)). Stable Rust also allows overloading of built-in operators with user-defined types, via traits like Add (the + operator) and Neg (the - value negation operator). We are running an unstable nightly Rust language experiment to answer questions like: How much overloading can we do with Rust's existing trait system? Could this help us call C++ from Rust ergonomically? In the tradition of yeet (to avoid bikeshedding), we are using basic syntax in the first stage of the experiment: the #[rustc_splat] attribute. Alternative syntaxes can be considered later, if the experiment generates useful outcomes. Experimental Function Overloading Rust nightly builds from 2026-07-31 onwards have experimental support for more ergonomic function and method overloading, using the incomplete "splat" compiler feature; if you're a compiler or interop tool developer, we encourage you to experiment with it! This experiment lets overloaded functions be called with separate arguments, like this: hypot(2.0, 3.0, 6.0). No double parentheses required! But type inference and type checking still happen as they would in a stable Rust overload. We are experimenting with splat to get a feel for the complexity of the implementation, and to see if it solves some language interoperability use cases. Like most Rust language experiments, this nightly feature has no RFC, and can change or be removed at any time. Experiment Design We expect the feature to change significantly in future, or to be replace

## On programming languages, targets, and platforms

DevFeed: [On programming languages, targets, and platforms](<https://devfeed.tech/articles/on-programming-languages-targets-and-platforms-18923.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/programming-languages-targets-platforms/>)

Author: Nicolas Fränkel

Published: 2026-06-21T00:00:00Z

Content type: opinion

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [java](<https://devfeed.tech/tags/java.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [languages](<https://devfeed.tech/tags/languages.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

A personal discussion of how programming languages have evolved from targeting a single compilation target and platform toward supporting multiple targets. It uses Scala.js as an example and mentions Kotlin and Clojure as other JVM-originated languages targeting JavaScript.

### Source excerpt

I started as a Java developer, but for some time now, I have broadened my horizons. Recently, I thought about how early languages were dedicated to a single target and platform, and now they are broadening their focus. In this post, I want to write down my thoughts in the hope that it may be useful to others, probably to my future self. Definitions You may have been wondering about the title terms.

## Simon Peyton Jones on Haskell and Why Functional Programming Matters

DevFeed: [Simon Peyton Jones on Haskell and Why Functional Programming Matters](<https://devfeed.tech/articles/co-creator-of-haskell-functional-programming-thinking-in-types-useless-languages-simon-jones-18084.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/co-creator-of-haskell-functional>)

Author: Ryan Peterman

Published: 2026-06-08T10:02:31Z

Content type: article

Language: en

Sources: [The Developing Dev](<https://devfeed.tech/sources/the-developing-dev.md>)

Topics: [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Declarative programming](<https://devfeed.tech/topics/declarative-programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>)

Tags: [declarative](<https://devfeed.tech/tags/declarative.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [languages](<https://devfeed.tech/tags/languages.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

An interview with Simon Peyton Jones, co-creator of Haskell, about functional programming, its emphasis on values rather than mutation, and how it differs from imperative programming.

### Source excerpt

Simon Peyton Jones is the co-creator of Haskell (pure functional programming language) and I interviewed him about functional programming, why it matters, and his thoughts on other programming languages.

## A brief history of C/C++ programming languages

DevFeed: [A brief history of C/C++ programming languages](<https://devfeed.tech/articles/a-brief-history-of-c-c-programming-languages-29400.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/04/09/a-brief-history-of-c-c-programming-languages/>)

Author: Daniel Lemire

Published: 2026-04-09T14:58:53Z

Content type: opinion

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Java](<https://devfeed.tech/topics/java.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Fortran](<https://devfeed.tech/topics/fortran.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [c-c-plus-plus](<https://devfeed.tech/tags/c-c-plus-plus.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [go](<https://devfeed.tech/tags/go.md>), [history](<https://devfeed.tech/tags/history.md>), [languages](<https://devfeed.tech/tags/languages.md>), [memory](<https://devfeed.tech/tags/memory.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>)

### AI overview

This article presents a brief history of C and C++, explaining how C emerged for low-level systems programming and how C++ added object-oriented, generic, and compile-time metaprogramming features. It then contrasts their portability challenges with Java and discusses JavaScript, Python, C#, and Go. The supplied text ends mid-sentence.

### Source excerpt

Initially, we had languages like Fortran (1957), Pascal (1970), and C (1972). Fortran was designed for number crunching and scientific computing. Pascal was restrictive with respect to low-level access (it was deliberately "safe", as meant for teaching structured programming). So C won out as a language that allowed low-level/unsafe programming (pointer arithmetic, direct memory access) ... Continue reading A brief history of C/C++ programming languages

## Heroku Support for .NET 10 LTS: What Developers Need to Know

DevFeed: [Heroku Support for .NET 10 LTS: What Developers Need to Know](<https://devfeed.tech/articles/heroku-support-for-net-10-lts-what-developers-need-to-know-26498.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/support-for-dotnet-10-lts-what-developers-need-know/>)

Author: Rune Soerensen

Published: 2025-11-11T08:00:23Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [.NET](<https://devfeed.tech/topics/net.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [migration](<https://devfeed.tech/topics/migration.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developers](<https://devfeed.tech/tags/developers.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [languages](<https://devfeed.tech/tags/languages.md>), [lts](<https://devfeed.tech/tags/lts.md>), [migration](<https://devfeed.tech/tags/migration.md>), [net](<https://devfeed.tech/tags/net.md>), [nextgen](<https://devfeed.tech/tags/nextgen.md>), [product-features](<https://devfeed.tech/tags/product-features.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Heroku now supports building and running .NET 10 applications, including ASP.NET Core 10, with buildpack support for features such as file-based apps and solution files. .NET 10 is the new three-year Long Term Support release, while .NET 8 and .NET 9 are scheduled to reach end of support on November 10, 2026.

### Source excerpt

It's that time of year for .NET when we get a new major version and a bunch of exciting features. .NET Conf 2025 kicked off earlier today, bringing with it the release of .NET 10, as well as ASP.NET Core 10, C# 14, and F# 10. Congrats (and a big thank you) to the .NET [...] The post Heroku Support for .NET 10 LTS: What Developers Need to Know appeared first on Heroku.

## ScreenshotWhale Generates App Store Screenshots with a Layer-Based Editor and Automatic Localization

DevFeed: [ScreenshotWhale Generates App Store Screenshots with a Layer-Based Editor and Automatic Localization](<https://devfeed.tech/articles/coded-a-little-sass-to-help-me-generate-store-app-screenshots-quick-37911.md>)

Original publisher: [Read original article](<https://newsletter.jorgecastillo.dev/p/coded-a-little-sass-to-help-me-generate>)

Author: Jorge Castillo

Published: 2025-09-16T16:36:22Z

Content type: article

Language: en

Sources: [Effective Android](<https://devfeed.tech/sources/effective-android.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Vibe coding](<https://devfeed.tech/topics/vibe-coding.md>), [Figma](<https://devfeed.tech/topics/figma.md>), [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [app-store](<https://devfeed.tech/tags/app-store.md>), [building](<https://devfeed.tech/tags/building.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [editor](<https://devfeed.tech/tags/editor.md>), [export](<https://devfeed.tech/tags/export.md>), [figma](<https://devfeed.tech/tags/figma.md>), [i18n](<https://devfeed.tech/tags/i18n.md>), [ios](<https://devfeed.tech/tags/ios.md>), [languages](<https://devfeed.tech/tags/languages.md>), [phones](<https://devfeed.tech/tags/phones.md>), [templates](<https://devfeed.tech/tags/templates.md>)

### AI overview

The article introduces ScreenshotWhale, a cloud-based service for creating app store screenshots. It offers a Figma-style layer-based editor, templates, support for Android and iOS device formats, and automatic internationalization during export. The product is in its initial stages and is presented as seeking user feedback.

### Source excerpt

Some words for the people who joined the newsletter these days.

## What Strong Typing Means in Programming Languages

DevFeed: [What Strong Typing Means in Programming Languages](<https://devfeed.tech/articles/strongly-typed-36221.md>)

Original publisher: [Read original article](<https://dotat.at/@/2025-08-28-strongly-typed.html>)

Published: 2025-08-28T01:33:05Z

Content type: opinion

Language: en

Sources: [Tony Finch's blog](<https://devfeed.tech/sources/tony-finch-s-blog.md>)

Topics: [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [integrity](<https://devfeed.tech/topics/integrity.md>), [Polymorphism](<https://devfeed.tech/topics/polymorphism.md>), [Java](<https://devfeed.tech/topics/java.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Lean](<https://devfeed.tech/topics/lean.md>)

Tags: [integrity](<https://devfeed.tech/tags/integrity.md>), [java](<https://devfeed.tech/tags/java.md>), [languages](<https://devfeed.tech/tags/languages.md>), [polymorphism](<https://devfeed.tech/tags/polymorphism.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [rust](<https://devfeed.tech/tags/rust.md>), [type-system](<https://devfeed.tech/tags/type-system.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

The article explains why "strongly typed" is a poorly defined term and examines several possible meanings, including static versus dynamic typing, soundness of static type systems, and runtime type safety. It argues that these properties are not simply yes-or-no and discusses trade-offs and examples from languages including Java, TypeScript, Rust, Lean, JavaScript, Lua, and C.

### Source excerpt

What does it mean when someone writes that a programming language is "strongly typed"? I've known for many years that "strongly typed" is a poorly-defined term. Recently I was prompted on Lobsters to explain why it's hard to understand what someone means when they use the phrase. I came up with more than five meanings! how strong? The various meanings of "strongly typed" are not clearly yes-or-no. Some developers like to argue that these kinds of integrity checks must be completely perfect or else they are entirely worthless. Charitably (it took me a while to think of a polite way to phrase this), that betrays a lack of engineering maturity. Software engineers, like any engineers, have to create working systems from imperfect materials. To do so, we must understand what guarantees we can rely on, where our mistakes can be caught early, where we need to establish processes to catch mistakes, how we can control the consequences of our mistakes, and how to remediate when somethng breaks because of a mistake that wasn't caught. strong how? So, what are the ways that a programming language can be strongly or weakly typed? In what ways are real programming languages "mid"? Statically typed as opposed to dynamically typed? Many languages have a mixture of the two, such as run time polymorphism in OO languages (e.g. Java), or gradual type systems for dynamic languages (e.g. TypeScript). Sound static type system? It's common for static type systems to be deliberately unsound, such as covariant subtyping in arrays or functions (Java, again). Gradual type systems migh have gaping holes for usability reasons (TypeScript, again). And some type systems might be unsound due to bugs. (There are a few of these in Rust.) Unsoundness isn't a disaster, if a programmer won't cause it without being aware of the risk. For example: in Lean you can write "sorry" as a kind of "to do" annotation that deliberately breaks soundness; and Idris 2 has type-in-type so it accepts Girard's paradox. T

## AppLink Fundamentals III: Building with AppLink - Development Flow and Language Choices

DevFeed: [AppLink Fundamentals III: Building with AppLink - Development Flow and Language Choices](<https://devfeed.tech/articles/applink-fundamentals-iii-building-with-applink-development-flow-and-language-choices-26371.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/applink-fundamentals-development-flow-language-choices/>)

Author: Ken W. Alger

Published: 2025-07-31T15:00:35Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Development](<https://devfeed.tech/topics/development.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [applink](<https://devfeed.tech/tags/applink.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [languages](<https://devfeed.tech/tags/languages.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [openapi-specification](<https://devfeed.tech/tags/openapi-specification.md>), [programming](<https://devfeed.tech/tags/programming.md>), [salesforce](<https://devfeed.tech/tags/salesforce.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This final AppLink Fundamentals article explains the development workflow for Salesforce extensions on Heroku, including local testing, managing changes to the OpenAPI specification, and choosing a programming language. It also covers Agentforce integrations and an automotive finance example involving real-time credit assessment, pricing rules, and PDF generation.

### Source excerpt

This blog series has taken you on a journey through the world of AppLink, from its foundational concepts and core components in Heroku AppLink: Extend Salesforce with Any Programming Language, to a deep dive into its key integration patterns in AppLink Fundamentals I: AppLink Integration Patterns - Connecting Salesforce to Heroku Applications, and then we [...] The post AppLink Fundamentals III: Building with AppLink - Development Flow and Language Choices appeared first on Heroku.

## clamp / median / range

DevFeed: [clamp / median / range](<https://devfeed.tech/articles/clamp-median-range-36218.md>)

Original publisher: [Read original article](<https://dotat.at/@/2025-07-02-cmp.html>)

Published: 2025-07-02T01:33:08Z

Content type: article

Language: en

Sources: [Tony Finch's blog](<https://devfeed.tech/sources/tony-finch-s-blog.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>), [syntax](<https://devfeed.tech/topics/syntax.md>), [iteration](<https://devfeed.tech/topics/iteration.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [function](<https://devfeed.tech/tags/function.md>), [languages](<https://devfeed.tech/tags/languages.md>), [sequence](<https://devfeed.tech/tags/sequence.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

The article explores stylistic conventions for comparison operators, including chained comparisons, ordering values from least to greatest, and arranging clamp arguments to match that order. It then considers median-of-three implementations that are insensitive to argument order and proposes a speculative range syntax for pattern matching, iteration, and slicing.

### Source excerpt

Here are a few tangentially-related ideas vaguely near the theme of comparison operators. comparison style clamp style clamp is median clamp in range range style style clash? comparison style Some languages such as BCPL, Icon, Python have chained comparison operators, like if min <= x <= max: ... In languages without chained comparison, I like to write comparisons as if they were chained, like, if min <= x && x <= max { // ... } A rule of thumb is to prefer less than (or equal) operators and avoid greater than. In a sequence of comparisons, order values from (expected) least to greatest. clamp style The clamp() function ensures a value is between some min and max, def clamp(min, x, max): if x < min: return min if max < x: return max return x I like to order its arguments matching the expected order of the values, following my rule of thumb for comparisons - and the description of what clamp() does. (I used this flavour of clamp() in my article about GCRA.) But I seem to be unusual in this preference, based on a few examples I have seen recently. clamp is median Last month, Fabian Giesen pointed out a way to resolve this difference of opinion: A function that returns the median of three values is equivalent to a clamp() function that doesn't care about the order of its arguments. This version is written so that it returns NaN if any of its arguments is NaN. (When an argument is NaN, both of its comparisons will be false.) fn med3(a: f64, b: f64, c: f64) -> f64 { match (a <= b, b <= c, c <= a) { (false, false, false) => f64::NAN, (false, false, true) => b, // a > b > c (false, true, false) => a, // c > a > b (false, true, true) => c, // b <= c <= a (true, false, false) => c, // b > c > a (true, false, true) => a, // c <= a <= b (true, true, false) => b, // a <= b <= c (true, true, true) => b, // a == b == c } } When two of its arguments are constant, med3() should compile to the same code as a simple clamp(); but med3()'s misuse-resistance comes at a small cost when t

## the algebra of dependent types

DevFeed: [the algebra of dependent types](<https://devfeed.tech/articles/the-algebra-of-dependent-types-36214.md>)

Original publisher: [Read original article](<https://dotat.at/@/2025-05-28-types.html>)

Published: 2025-05-29T00:07:51Z

Content type: article

Language: en

Sources: [Tony Finch's blog](<https://devfeed.tech/sources/tony-finch-s-blog.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Standard ML](<https://devfeed.tech/topics/standard-ml.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [algebra](<https://devfeed.tech/tags/algebra.md>), [enum](<https://devfeed.tech/tags/enum.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [languages](<https://devfeed.tech/tags/languages.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [type-system](<https://devfeed.tech/tags/type-system.md>), [type-theory](<https://devfeed.tech/tags/type-theory.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

An explanation of why big-sigma and big-pi notation appears in dependent type theory. It connects dependent functions and dependent pairs to algebraic data types, showing how products correspond to multiplication and sum types to addition, with examples from type theory, Standard ML, Haskell, and Rust.

### Source excerpt

TIL (or this week-ish I learned) why big-sigma and big-pi turn up in the notation of dependent type theory. I've long been aware of the zoo of more obscure Greek letters that turn up in papers about type system features of functional programming languages, μ, Λ, Π, Σ. Their meaning is usually clear from context but the reason for the choice of notation is usually not explained. I recently stumbled on an explanation for Π (dependent functions) and Σ (dependent pairs) which turn out to be nicer than I expected, and closely related to every-day algebraic data types. sizes of types The easiest way to understand algebraic data types is by counting the inhabitants of a type. For example: the unit type () has one inhabitant, (), and the number 1 is why it's called the unit type; the bool type hass two inhabitants, false and true. I have even seen these types called 1 and 2 (cruelly, without explanation) in occasional papers. product types Or pairs or (more generally) tuples or records. Usually written, (A, B) The pair contains an A and a B, so the number of possible values is the number of possible A values multiplied by the number of possible B values. So it is spelled in type theory (and in Standard ML) like, A * B sum types Or disjoint union, or variant record. Declared in Haskell like, data Either a b = Left a | Right b Or in Rust like, enum Either<A, B> { Left(A), Right(B), } A value of the type is either an A or a B, so the number of possible values is the number of A values plus the number of B values. So it is spelled in type theory like, A + B dependent pairs In a dependent pair, the type of the second element depends on the value of the first. The classic example is a slice, roughly, struct IntSlice { len: usize, elem: &[i64; len], } (This might look a bit circular, but the idea is that an array [i64; N] must be told how big it is - its size is an explicit part of its type - but an IntSlice knows its own size. The traditional dependent "vector" type is a sized li

## Translating Keycloak with Weblate

DevFeed: [Translating Keycloak with Weblate](<https://devfeed.tech/articles/translating-keycloak-with-weblate-31703.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/04/weblate-announce>)

Author: Alexander Schwartz

Published: 2025-04-07T00:00:00Z

Content type: article

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [community](<https://devfeed.tech/tags/community.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [git](<https://devfeed.tech/tags/git.md>), [github](<https://devfeed.tech/tags/github.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [languages](<https://devfeed.tech/tags/languages.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [native](<https://devfeed.tech/tags/native.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [q-a](<https://devfeed.tech/tags/q-a.md>), [review](<https://devfeed.tech/tags/review.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [translation](<https://devfeed.tech/tags/translation.md>)

### AI overview

Keycloak now integrates with Weblate to simplify translation contributions. Contributors can use a web-based frontend without Git skills, while language maintainers receive automated notifications and review submissions. The article also describes maintainer requirements and the continued use of GitHub pull requests.

### Source excerpt

Keycloak runs in a lot of regions and countries. Translations help Keycloak to reach a wider audience by making the platform usable for speakers of various languages. For translations, Keycloak now integrates with Weblate to simplify the process. The community can use a web-based frontend to contribute translations, and the language maintainers get automated notifications and review the translations. Read on for more details on the process. We had an online Q&A session for AMER/EMEA and APAC where you can see this process live and in action. Translate using Weblate Weblate eliminates the need for Git skills; and browsers suffice for translation contributions. Two language maintainers are needed to set up a translation for Keycloak in Weblate. They need to be native speakers of that language and will regularly review the contributions from the community. Today this is the case for languages like Catalan, German, Dutch, Italian, Japanese and Spanish. To have your language added to Weblate, join the GitHub discussion on translations and pair up with others. ''

## .NET on Heroku: Now Generally Available

DevFeed: [.NET on Heroku: Now Generally Available](<https://devfeed.tech/articles/net-on-heroku-now-generally-available-26396.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/dotnet-now-generally-available/>)

Author: Rune Soerensen

Published: 2025-04-02T06:56:00Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [.NET](<https://devfeed.tech/topics/net.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [languages](<https://devfeed.tech/tags/languages.md>), [net](<https://devfeed.tech/tags/net.md>), [news](<https://devfeed.tech/tags/news.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

Heroku announces that .NET support, previously in beta, is now generally available. The release provides production support, documentation, support services, automatic build and deployment behavior, and support for C#, F#, Visual Basic, and ASP.NET Core applications.

### Source excerpt

It's never been a more exciting time to be a .NET developer. With .NET (formerly known as .NET Core) approaching its 10-year anniversary this November, the platform has evolved into a powerful, cross-platform ecosystem, embracing modern development practices and powering a vast array of applications. Today, we're thrilled to announce that .NET support on Heroku, [...] The post .NET on Heroku: Now Generally Available appeared first on Heroku.

## Simplifying JVM App Development with Heroku's Buildpack Magic

DevFeed: [Simplifying JVM App Development with Heroku's Buildpack Magic](<https://devfeed.tech/articles/simplifying-jvm-app-development-with-heroku-s-buildpack-magic-26495.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/simplifying-jvm-app-development-herokus-buildpack-magic/>)

Author: Andrew Fawcett

Published: 2025-03-24T15:00:00Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Buildpacks](<https://devfeed.tech/topics/buildpacks.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Micronaut](<https://devfeed.tech/topics/micronaut.md>), [Quarkus](<https://devfeed.tech/topics/quarkus.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-key-value-store](<https://devfeed.tech/tags/heroku-key-value-store.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [java](<https://devfeed.tech/tags/java.md>), [languages](<https://devfeed.tech/tags/languages.md>), [maven](<https://devfeed.tech/tags/maven.md>), [micronaut](<https://devfeed.tech/tags/micronaut.md>), [procfile](<https://devfeed.tech/tags/procfile.md>), [quarkus](<https://devfeed.tech/tags/quarkus.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

Heroku's Java buildpack automates much of the process of deploying JVM applications. It detects languages and frameworks, obtains build tools, configures the runtime, and can provide framework-specific settings for Spring Boot, Quarkus, and Micronaut applications.

### Source excerpt

Heroku's commitment to developer productivity shines through in its powerful buildpack system. They handle the heavy lifting of building your app, letting you focus on what matters most: writing code. A prime example is the Heroku Java buildpack, a versatile tool that simplifies deploying Java applications, especially those built with popular frameworks like Spring Boot, [...] The post Simplifying JVM App Development with Heroku's Buildpack Magic appeared first on Heroku.

## Heroku Extension for Visual Studio Code (VS Code) Now Generally Available

DevFeed: [Heroku Extension for Visual Studio Code (VS Code) Now Generally Available](<https://devfeed.tech/articles/heroku-extension-for-visual-studio-code-vs-code-now-generally-available-26430.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/heroku-extension-visual-studio-code-now-generally-available/>)

Author: Anush DSouza

Published: 2025-03-04T15:00:00Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [VS Code Extension](<https://devfeed.tech/topics/vscode-extension.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>)

Tags: [cloud-services](<https://devfeed.tech/tags/cloud-services.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [extension](<https://devfeed.tech/tags/extension.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [languages](<https://devfeed.tech/tags/languages.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [news](<https://devfeed.tech/tags/news.md>), [popular](<https://devfeed.tech/tags/popular.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>)

### AI overview

Heroku announces the general availability of its Visual Studio Code extension, which brings Heroku cloud management into VS Code and compatible forks. The extension supports resource monitoring, add-on management, logs, one-click deployments, shell commands, and app import and authentication.

### Source excerpt

The Heroku Extension for Visual Studio Code (VS Code) is now generally available for all customers--VS Code is an all-in-one tool that brings Heroku's cloud management directly to your favorite IDE. In today's fast-paced, AI-assisted development environment, switching between code editors and deployment tools can slow innovation and product delivery. This extension lets you focus [...] The post Heroku Extension for Visual Studio Code (VS Code) Now Generally Available appeared first on Heroku.

## .NET Support on Heroku

DevFeed: [.NET Support on Heroku](<https://devfeed.tech/articles/net-support-on-heroku-26397.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/dotnet-support-on-heroku/>)

Author: Rune Soerensen

Published: 2024-12-03T00:00:00Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [.NET](<https://devfeed.tech/topics/net.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [Blazor](<https://devfeed.tech/topics/blazor.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [Visual Basic](<https://devfeed.tech/topics/visual-basic.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [apis](<https://devfeed.tech/tags/apis.md>), [app](<https://devfeed.tech/tags/app.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [blazor](<https://devfeed.tech/tags/blazor.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [can](<https://devfeed.tech/tags/can.md>), [community](<https://devfeed.tech/tags/community.md>), [core](<https://devfeed.tech/tags/core.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [developers](<https://devfeed.tech/tags/developers.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [high-performance](<https://devfeed.tech/tags/high-performance.md>), [languages](<https://devfeed.tech/tags/languages.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [net](<https://devfeed.tech/tags/net.md>), [news](<https://devfeed.tech/tags/news.md>), [nextgen](<https://devfeed.tech/tags/nextgen.md>), [platform](<https://devfeed.tech/tags/platform.md>)

### AI overview

Heroku announces that official .NET support is entering public beta. Developers can build and deploy C#, F#, and Visual Basic applications using frameworks including ASP.NET Core and Blazor. The support includes a buildpack, documentation, testing, and guidance for deploying applications, including Blazor apps with Heroku Postgres.

### Source excerpt

We're excited to announce that official support for .NET on Heroku is entering public beta starting today. Developers can now build and deploy applications in C#, F#, and Visual Basic, using frameworks like ASP.NET Core and Blazor, all with the simplicity and flexibility of the Heroku platform. .NET has long been one of the most [...] The post .NET Support on Heroku appeared first on Heroku.

## Ethereum.org 2024 Translatathon recap

DevFeed: [Ethereum.org 2024 Translatathon recap](<https://devfeed.tech/articles/ethereum-org-2024-translatathon-recap-17117.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2024/10/16/translatathon-2024-recap>)

Author: Digital Studio

Published: 2024-10-16T00:00:00Z

Content type: article

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [Remix](<https://devfeed.tech/topics/remix.md>), [Solidity](<https://devfeed.tech/topics/solidity.md>)

Tags: [contributors](<https://devfeed.tech/tags/contributors.md>), [devcon](<https://devfeed.tech/tags/devcon.md>), [developer](<https://devfeed.tech/tags/developer.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [ethereum-org](<https://devfeed.tech/tags/ethereum-org.md>), [languages](<https://devfeed.tech/tags/languages.md>), [learning](<https://devfeed.tech/tags/learning.md>), [recap](<https://devfeed.tech/tags/recap.md>), [remix](<https://devfeed.tech/tags/remix.md>), [translation](<https://devfeed.tech/tags/translation.md>)

### AI overview

The article recaps ethereum.org's 2024 Translatathon, in which 327 contributors translated 2.53 million words across 70 languages. It reports growth from the previous year, prize distribution, expanded multilingual coverage, and translation activity across Ethereum-related projects.

### Source excerpt

The 2nd edition of the ethereum.org Translatathon is in the books! This year, we saw 327 contributors translate an incredible 2.53 million words across 70 languages. Let's look at the details:...

## Ep. 4: Type Coercion in Rust: Ensuring Safety and Preventing Data Loss

DevFeed: [Ep. 4: Type Coercion in Rust: Ensuring Safety and Preventing Data Loss](<https://devfeed.tech/articles/ep-4-type-coercion-in-rust-ensuring-safety-and-preventing-data-loss-22240.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/05/type-coercion-in-rust-ep-4.html>)

Published: 2024-05-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [C](<https://devfeed.tech/topics/c.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [data-type](<https://devfeed.tech/tags/data-type.md>), [go](<https://devfeed.tech/tags/go.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [languages](<https://devfeed.tech/tags/languages.md>), [memory-handling](<https://devfeed.tech/tags/memory-handling.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [rust](<https://devfeed.tech/tags/rust.md>), [safety](<https://devfeed.tech/tags/safety.md>), [safety-concerns](<https://devfeed.tech/tags/safety-concerns.md>), [software](<https://devfeed.tech/tags/software.md>), [type-coercion](<https://devfeed.tech/tags/type-coercion.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This video tutorial explains type coercion and data type conversions, including how inadvertent conversions can produce unexpected results. It compares C, Go, and Rust, emphasizing Rust's Into and TryInto traits, explicit casts, error handling, safety, and code integrity.

### Source excerpt

Introduction: Delving into the intricate realm of type coercion, Herbert's insights offer invaluable guidance for Rust developers grappling with the complexities of data type conversions: Gain insights into the nuances of type coercion, a fundamental aspect of programming languages, and its potential pitfalls, drawing parallels with numerical computation surprises. Explore how Go and Rust tackle inadvertent type coercion, prioritizing program integrity by making it challenging to assign values between incompatible types.

## Ep. 1: Defending Against Memory Breaches: Exploring Rust and Go's Safety Mechanisms

DevFeed: [Ep. 1: Defending Against Memory Breaches: Exploring Rust and Go's Safety Mechanisms](<https://devfeed.tech/articles/ep-1-defending-against-memory-breaches-exploring-rust-and-go-s-safety-mechanisms-22277.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/15/defending-against-memory-breaches-exploring-rust-and-go-safety-mechanisms-ep-1.html>)

Published: 2024-04-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Memory Safety](<https://devfeed.tech/topics/memory-safety.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [concurrent-programming](<https://devfeed.tech/tags/concurrent-programming.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [languages](<https://devfeed.tech/tags/languages.md>), [memory-breaches](<https://devfeed.tech/tags/memory-breaches.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [rust](<https://devfeed.tech/tags/rust.md>), [safety](<https://devfeed.tech/tags/safety.md>), [safety-mechanism](<https://devfeed.tech/tags/safety-mechanism.md>), [security](<https://devfeed.tech/tags/security.md>), [synchronization](<https://devfeed.tech/tags/synchronization.md>)

### AI overview

This introductory video examines memory safety in programming languages, focusing on Rust and comparing its approach with Go, Java, and C. It discusses buffer overflows, memory leaks, data races, static analysis, checked arithmetic, and the trade-offs between safety and performance.

### Source excerpt

Introduction: Rust's memory safety features are advantageous to Rust developers because they: Ensure robust protection against buffer overflows and underflows, enhancing the reliability and security of software. Empower developers to manage type coercion effectively, promoting code reliability and safety while facilitating safe type conversions. Provide confidence in writing concurrent code by enforcing strict mutability rules and synchronization, thereby preventing data race issues and ensuring code correctness and efficiency. With these memory safety features deeply integrated into Rust's design, developers can build more reliable, secure, and efficient software, spanning various aspects of memory management, type handling, and concurrent programming paradigms.

## Community threads: Is it possible to write a single Workflow with different languages?

DevFeed: [Community threads: Is it possible to write a single Workflow with different languages?](<https://devfeed.tech/articles/community-threads-is-it-possible-to-write-a-single-workflow-with-different-languages-35760.md>)

Original publisher: [Read original article](<https://temporal.io/blog/community-threads-is-it-possible-to-write-a-single-workflow-with-different>)

Author: Caz Michaels

Published: 2024-03-05T08:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [interoperability](<https://devfeed.tech/topics/interoperability.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [community](<https://devfeed.tech/tags/community.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [languages](<https://devfeed.tech/tags/languages.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [separate](<https://devfeed.tech/tags/separate.md>)

### AI overview

A Temporal Workflow Definition should use one language, but its Activities can be written in other languages. Each language requires a separate Worker and task queue, with unique Activity names to support execution and interoperability.

### Source excerpt

Today's Thread focuses on a question asked by a Temporal user who wants to know: Is it possible to write a single Workflow in multiple languages?

## Ethereum.org year in review

DevFeed: [Ethereum.org year in review](<https://devfeed.tech/articles/ethereum-org-year-in-review-17090.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2024/01/31/2023-on-ethereum-org>)

Author: Digital Studio

Published: 2024-01-31T00:00:00Z

Content type: article

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Website](<https://devfeed.tech/topics/website.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [community](<https://devfeed.tech/tags/community.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [ethereum-org](<https://devfeed.tech/tags/ethereum-org.md>), [languages](<https://devfeed.tech/tags/languages.md>), [learn](<https://devfeed.tech/tags/learn.md>), [onboarding](<https://devfeed.tech/tags/onboarding.md>), [web3](<https://devfeed.tech/tags/web3.md>), [writing](<https://devfeed.tech/tags/writing.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

A year-in-review article covering ethereum.org's 2023 community achievements and planned momentum for 2024. It highlights translation efforts, accessibility improvements, wallet onboarding guides, interactive quizzes, and the Writers Cohort.

### Source excerpt

A look back at 2023, and a glimpse at what lies ahead in 2024 2023 was an excellent year for the team behind the ethereum.org website, and its community -- we already feel a little nostalgic, but it's important to make space for celebrating the things the ethereum.org community...

## Understanding nullability in GraphQL and Swift with Apollo iOS

DevFeed: [Understanding nullability in GraphQL and Swift with Apollo iOS](<https://devfeed.tech/articles/graphqlnullable-is-not-a-trap-23353.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/graphqlnullable-is-not-a-trap>)

Author: Calvin Cestari

Published: 2023-10-03T09:53:34Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [apollo](<https://devfeed.tech/tags/apollo.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [language](<https://devfeed.tech/tags/language.md>), [languages](<https://devfeed.tech/tags/languages.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [optional](<https://devfeed.tech/tags/optional.md>), [swift](<https://devfeed.tech/tags/swift.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This tutorial explains how nullability works in GraphQL and Swift, whose default nullability rules differ, and how Apollo iOS maps nullable GraphQL fields into generated Swift models. It also introduces the semantic distinction between GraphQL nullable and optional values.

### Source excerpt

Nullability is a fundamental concept in many programming languages giving us the ability to express the absence of a value or assigned object. This is particularly relevant in strongly typed languages where each constant or variable must be defined with one of the language data types or explicitly allowed to be null. GraphQL is strongly-typed and all fields are, by default, nullable with being a valid response for any field unless explicitly declared otherwise.

[Next page](<https://devfeed.tech/tags/languages.md?cursor=WyIyMDIzLTEwLTAzVDA5OjUzOjM0KzAwOjAwIiwgIjVkYjVhZTc2LWEyZTAtNGU3NS1iNjViLWU4ZWZmY2ZjOTM3NiJd>)