# Programming language

A programming language is used to express instructions that tell software what to do.

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

## 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.

## How an MIT research project became a global programming language

DevFeed: [How an MIT research project became a global programming language](<https://devfeed.tech/articles/how-an-mit-research-project-became-a-global-programming-language-37956.md>)

Original publisher: [Read original article](<https://news.mit.edu/2026/how-mit-research-project-became-global-programming-language-0831>)

Author: Zach Winn | MIT News

Published: 2026-08-31T04:00:00Z

Content type: news

Language: en

Sources: [MIT AI News](<https://devfeed.tech/sources/mit-ai-news.md>)

Topics: [The Julia Language](<https://devfeed.tech/topics/julia.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Data Science](<https://devfeed.tech/topics/data-science.md>), [Complex Systems](<https://devfeed.tech/topics/complex-systems.md>), [Data analysis](<https://devfeed.tech/topics/data-analysis.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-platform](<https://devfeed.tech/tags/ai-platform.md>), [alan-edelman](<https://devfeed.tech/tags/alan-edelman.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [applications](<https://devfeed.tech/tags/applications.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [chris-rackauckas](<https://devfeed.tech/tags/chris-rackauckas.md>), [complex-systems](<https://devfeed.tech/tags/complex-systems.md>), [computer-science-and-artificial-intelligence-laboratory-csail](<https://devfeed.tech/tags/computer-science-and-artificial-intelligence-laboratory-csail.md>), [deshpande-center](<https://devfeed.tech/tags/deshpande-center.md>), [jeff-bezanson](<https://devfeed.tech/tags/jeff-bezanson.md>), [julia-programming-language](<https://devfeed.tech/tags/julia-programming-language.md>), [juliahub](<https://devfeed.tech/tags/juliahub.md>), [language](<https://devfeed.tech/tags/language.md>), [mit-schwarzman-college-of-computing](<https://devfeed.tech/tags/mit-schwarzman-college-of-computing.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [software](<https://devfeed.tech/tags/software.md>), [startups](<https://devfeed.tech/tags/startups.md>), [stefan-karpinski](<https://devfeed.tech/tags/stefan-karpinski.md>), [viral-shah](<https://devfeed.tech/tags/viral-shah.md>)

### AI overview

An MIT research project created Julia, a free and open-source programming language for scientific research, data analysis, and complex-systems modeling. The article describes Julia's adoption by researchers, engineers, companies, and universities, and introduces JuliaHub's Dyad 3.0 AI platform.

### Source excerpt

With millions of users across the world, Julia has been used to conduct cutting-edge research and to design new drugs, jet engines, heat pumps, and more.

## Your First Virtual Machine: Write yourself a compiler, Part IV

DevFeed: [Your First Virtual Machine: Write yourself a compiler, Part IV](<https://devfeed.tech/articles/your-first-virtual-machine-write-yourself-a-compiler-part-iv-38040.md>)

Original publisher: [Read original article](<https://nurkiewicz.com/2026/08/your-first-virtual-machine-write-yourself-a-compiler.html>)

Published: 2026-08-24T22:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Nurkiewicz around Java and concurrency](<https://devfeed.tech/sources/tomasz-nurkiewicz-around-java-and-concurrency.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [arithmetic](<https://devfeed.tech/tags/arithmetic.md>), [bytecode](<https://devfeed.tech/tags/bytecode.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [feature](<https://devfeed.tech/tags/feature.md>), [go](<https://devfeed.tech/tags/go.md>), [interpreter](<https://devfeed.tech/tags/interpreter.md>), [reverse-polish-notation](<https://devfeed.tech/tags/reverse-polish-notation.md>), [stack](<https://devfeed.tech/tags/stack.md>), [virtual-machine](<https://devfeed.tech/tags/virtual-machine.md>), [vm](<https://devfeed.tech/tags/vm.md>), [writing-compiler](<https://devfeed.tech/tags/writing-compiler.md>)

### AI overview

This tutorial explains how to build a virtual machine that reads and executes a binary intermediate representation. It covers the instruction loop, operand stack, arithmetic operations, postfix notation, and how the resulting executable compares with JVM files and .NET assemblies.

### Source excerpt

In the previous article, we emitted an intermediate representation (IR) for our programming language that is easier to process than source code. However, we did not build a program that could read and execute that IR. Such a program is called a virtual machine. Technically, it's still an interpreter. But instead of interpreting source code, it interprets IR. Our IR is binary, compact, structured, and generally faster to interpret than the original source. Moreover, as you'll see later, the VM's instruction set can express programs that our source language cannot produce yet!

## Dependent Types and the Challenge of Automating Proofs

DevFeed: [Dependent Types and the Challenge of Automating Proofs](<https://devfeed.tech/articles/we-have-proof-automation-now-36616.md>)

Original publisher: [Read original article](<http://www.imperialviolet.org/2026/07/26/zstd-lean.html>)

Author: Adam Langley

Published: 2026-07-26T00:00:00Z

Content type: opinion

Language: en

Sources: [ImperialViolet](<https://devfeed.tech/sources/imperialviolet.md>)

Topics: [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Lean](<https://devfeed.tech/topics/lean.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Coq](<https://devfeed.tech/topics/coq.md>)

Tags: [interactive](<https://devfeed.tech/tags/interactive.md>), [language](<https://devfeed.tech/tags/language.md>), [machine](<https://devfeed.tech/tags/machine.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>)

### AI overview

The article discusses dependently typed languages such as Coq, Rocq, and Lean, which can encode subtle invariants in a type system. It explains that writing and checking proofs can require substantial effort, contributing to the niche status of these languages and motivating attempts to automate proof obligations.

### Source excerpt

I've long had a soft spot for dependently-typed languages like Coq Rocq and Lean. They offer the possibility of a type system capable of encoding and enforcing arbitrarily subtle invariants. The sort of thing that, in regular languages, ends up (at best) as a comment, and which quickly gets lost as the size of the team grows. Then you get subtle misunderstandings and components that don't quite fit together. It's often the case that those components have grown to a sufficient size that, when the problem is noticed, aligning either of them is a wearying prospect. Perhaps, say dependent types seductively, you could write those invariants formally and have a machine check them. (p.s. Coq changed its name! I remember many years ago at a Coq conference in Princeton, I tried suggesting that, in an English-speaking world, having a programming language called Coq was an impediment. I don't think the audience agreed at the time. I also joked that many of the talks there sounded like a speech by Tyrion Lannister, there being so many Coqs and Hoares. A joke that was hilarious and timely, even though it fell completely flat, coming as it did before the final season of that show and our collective memory-holing of it.) The problem has always been that with great type-system power comes great proof effort. I can certainly attest to entire days spent proving really quite simple things. Doing proofs is actually quite fun: it's challenging, interactive, and there's a clear goal. But gosh, does it take a lot of time, especially if, like me, you don't know what you're doing. There's also the periodic, galling experience, at the end of many hours of effort, where you realise that the goal that you're trying to prove is, in fact, false. The classic result here is the retrospective from the seL4 effort that found that, even though the project was large enough for the engineers to develop considerable experience, they spent about 10 times as much time proving as they did designing and imp

## Arithmetic interpreter: Write yourself a compiler, Part II

DevFeed: [Arithmetic interpreter: Write yourself a compiler, Part II](<https://devfeed.tech/articles/arithmetic-interpreter-write-yourself-a-compiler-part-ii-38036.md>)

Original publisher: [Read original article](<https://nurkiewicz.com/2026/07/arithmetic-interpreter-write-yourself-a-compiler.html>)

Published: 2026-07-21T22:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Nurkiewicz around Java and concurrency](<https://devfeed.tech/sources/tomasz-nurkiewicz-around-java-and-concurrency.md>)

Topics: [Compiler](<https://devfeed.tech/topics/compiler.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Regular expression](<https://devfeed.tech/topics/regular-expression.md>)

Tags: [arithmetic](<https://devfeed.tech/tags/arithmetic.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [go](<https://devfeed.tech/tags/go.md>), [intermediate](<https://devfeed.tech/tags/intermediate.md>), [interpreter](<https://devfeed.tech/tags/interpreter.md>), [operations](<https://devfeed.tech/tags/operations.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [writing-compiler](<https://devfeed.tech/tags/writing-compiler.md>)

### AI overview

This tutorial extends a simple arithmetic interpreter to support addition, subtraction, multiplication, and division. It updates the regular-expression parsing and interpreter logic, with a later installment planned to compile the language into an intermediate representation.

### Source excerpt

In the previous article, we created the most naive interpreter, which can basically execute number + number expressions. A logical extension is obviously to handle all basic operations: addition, subtraction, multiplication and division. The time has come!

## Creator of OCaml: Functional Programming, Formal Verification, Programming Languages | Xavier Leroy

DevFeed: [Creator of OCaml: Functional Programming, Formal Verification, Programming Languages | Xavier Leroy](<https://devfeed.tech/articles/creator-of-ocaml-functional-programming-formal-verification-programming-languages-xavier-leroy-18088.md>)

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

Author: Ryan Peterman

Published: 2026-07-20T13:05:11Z

Content type: article

Language: en

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

Topics: [OCaml](<https://devfeed.tech/topics/ocaml.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Formal verification](<https://devfeed.tech/topics/formal-verification.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>)

Tags: [formal-verification](<https://devfeed.tech/tags/formal-verification.md>), [functional](<https://devfeed.tech/tags/functional.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

A podcast transcript featuring Xavier Leroy discusses what distinguishes OCaml, including its functional and systems programming capabilities, type inference, control structures, predictable execution costs, and low-latency garbage collection. The conversation also covers formal verification through the CompCert project and comparisons with languages such as Rust and JavaScript.

### Source excerpt

Professor Leroy (Creator of OCaml) is incredibly knowledgeable.

## Profunctor Optics

DevFeed: [Profunctor Optics](<https://devfeed.tech/articles/profunctor-optics-28864.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/07/19/profunctor-optics/>)

Author: Bartosz Milewski

Published: 2026-07-19T11:39:02Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

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

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [language](<https://devfeed.tech/tags/language.md>), [lens](<https://devfeed.tech/tags/lens.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [modules](<https://devfeed.tech/tags/modules.md>), [optics](<https://devfeed.tech/tags/optics.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [tambara-modules](<https://devfeed.tech/tags/tambara-modules.md>)

### AI overview

This article explains profunctor optics through Tannakian reconstruction. It presents optics as a category, describes lenses and their composition in Haskell, and introduces Tambara modules as a representation that simplifies optic composition.

### Source excerpt

You may think of Tannakian Reconstruction as an example of redundant encoding. It lets you replace a simple hom-set with a much more complex end that is taken over an entire functor category. Why would anyone want to do it? The answer is simple: composition! Morphisms on the left compose according to the rules of [...]

## Announcing Rust 1.97.1

DevFeed: [Announcing Rust 1.97.1](<https://devfeed.tech/articles/announcing-rust-1-97-1-2346.md>)

Original publisher: [Read original article](<https://blog.rust-lang.org/2026/07/16/Rust-1.97.1/>)

Author: The Rust Release Team

Published: 2026-07-16T00:00:00Z

Content type: release

Language: en

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

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [releases](<https://devfeed.tech/topics/releases.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Beta channel](<https://devfeed.tech/topics/beta-channel.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [beta-channel](<https://devfeed.tech/tags/beta-channel.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [ci](<https://devfeed.tech/tags/ci.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [release](<https://devfeed.tech/tags/release.md>), [releases](<https://devfeed.tech/tags/releases.md>), [rust](<https://devfeed.tech/tags/rust.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Rust 1.97.1 is a point release that fixes a miscompilation related to an LLVM optimization. The release backports an LLVM fix and disables the underlying change in Rust 1.97.0 that increased the likelihood of the issue.

### Source excerpt

The Rust team has published a new point release of Rust, 1.97.1. Rust is a programming language that is empowering everyone to build reliable and efficient software. If you have a previous version of Rust installed via rustup, getting Rust 1.97.1 is as easy as: rustup update stable If you don't have it already, you can get rustup from the appropriate page on our website. What's in 1.97.1 Rust 1.97.1 fixes a miscompilation in an LLVM optimization. We have backported both an LLVM fix and a disable of the underlying change in Rust 1.97.0 of Rust's generated IR that increased the likelihood of this happening. However, note that the underlying miscompilation has been present since at least Rust 1.87. If you'd like to help us out by testing future releases, you might consider running your code's CI or locally using the beta channel (rustup default beta) or the nightly channel (rustup default nightly). Please report any bugs you might come across! Contributors to 1.97.1 Many people came together to create Rust 1.97.1. We couldn't have done it without all of you. Thanks!

## 10 Years of Meta's Commitment to Python

DevFeed: [10 Years of Meta's Commitment to Python](<https://devfeed.tech/articles/10-years-of-meta-s-commitment-to-python-22582.md>)

Original publisher: [Read original article](<https://engineering.fb.com/2026/06/30/open-source/10-years-of-metas-commitment-to-python/>)

Author: Chris Wiltz

Published: 2026-06-30T16:00:46Z

Content type: opinion

Language: en

Sources: [Meta AI Research](<https://devfeed.tech/sources/meta-ai-research.md>), [Meta ML Applications](<https://devfeed.tech/sources/meta-ml-applications.md>)

Topics: [Meta](<https://devfeed.tech/topics/meta.md>), [Python](<https://devfeed.tech/topics/python.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Software](<https://devfeed.tech/topics/software.md>), [PyTorch](<https://devfeed.tech/topics/pytorch.md>)

Tags: [ai-research](<https://devfeed.tech/tags/ai-research.md>), [culture](<https://devfeed.tech/tags/culture.md>), [data-infrastructure](<https://devfeed.tech/tags/data-infrastructure.md>), [devinfra](<https://devfeed.tech/tags/devinfra.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [meta](<https://devfeed.tech/tags/meta.md>), [ml-applications](<https://devfeed.tech/tags/ml-applications.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [production-engineering](<https://devfeed.tech/tags/production-engineering.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

Meta reflects on its 10th consecutive year sponsoring the Python Software Foundation and explains Python's importance across its engineering stack, including products, infrastructure, and AI research.

### Source excerpt

This year marks Meta's 10th consecutive year as a sponsor of the Python Software Foundation (PSF), the charitable organization dedicated to advancing, supporting, and protecting the open-source Python programming language and the community that sustains it. Python is one of the world's most influential programming languages, and we use it across our engineering stack, from [...] Read More... The post 10 Years of Meta's Commitment to Python appeared first on Engineering at Meta.

## 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.

## Using OxCaml to implement type-safe reference counting between OCaml and Python

DevFeed: [Using OxCaml to implement type-safe reference counting between OCaml and Python](<https://devfeed.tech/articles/using-oxcaml-to-implement-type-safe-reference-counting-between-ocaml-and-python-20199.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/oxcaml-typesafe-reference-counting-python/>)

Author: Nicolas Trangez

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

Content type: tutorial

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [OCaml](<https://devfeed.tech/topics/ocaml.md>), [Python](<https://devfeed.tech/topics/python.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Data analysis](<https://devfeed.tech/topics/data-analysis.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [gc](<https://devfeed.tech/tags/gc.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

Jane Street describes using OxCaml extensions to implement type-safe reference counting between OCaml and Python. The approach addresses delayed deallocation when objects cross the language boundary, including for large data frames and scarce resources such as GPU memory.

### Source excerpt

Jane Street is known for being an OCaml shop, but for years now Python has been our second major programming language, acting as the primary tool for data analysis and (especially importantly these days) machine learning. Most of our traders and researchers think and write in Python, even as the majority of our infrastructure is written in OCaml.

## 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.

## Genie Lessons from Genie Sessions: Prose as a Programming Language

DevFeed: [Genie Lessons from Genie Sessions: Prose as a Programming Language](<https://devfeed.tech/articles/genie-lessons-from-genie-sessions-prose-as-a-programming-language-39974.md>)

Original publisher: [Read original article](<https://newsletter.kentbeck.com/p/genie-lessons-from-genie-sessions>)

Author: Kent Beck

Published: 2026-05-26T12:47:53Z

Content type: opinion

Language: en

Sources: [Software Design: Tidy First?](<https://devfeed.tech/sources/software-design-tidy-first.md>)

Topics: [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [code](<https://devfeed.tech/tags/code.md>), [files](<https://devfeed.tech/tags/files.md>), [framework](<https://devfeed.tech/tags/framework.md>), [language](<https://devfeed.tech/tags/language.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>)

### AI overview

Kent Beck discusses OpenProse with one of its founders and examines how structured English can be used to define programs executed by an AI agent such as Claude Code. The article describes component requirements and guarantees, service-like composition, and file-based pointers for passing large outputs between sub-agents.

### Source excerpt

Kent sits down with one of the founders of OpenProse to talk through their method of prose as a programming language.

## Monotonic Indentation

DevFeed: [Monotonic Indentation](<https://devfeed.tech/articles/monotonic-indentation-35605.md>)

Original publisher: [Read original article](<https://www.yegor256.com/2026/05/24/monotonic-indentation.html>)

Author: Yegor Bugayenko (yegor256@gmail.com)

Published: 2026-05-23T21:00:00Z

Content type: opinion

Language: en

Sources: [Yegor Bugayenko](<https://devfeed.tech/sources/yegor-bugayenko.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [formatting](<https://devfeed.tech/topics/formatting.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [code-formatting-style](<https://devfeed.tech/tags/code-formatting-style.md>), [code-indentation-rule](<https://devfeed.tech/tags/code-indentation-rule.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [indentation-in-java](<https://devfeed.tech/tags/indentation-in-java.md>), [monotonic-indentation](<https://devfeed.tech/tags/monotonic-indentation.md>), [off-side-rule](<https://devfeed.tech/tags/off-side-rule.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [python](<https://devfeed.tech/tags/python.md>), [style](<https://devfeed.tech/tags/style.md>)

### AI overview

The article proposes monotonic indentation as a source-code formatting rule: indentation may increase by exactly one unit between adjacent lines but may decrease by any number of units. It presents the rule as an optional check for existing style checkers or as a standalone tool, and compares it with Python's off-side rule.

### Source excerpt

Between two adjacent lines, indentation may grow by one unit only, but may shrink by any number of units -- a rule that resolves most code formatting disputes.

## Bjarne Stroustrup on Bell Labs and the Origins of C++

DevFeed: [Bjarne Stroustrup on Bell Labs and the Origins of C++](<https://devfeed.tech/articles/creator-of-c-bell-labs-negative-overhead-abstraction-mistakes-bjarne-stroustrup-18085.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/creator-of-c-bell-labs-negative-overhead>)

Author: Ryan Peterman

Published: 2026-05-18T10:02:48Z

Content type: article

Language: en

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

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [networking](<https://devfeed.tech/topics/networking.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [language](<https://devfeed.tech/tags/language.md>), [networking](<https://devfeed.tech/tags/networking.md>), [programming](<https://devfeed.tech/tags/programming.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

A podcast interview with Bjarne Stroustrup covers his work at Bell Labs and the origins of C++. He explains that C++ combined C's low-level hardware access with Simula's class concept and higher-level programming features for systems programming.

### Source excerpt

Transcript & Audio

## Why do developers count from zero?

DevFeed: [Why do developers count from zero?](<https://devfeed.tech/articles/why-do-developers-count-from-zero-39319.md>)

Original publisher: [Read original article](<https://kt.academy/article/index_zero>)

Published: 2026-04-27T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [C](<https://devfeed.tech/topics/c.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [The Julia Language](<https://devfeed.tech/topics/julia.md>), [Lua](<https://devfeed.tech/topics/lua.md>), [MATLAB](<https://devfeed.tech/topics/matlab.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [developers](<https://devfeed.tech/tags/developers.md>), [history](<https://devfeed.tech/tags/history.md>), [lua](<https://devfeed.tech/tags/lua.md>), [matlab](<https://devfeed.tech/tags/matlab.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This video explains why zero-based indexing became common. It discusses efficient use of numeric values and the simpler memory-address formula for arrays, while noting that MATLAB, Lua, and Julia use one-based indexing.

### Source excerpt

Why do developers count from zero? Short history and reasoning behind this convention.

## Range-Over Functions in Go

DevFeed: [Range-Over Functions in Go](<https://devfeed.tech/articles/range-over-functions-in-go-22234.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/04/range-over-functions-in-go.html>)

Published: 2026-02-16T00:00:00Z

Content type: article

Language: en

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

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [examples](<https://devfeed.tech/tags/examples.md>), [generators](<https://devfeed.tech/tags/generators.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This article explains Go's range-over-functions experiment, which proposes a standardized iterator model while preserving the familiar for range syntax. It introduces the iter package and sequence abstractions, compares iteration patterns, and uses stack examples to show how iterator logic can be implemented.

### Source excerpt

Iteration has long been one of the more fragmented areas of Go, with developers relying on ad hoc patterns to traverse custom data structures. This article explores the range-over-functions experiment, a proposed evolution of the language that introduces a standardized iterator model while preserving Go's familiar for range syntax. Using the new iter package and sequence abstractions, it shows how iteration logic can be expressed more clearly, flexibly, and idiomatically. Originally published in April 2024, the concepts remain highly relevant as Go continues to evolve toward more expressive yet simple language features.

## Installing Newer Versions of Java on Debian Systems

DevFeed: [Installing Newer Versions of Java on Debian Systems](<https://devfeed.tech/articles/installing-newer-versions-of-java-on-debian-systems-10765.md>)

Original publisher: [Read original article](<https://pimylifeup.com/debian-install-java/>)

Author: Emmet

Published: 2026-01-21T08:35:43Z

Content type: tutorial

Language: en

Sources: [Pi My Life Up](<https://devfeed.tech/sources/pi-my-life-up.md>)

Topics: [Debian](<https://devfeed.tech/topics/debian.md>), [Adoptium](<https://devfeed.tech/topics/adoptium.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [debian](<https://devfeed.tech/tags/debian.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [java](<https://devfeed.tech/tags/java.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-guides](<https://devfeed.tech/tags/linux-guides.md>), [programming](<https://devfeed.tech/tags/programming.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A quick tutorial for installing newer Java versions on Debian-based systems by adding the Eclipse Temurin repository from Adoptium. It covers system updates, installing wget, and retrieving the repository's GPG key, with support for Java 8 through Java 25 and AMD64 and ARM64 systems.

### Source excerpt

In this quick tutorial, you will be learning how to easily install the latest versions of Java on to almost any Debian system. Useful when the version of Java you need isn't avaialble. The post Installing Newer Versions of Java on Debian Systems appeared first on Pi My Life Up.

## A Practical guide to building a parser in Go

DevFeed: [A Practical guide to building a parser in Go](<https://devfeed.tech/articles/a-practical-guide-to-building-a-parser-in-go-27739.md>)

Original publisher: [Read original article](<https://gagor.pro/2026/01/a-practical-guide-to-building-a-parser-in-go/>)

Author: Tom

Published: 2026-01-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>)

Tags: [bnf](<https://devfeed.tech/tags/bnf.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [go](<https://devfeed.tech/tags/go.md>), [guide](<https://devfeed.tech/tags/guide.md>), [left-recursion](<https://devfeed.tech/tags/left-recursion.md>), [lexer](<https://devfeed.tech/tags/lexer.md>), [packrat-memoization](<https://devfeed.tech/tags/packrat-memoization.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [programming](<https://devfeed.tech/tags/programming.md>), [recursive-descent-parser](<https://devfeed.tech/tags/recursive-descent-parser.md>)

### AI overview

A developer describes building a recursive descent parser in Go to validate strings against a BNF-like grammar. The project began as an attempt to implement a simple BNF syntax analyzer and led to exploring parser and compiler concepts, including left recursion and Packrat memoization.

### Source excerpt

A developer's journey of building a recursive descent parser in Go, from basic concepts to tackling left recursion with Packrat memoization.

## Python 3.13.8 is now available

DevFeed: [Python 3.13.8 is now available](<https://devfeed.tech/articles/python-3-13-8-is-now-available-2377.md>)

Original publisher: [Read original article](<https://blog.python.org/2025/10/python-3138-is-now-available/>)

Author: Thomas Wouters

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

Content type: release

Language: en

Sources: [Python Insider](<https://devfeed.tech/sources/python-insider.md>)

Topics: [Python 3.13](<https://devfeed.tech/topics/python-3-13.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [build](<https://devfeed.tech/tags/build.md>), [community](<https://devfeed.tech/tags/community.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [python](<https://devfeed.tech/tags/python.md>), [python-3-13](<https://devfeed.tech/tags/python-3-13.md>), [release](<https://devfeed.tech/tags/release.md>), [release-schedule](<https://devfeed.tech/tags/release-schedule.md>), [releases](<https://devfeed.tech/tags/releases.md>)

### AI overview

Python 3.13.8 is the eighth maintenance release of Python 3.13, with around 200 bug fixes, build improvements, and documentation changes since Python 3.13.7.

### Source excerpt

The latest version of Python 3.13 is now available! Python 3.13.8 https://www.python.org/downloads/release/python-3138/ This is the eighth maintenance rele...

## 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

## Cangjie -- a programming language from Huawei

DevFeed: [Cangjie -- a programming language from Huawei](<https://devfeed.tech/articles/cangjie-a-programming-language-from-huawei-24546.md>)

Original publisher: [Read original article](<https://medium.com/snapp-mobile/cangjie-a-programming-language-from-huawei-fb0f7776be06?source=rss----bcd96e620b02---4>)

Author: Jasper Morgan

Published: 2025-08-19T07:37:53Z

Content type: opinion

Language: en

Sources: [Snapp Mobile - Medium](<https://devfeed.tech/sources/snapp-mobile-medium.md>)

Topics: [Programming language](<https://devfeed.tech/topics/programming-language.md>), [huawei](<https://devfeed.tech/topics/huawei.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Cross-Compilation](<https://devfeed.tech/topics/cross-compilation.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [cloud-computing](<https://devfeed.tech/topics/cloud-computing.md>), [Package Management](<https://devfeed.tech/topics/package-management.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [architectures](<https://devfeed.tech/tags/architectures.md>), [bytecode](<https://devfeed.tech/tags/bytecode.md>), [cangjie](<https://devfeed.tech/tags/cangjie.md>), [china](<https://devfeed.tech/tags/china.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [cross-compilation](<https://devfeed.tech/tags/cross-compilation.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development](<https://devfeed.tech/tags/development.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [huawei](<https://devfeed.tech/tags/huawei.md>), [huawei-developers](<https://devfeed.tech/tags/huawei-developers.md>), [language](<https://devfeed.tech/tags/language.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [package-management](<https://devfeed.tech/tags/package-management.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

This article examines Cangjie, an open-sourced programming language from Huawei. It describes Cangjie as a C-like language with features associated with Swift and Kotlin, support for embedded systems, mobile development, and cloud architectures, interoperability with C and Python, JVM bytecode compilation, cross-compilation, and integrated developer tools. The article suggests Huawei created it to gain more control over its language roadmap and consolidate development skills across products.

### Source excerpt

Cangjie -- a programming language from Huawei Huawei have been busy. Last month they open-sourced a programming language that is looking pretty interesting. Whilst you might not be writing in Cangjie next week, it's good to see what one of the world's largest technology companies is doing such that they have created a new programming language. TL;DR Cangjie is a C-like programming language that feels more like Swift/Kotlin than Java/C# or JavaScript/Typescript. The idea is for Cangjie to become the common programming language to be used throughout Huawei. Cangjie can be used for embedded systems, mobile development, server-side cloud architectures. It supports a variety of programming paradigms (function, OO, procedural), compilation and integration options. Cangjie can call C libraries (and be called from C), use Python libraries and even compile to JVM bytecode. Cangjie supports language extension to create lightweight DSLs. Primarily Cangjie programs are compiled into machine code -- this include cross compilation which mean they can run natively on different computer architectures. Cangjie comes with a set of in-built tools for developers such as package management, debugging, testing and IDE integration. Cangjie is openly available since this month and is in version 0.53.13. Why create a new language? Simply put, Cangjie gives Huawei a level of control and an economy of scale that they cannot get from other languages. Most mainstream languages are driven predominantly by teams in USA and Europe. It is hard to influence the road map for these languages -- especially for those tightly controlled by corporations (e.g. Java/Kotlin/Swift). Furthermore, consolidating programming skills could be a big efficiency gain for Huawei -- engineers working on products ranging from routers to petabyte storage to cloud computing and mobile devices can coalesce around one language and toolset. Show me some code I won't go into any detail here so this is just to satisfy your curiosit

## Records and the 'with' operator, redux

DevFeed: [Records and the 'with' operator, redux](<https://devfeed.tech/articles/records-and-the-with-operator-redux-30703.md>)

Original publisher: [Read original article](<https://codeblog.jonskeet.uk/2025/07/29/records-and-the-with-operator-redux/>)

Author: jonskeet

Published: 2025-07-29T20:00:38Z

Content type: opinion

Language: en

Sources: [Jon Skeet](<https://devfeed.tech/sources/jon-skeet.md>)

Topics: [C#](<https://devfeed.tech/topics/csharp.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Code review](<https://devfeed.tech/topics/code-review.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [election-2029](<https://devfeed.tech/tags/election-2029.md>)

### AI overview

A follow-up examination of an unexpected aspect of C# record types and the `with` operator. The article argues that the behavior is correct according to the documentation, but easy to misunderstand because readers may interpret `with` as changing properties on an object rather than creating a new record with different construction parameters.

### Source excerpt

In my previous blog post I described some behaviour of C# record types which was unexpected to me, though entirely correct according to the documentation. This is a follow-up post to that one, so if you haven't read that one yet, please do so - I won't go over all the same ground. Is this ... Continue reading Records and the 'with' operator, redux ->

## Heroku AppLink: Extend Salesforce with Any Programming Language

DevFeed: [Heroku AppLink: Extend Salesforce with Any Programming Language](<https://devfeed.tech/articles/heroku-applink-extend-salesforce-with-any-programming-language-26369.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/applink-extend-salesforce-with-any-programming-language/>)

Author: Vivek Viswanathan

Published: 2025-07-17T15:00:37Z

Content type: release

Language: en

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

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Code](<https://devfeed.tech/topics/code.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Python](<https://devfeed.tech/topics/python.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [agentforce](<https://devfeed.tech/tags/agentforce.md>), [apis](<https://devfeed.tech/tags/apis.md>), [applink](<https://devfeed.tech/tags/applink.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-flow](<https://devfeed.tech/tags/heroku-flow.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [python](<https://devfeed.tech/tags/python.md>), [release](<https://devfeed.tech/tags/release.md>), [salesforce](<https://devfeed.tech/tags/salesforce.md>)

### AI overview

Heroku introduces the generally available AppLink integration for Salesforce. AppLink lets developers securely deploy code written in different programming languages to the Salesforce platform and attach Heroku applications to multiple Salesforce orgs. The initial SDK support covers Node.js and Python, with Java examples using AppLink APIs.

### Source excerpt

The Salesforce platform offers a powerful array of tools for customization and building customer-centric experiences, from no-code automation with Flow, Prompt Builder, and Agent Builder, to robust Apex and Lightning Web Components. The art lies in choosing the right blend of these tools to achieve agility, optimize skill sets, and quickly adapt to business demands. [...] The post Heroku AppLink: Extend Salesforce with Any Programming Language appeared first on Heroku.

[Next page](<https://devfeed.tech/topics/programming-language.md?cursor=WyIyMDI1LTA3LTE3VDE1OjAwOjM3KzAwOjAwIiwgImNlZGRlNmI1LTlhMmMtNDA0My1hMmNjLTFjNWMxOTM2MzBlZiJd>)