# F#

Published articles for F#.

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

## Replay Is a Family of Assertions: Fork-Safety in Event-Sourced Agent Runtimes

DevFeed: [Replay Is a Family of Assertions: Fork-Safety in Event-Sourced Agent Runtimes](<https://devfeed.tech/articles/replay-is-a-family-of-assertions-fork-safety-in-event-sourced-agent-runtimes-120794.md>)

Original publisher: [Read original article](<https://arxiv.org/abs/2611.06924>)

Author: Yohei Nakajima

Published: 2026-11-06T05:00:00Z

Content type: article

Language: en

Sources: [arXiv: Software Engineering](<https://devfeed.tech/sources/arxiv-software-engineering.md>)

Topics: [event-sourcing](<https://devfeed.tech/topics/event-sourcing.md>), [Agent Harness](<https://devfeed.tech/topics/agent-harness.md>), [recording](<https://devfeed.tech/topics/recording.md>)

Tags: [agent-runtimes](<https://devfeed.tech/tags/agent-runtimes.md>), [assertions](<https://devfeed.tech/tags/assertions.md>), [conditional](<https://devfeed.tech/tags/conditional.md>), [cost](<https://devfeed.tech/tags/cost.md>), [cs-pl](<https://devfeed.tech/tags/cs-pl.md>), [cs-se](<https://devfeed.tech/tags/cs-se.md>), [effect](<https://devfeed.tech/tags/effect.md>), [execution](<https://devfeed.tech/tags/execution.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [fork](<https://devfeed.tech/tags/fork.md>), [hmac](<https://devfeed.tech/tags/hmac.md>), [logs](<https://devfeed.tech/tags/logs.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [projection](<https://devfeed.tech/tags/projection.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [schedule](<https://devfeed.tech/tags/schedule.md>), [settlement](<https://devfeed.tech/tags/settlement.md>)

### AI overview

Replay and fork safety in event-sourced agent runtimes depend on which observation is promised. The paper presents an executable F# contract that separates recorded facts from effect requests and evaluates cuts for projection, strict execution replay, external continuation, or counterfactual-world observation. It shows that reactive settlement may be schedule-sensitive, general settlement may not terminate or converge, and disjoint declared writes do not rule out read or trigger interference. Across 5,540 public runtime logs, all 317,296 projection cuts met the stated observation, but 36,251 split a model request and did not license continuation; 120,969 more were conditional on serving a committed oracle result from the record without re-execution. In 121 observed forks, retained-prefix events had zero structural mismatches, but no fork crossed an external-effect boundary. A separate offline conformance fork crossed a recorded oracle boundary, with a generator checking no second fixture-oracle call and a verifier checking receipt/log consistency and a fork-bound HMAC assertion. The authors frame cheap forking as a property-indexed contract requiring explicit evidence and stated 환경

### Source excerpt

arXiv:2611.06924v1 Announce Type: cross Abstract: Event-sourced agent runtimes commonly claim deterministic replay, cheap forking, and lineage. These are families of assertions, not one guarantee. A fixed-log fold may be deterministic while reactive settlement remains schedule-sensitive; a recorded oracle result can enable zero-call replay while the original interaction still changed cost or world state; and a prefix copy cannot undo an action in a discarded suffix. We present an executable F# contract that separates facts from effect requests, makes scheduling explicit, and assesses a cut relative to projection, strict execution replay, external continuation, or a declared counterfactual-world observation. Preserved counterexamples show that general settlement is neither terminating nor confluent and that disjoint declared writes do not prevent read/trigger interference. Against 5,540 public runtime logs, all 317,296 projection cuts satisfy the stated observation, while 36,251 cuts split a model request and do not license continuation; another 120,969 are Conditional because a committed oracle result must be served from the record without re-execution. In 121 observed forks, 16,625 retained-prefix events have zero structural mismatches, but none crosses an external-effect boundary. A separate public offline conformance fork crosses a committed, recorded oracle boundary. Its generator observes that the inherited result is served without a second fixture-oracle call; its verifier checks receipt/log consistency and a fork-bound HMAC assertion under a public conformance key. The result reframes cheap forking as a property-indexed semantic contract with explicit evidence and environment preconditions.

## Announcing .NET 11 Release Candidate 2

DevFeed: [Announcing .NET 11 Release Candidate 2](<https://devfeed.tech/articles/announcing-net-11-release-candidate-2-86379.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/dotnet-11-rc-2/>)

Author: .NET Team

Published: 2026-10-13T19:40:00Z

Content type: release

Language: en

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

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Continuous Delivery (CD)](<https://devfeed.tech/topics/continuous-delivery.md>), [release engineering](<https://devfeed.tech/topics/release-engineering.md>)

Tags: [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [featured](<https://devfeed.tech/tags/featured.md>), [forms](<https://devfeed.tech/tags/forms.md>), [msbuild](<https://devfeed.tech/tags/msbuild.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-maui](<https://devfeed.tech/tags/net-maui.md>), [nuget](<https://devfeed.tech/tags/nuget.md>), [release](<https://devfeed.tech/tags/release.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [winforms](<https://devfeed.tech/tags/winforms.md>)

### AI overview

The .NET 11 Release Candidate 2 is available with go-live support for production applications. The release includes improvements across libraries, runtime, SDK, MSBuild, NuGet, F#, ASP.NET Core, .NET MAUI, and Windows Forms, and is supported by Visual Studio 2026 Insiders and Visual Studio Code with the C# Dev Kit.

### Source excerpt

.NET 11 Release Candidate 2 is available with improvements across libraries, runtime, SDK, MSBuild, NuGet, F#, ASP.NET Core, .NET MAUI, and Windows Forms. The post Announcing .NET 11 Release Candidate 2 appeared first on .NET Blog.

## Microsoft Releases .NET 11 RC1 with Go-Live Support, C# 15 and F# 11 as Default Language Versions

DevFeed: [Microsoft Releases .NET 11 RC1 with Go-Live Support, C# 15 and F# 11 as Default Language Versions](<https://devfeed.tech/articles/microsoft-releases-net-11-rc1-with-go-live-support-c-15-and-f-11-as-default-language-versions-26600.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/dotnet-11-rc-1-release/>)

Author: Almir Vuk

Published: 2026-09-15T07:11:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [releases](<https://devfeed.tech/topics/releases.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [SignalR](<https://devfeed.tech/topics/signalr.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [.NET MAUI](<https://devfeed.tech/topics/net-maui.md>), [native aot](<https://devfeed.tech/topics/native-aot.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [development](<https://devfeed.tech/tags/development.md>), [dotnet-11-rc-1-release](<https://devfeed.tech/tags/dotnet-11-rc-1-release.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [native-aot](<https://devfeed.tech/tags/native-aot.md>), [net](<https://devfeed.tech/tags/net.md>), [net-10](<https://devfeed.tech/tags/net-10.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-9](<https://devfeed.tech/tags/net-9.md>), [net-core](<https://devfeed.tech/tags/net-core.md>), [net-maui](<https://devfeed.tech/tags/net-maui.md>), [news](<https://devfeed.tech/tags/news.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [signalr](<https://devfeed.tech/tags/signalr.md>)

### AI overview

Microsoft released .NET 11 Release Candidate 1 with go-live support for production use. It makes C# 15 and F# 11 the default language versions and stabilizes features from the preview cycle. The release also extends testing across mobile and desktop targets, updates SignalR authentication refresh APIs, and adds SDK, ASP.NET Core, Blazor, and Native AOT-related improvements.

### Source excerpt

Last week, Microsoft has released .NET 11 Release Candidate 1, the first release candidate of the cycle, shipping with a go-live support license for production use. The release makes C# 15 and F# 11 the default language versions, extends dotnet test to mobile and desktop targets, finalizes the SignalR authentication refresh APIs, and improves Android build times in .NET MAUI. By Almir Vuk

## Announcing .NET 11 Release Candidate 1

DevFeed: [Announcing .NET 11 Release Candidate 1](<https://devfeed.tech/articles/announcing-net-11-release-candidate-1-2945.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/dotnet-11-rc-1/>)

Author: .NET Team

Published: 2026-09-08T21:30:00Z

Content type: release

Language: en

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

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [WinForms](<https://devfeed.tech/topics/winforms.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [featured](<https://devfeed.tech/tags/featured.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-maui](<https://devfeed.tech/tags/net-maui.md>), [nuget](<https://devfeed.tech/tags/nuget.md>), [production](<https://devfeed.tech/tags/production.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [updates](<https://devfeed.tech/tags/updates.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [visual-studio-2026](<https://devfeed.tech/tags/visual-studio-2026.md>), [windows](<https://devfeed.tech/tags/windows.md>), [winforms](<https://devfeed.tech/tags/winforms.md>)

### AI overview

.NET 11 Release Candidate 1 is available with a go-live support license. It includes updates across the runtime, SDK, MSBuild, NuGet, C#, F#, ASP.NET Core, .NET MAUI, and Windows Forms.

### Source excerpt

.NET 11 Release Candidate 1 is available with improvements across libraries, runtime, SDK, MSBuild, NuGet, C#, F#, ASP.NET Core, .NET MAUI, and Windows Forms. The post Announcing .NET 11 Release Candidate 1 appeared first on .NET Blog.

## 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 Core](<https://devfeed.tech/topics/asp-net-core.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [2026](<https://devfeed.tech/tags/2026.md>), [applications](<https://devfeed.tech/tags/applications.md>), [apps](<https://devfeed.tech/tags/apps.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [builds](<https://devfeed.tech/tags/builds.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developers](<https://devfeed.tech/tags/developers.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [features](<https://devfeed.tech/tags/features.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [languages](<https://devfeed.tech/tags/languages.md>), [lts](<https://devfeed.tech/tags/lts.md>), [net](<https://devfeed.tech/tags/net.md>), [net-10](<https://devfeed.tech/tags/net-10.md>), [net-9](<https://devfeed.tech/tags/net-9.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [nextgen](<https://devfeed.tech/tags/nextgen.md>), [product-features](<https://devfeed.tech/tags/product-features.md>), [release](<https://devfeed.tech/tags/release.md>), [support](<https://devfeed.tech/tags/support.md>)

### AI overview

.NET 10 is available on Heroku and, as a three-year LTS release with regular updates and security patches, is presented as the recommended basis for new production apps. Heroku says its buildpack supports .NET 10 features including single-file apps, which it auto-detects and builds without project configuration. .NET 8 and .NET 9 remain supported alongside .NET 10 but reach end of support on November 10, 2026, so the article recommends planning migrations. The excerpt also names a new solution format and says .NET 10 RC apps will use the stable release on a subsequent build, but the relevant migration command and build details are missing.

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

## The long season of langdev

DevFeed: [The long season of langdev](<https://devfeed.tech/articles/the-long-season-of-langdev-41788.md>)

Original publisher: [Read original article](<https://blog.fogus.me/langdev/long-season/>)

Author: fogus

Published: 2025-08-19T12:44:49Z

Content type: article

Language: en

Sources: [Mike Fogus](<https://devfeed.tech/sources/mike-fogus.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [software-development](<https://devfeed.tech/topics/software-development.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Python](<https://devfeed.tech/topics/python.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [ai](<https://devfeed.tech/tags/ai.md>), [async](<https://devfeed.tech/tags/async.md>), [await](<https://devfeed.tech/tags/await.md>), [carbon](<https://devfeed.tech/tags/carbon.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [computing](<https://devfeed.tech/tags/computing.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [dart](<https://devfeed.tech/tags/dart.md>), [data-driven](<https://devfeed.tech/tags/data-driven.md>), [design](<https://devfeed.tech/tags/design.md>), [development](<https://devfeed.tech/tags/development.md>), [elixir](<https://devfeed.tech/tags/elixir.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [go](<https://devfeed.tech/tags/go.md>), [langdev](<https://devfeed.tech/tags/langdev.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

The author argues that programming language development has entered a quieter season since the 2002-2013 wave, with innovation spreading into domain-specific languages and integrated systems rather than producing many industry-shifting general-purpose languages. New languages often recombine established features, while ideas such as null safety, pattern matching, async/await, data-driven design, and higher-kinded types may take time to mature. The author also identifies higher launch expectations: a serious new language needs an integrated product and ecosystem, and faces an LLM feedback loop favoring languages with abundant training code. Mojo, Vale, Carbon, and Gleam are cited as current experiments; whether they become widely adopted remains uncertain. The text cautions that language trends are entangled with economic, cultural, and technological forces, making historical patterns hard to interpret.

### Source excerpt

Whereby I talk about programming language development and why, and where it might go...

## .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: [.NET](<https://devfeed.tech/topics/net.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Visual Basic](<https://devfeed.tech/topics/visual-basic.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>), [beta](<https://devfeed.tech/tags/beta.md>), [build](<https://devfeed.tech/tags/build.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [builds](<https://devfeed.tech/tags/builds.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [console](<https://devfeed.tech/tags/console.md>), [deployments](<https://devfeed.tech/tags/deployments.md>), [developers](<https://devfeed.tech/tags/developers.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [easily](<https://devfeed.tech/tags/easily.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [general-availability](<https://devfeed.tech/tags/general-availability.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [languages](<https://devfeed.tech/tags/languages.md>), [latest](<https://devfeed.tech/tags/latest.md>), [native](<https://devfeed.tech/tags/native.md>), [net](<https://devfeed.tech/tags/net.md>), [net-sdk](<https://devfeed.tech/tags/net-sdk.md>), [news](<https://devfeed.tech/tags/news.md>), [this](<https://devfeed.tech/tags/this.md>)

### AI overview

.NET support on Heroku has moved from beta to general availability and is described as production-ready and covered by Heroku's support policy. Heroku supports C#, F#, and Visual Basic, automatically detects, builds, and deploys .NET applications, and installs SDKs and runtimes based on the project; developers can override defaults. ASP.NET Core apps are configured to listen on the appropriate port, while Console and Worker Service project types are detected during builds. The excerpt also promises access to new stable .NET releases on release day and provides developer documentation and deployment support. It ends mid-description, so it does not establish the full set of SDK selection or configuration details.

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

## .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>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [beta](<https://devfeed.tech/tags/beta.md>), [blazor](<https://devfeed.tech/tags/blazor.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>), [database](<https://devfeed.tech/tags/database.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [developer](<https://devfeed.tech/tags/developer.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [frameworks](<https://devfeed.tech/tags/frameworks.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>), [nextgen](<https://devfeed.tech/tags/nextgen.md>), [platform](<https://devfeed.tech/tags/platform.md>), [public-beta](<https://devfeed.tech/tags/public-beta.md>), [support](<https://devfeed.tech/tags/support.md>), [visual-basic](<https://devfeed.tech/tags/visual-basic.md>)

### AI overview

.NET support on Heroku has entered public beta, enabling deployment of C#, F#, and Visual Basic applications, including ASP.NET Core and Blazor. Heroku's official buildpack builds on earlier community buildpacks and is described as providing out-of-the-box deployment with customization options, consistent updates, testing, and quality assurance. Setting the buildpack is required during the beta. Heroku points to a Blazor tutorial that uses managed Heroku Postgres and runs migrations, plus a support reference for documentation.

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

## GitHub Desktop 1.0.11

DevFeed: [GitHub Desktop 1.0.11](<https://devfeed.tech/articles/github-desktop-1-0-11-75584.md>)

Original publisher: [Read original article](<https://github.com/desktop/desktop/releases/tag/release-1.0.11>)

Published: 2024-10-08T11:36:24Z

Content type: release

Language: en

Sources: [GitHub Desktop](<https://devfeed.tech/sources/github-desktop.md>)

Topics: [GitHub Desktop](<https://devfeed.tech/topics/github-desktop.md>)

Tags: [branch](<https://devfeed.tech/tags/branch.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [github](<https://devfeed.tech/tags/github.md>), [github-desktop](<https://devfeed.tech/tags/github-desktop.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [list](<https://devfeed.tech/tags/list.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [repositories](<https://devfeed.tech/tags/repositories.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

GitHub Desktop 1.0.11 adds substring matching in branch and repository filters, previews for ICO files, and syntax highlighting for Visual Studio project, F#, Kotlin, and Clojure files. The release also fixes branch and commit history behavior, pull request branch-name encoding, and several Windows interface issues.

### Source excerpt

**New** - Highlight substring matches in the "Branches" and "Repositories" list when filtering - #910. Thanks @JordanMussi! - Add preview for ico files - #3531. Thanks @serhiivinichuk! - Fallback to Gravatar for loading avatars - #821 - Provide syntax highlighting for Visual Studio project files - #3552. Thanks @saul! - Provide syntax highlighting for F# fsx and fsi files - #3544. Thanks @saul! - Provide syntax highlighting for Kotlin files - #3555. Thanks @ziggy42! - Provide syntax highlighting for Clojure - #3523. Thanks @mtkp! **Fixed** - Fix ordering of commit history when your branch and tracking branch have both changed - #2737 - Prevent creating a branch that starts with a period - #3013. Thanks @JordanMussi! - Branch names are properly encoded when creating a pull request - #3509 - Re-enable all the menu items after closing a popup - #3533 - Removes option to delete remote branch after it's been deleted - #2964. Thanks @JordanMussi! - Windows: Detects available editors and shells now works even when the group policy blocks write registry access - #3105 #3405 - Windows: Menu items are no longer truncated - #3547 - Windows: Prevent disabled menu items from being accessed - #3391 #1521 **Improved** - Toggle the "Repository List" from the menu - #2638. Thanks @JordanMussi! - Prevent saving of disallowed character strings for your name and email - #3204 - Error messages now appear at the top of the "Create a New Repository" dialog - #3571. Thanks @http-request! - "Repository List" header is now "Github.com" for consistency - #3567. Thanks @iFun! - Rename the "Install Update" button to "Quit and Install Update" - #3494. Thanks @say25!

## Gradient descent: back to basics with F# and C#

DevFeed: [Gradient descent: back to basics with F# and C#](<https://devfeed.tech/articles/gradient-descent-back-to-basics-with-f-and-c-38430.md>)

Original publisher: [Read original article](<https://khmylov.com/2023/02/gradient-descent-engine/>)

Author: Andrew Khmylov

Published: 2023-02-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [Despite the odds](<https://devfeed.tech/sources/despite-the-odds.md>)

Topics: [C#](<https://devfeed.tech/topics/csharp.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Deep neural networks](<https://devfeed.tech/topics/deep-neural-networks.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [code](<https://devfeed.tech/tags/code.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>)

### AI overview

An overview of building a gradient descent engine from scratch, with discussion of using F# and C# and a simplified explanation of neural network training.

### Source excerpt

After dabbling with high-level AI tools recently, I wanted to revisit the basics and look under the hood. As they say, the best way to learn something is to build it. I've been following wonderful "from scratch" videos from Andrej Karpathy, where he starts with the essence of all modern AI architectures: gradient descent engine. So, I decided to keep along and build my own engine at https://github.com/khmylov/dumb-gradient, and this article is an overview of its implementation, and some thoughts on using F# and C# for a task like that. Side note: look back at university I completely forgot that one of my university projects back in 2010 was actually about building an image recognition neural network! It was funny to look back at the source code from that era. Turns out, the core ideas are still relevant, it's just computational advances, new modelling discoveries and infrastructure around them that allowed so much progress in the last decade. I'm not going to recite all the details here, the main (much simplified) ideas to comprehend are as follows (I recommend Deep Learning with PyTorch, fast.ai course, and Huggingface course to get a much deeper dive into this) We can represent most real-world data, like text, images, sounds, as vast arrays of numbers Turns out, we can model a lot of "intelligence" tasks (natural language processing, image recognition, etc.) with sophisticated mathematical functions operating on our numeric representation of real-world data Universal approximation theorem was a break-through postulating that even most sophisticated functions can be actually modeled by combining only primitive linear f(x) = a * x + b and basic non-linear functions such as tanh into some inter-connected network (here come the inevitable neuron models and neural networks), we just need a huge number of them to do that, and some computation power to figure out the arguments for those functions "Training" such networks is figuring out how to tweak randomly initialized

## A Tour of F# Editor Tooling

DevFeed: [A Tour of F# Editor Tooling](<https://devfeed.tech/articles/a-tour-of-f-editor-tooling-67175.md>)

Original publisher: [Read original article](<https://githubnext.com/talks/a-tour-of-f-editor-training/>)

Published: 2021-08-03T00:00:00Z

Content type: article

Language: en

Sources: [GitHub Next](<https://devfeed.tech/sources/github-next.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>)

Tags: [editor](<https://devfeed.tech/tags/editor.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [ide](<https://devfeed.tech/tags/ide.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

A tour of the F# editor tooling ecosystem, including language server support, IDE integrations, and developer experience across editors.

### Source excerpt

A tour of the editor tooling ecosystem for F#, covering language server support, IDE integrations, and the developer experience across editors.

## Serverless v1.17 - F# service template, deployment skipping when files not changed added

DevFeed: [Serverless v1.17 - F# service template, deployment skipping when files not changed added](<https://devfeed.tech/articles/serverless-v1-17-f-service-template-deployment-skipping-when-files-not-changed-added-14412.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/serverless-v1-17-0>)

Author: Philipp Müns

Published: 2017-07-06T00:00:00Z

Content type: release

Language: en

Sources: [Serverless](<https://devfeed.tech/sources/serverless-blog.md>)

Topics: [serverless framework](<https://devfeed.tech/topics/serverless-framework.md>), [Template](<https://devfeed.tech/topics/template.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [F#](<https://devfeed.tech/topics/fsharp.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [faas](<https://devfeed.tech/tags/faas.md>), [files](<https://devfeed.tech/tags/files.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [news](<https://devfeed.tech/tags/news.md>), [release](<https://devfeed.tech/tags/release.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>), [serverless-framework](<https://devfeed.tech/tags/serverless-framework.md>)

### AI overview

The Serverless Framework v1.17 release adds an F# service template and skips deployment when files have not changed, along with other updates.

### Source excerpt

F# service template, deployment skipping when files not changed and more in the Serverless Framework v1.17 release.

## Microsoft Announces Xamarin Integration and Free Visual Studio Access

DevFeed: [Microsoft Announces Xamarin Integration and Free Visual Studio Access](<https://devfeed.tech/articles/xamarin-microsoft-build-reactions-41573.md>)

Original publisher: [Read original article](<http://www.adamtuliper.com/2016/05/build-xamarin-announcements.html>)

Author: Adam Tuliper (noreply@blogger.com)

Published: 2016-05-19T09:23:00Z

Content type: opinion

Language: en

Sources: [Adam Tuliper](<https://devfeed.tech/sources/adam-tuliper.md>)

Topics: [Xamarin](<https://devfeed.tech/topics/xamarin.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Visual Studio](<https://devfeed.tech/topics/visual-studio.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [Software Testing](<https://devfeed.tech/topics/software-testing.md>), [simulator](<https://devfeed.tech/topics/simulator.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [testing](<https://devfeed.tech/tags/testing.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>)

### AI overview

The article reacts to Microsoft's announcement that Xamarin will be included in Visual Studio editions, including the free Community Edition. It explains that developers can build native iOS and Android apps with C# or F#, that the Xamarin SDKs are open source, and that iOS development requires a Mac.

### Source excerpt

The.Time.Has.Come. One of the most exciting announcements at //Build (if not _the_ most exciting) is that the long-rumored joining of forces has finally happened between Microsoft and Xamarin. You can read the details here, but in a nutshell it goes like this: "Xamarin will be in every edition of Visual Studio, including the widely-available Visual Studio Community Edition, which is free for individual developers, open source projects, academic research, education, and small professional teams. Develop and publish native apps for iOS and Android with C# or F# from directly within Visual Studio with no limits on app size." This is huge. I've spoken with developers in the last couple years or so that really wanted to use Xamarin but shied away because of the costs. Now it is free. The Xamarin SDKs are also now open source, so you can view each platform's SDK code until your heart is content. Getting started is pretty simple but there are some requirements to be aware of. Building for iOS requires a Mac. Building for Android requires really...anything. Testing for either can be done on a PC with the new iOS Simulator James demos in the Channel 9 video below, which brings me to the next subject. I had the pleasure of talking with James Montemagno from Xamarin for my relatively new Channel 9 blog Adam's Garage (ps - hit me up with any content you want to see). You'll be hard pressed to find a more passionate mobile developer than James and he demos how easy it is to create a new app and a couple sample applications. Watch the video inline, or jump on over watch it on Channel 9 and be sure to read the notes below the video there to see the various specific subjects and direct links. Where to next? Get Visual Studio with Xamarin or install Xamarin into your existing Visual Studio instance. This url will allow you to do either. Once everything is setup, check out the following links for some great samples and further learning. Happy Coding :) MyDriving Sample App - Azure Io

## A defense of boring languages

DevFeed: [A defense of boring languages](<https://devfeed.tech/articles/a-defense-of-boring-languages-77656.md>)

Original publisher: [Read original article](<https://danluu.com/boring-languages/>)

Published: 2015-05-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Danluu](<https://devfeed.tech/sources/danluu.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [c/c++](<https://devfeed.tech/topics/c-c-plus-plus.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>), [Racket](<https://devfeed.tech/topics/racket.md>)

Tags: [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [java](<https://devfeed.tech/tags/java.md>), [joel-spolsky](<https://devfeed.tech/tags/joel-spolsky.md>), [languages](<https://devfeed.tech/tags/languages.md>), [lisp](<https://devfeed.tech/tags/lisp.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

The author argues that mainstream, widely used programming languages are underrated choices. They say less familiar languages can help reduce boilerplate on routine work, while difficult problems depend more on domain knowledge; for many projects, language choice also reflects the systems and colleagues developers want to work with. The article lists substantial software built with C, C++, and Java and questions the emphasis placed on learning fashionable languages.

### Source excerpt

Boring languages are underrated. Many appear to be rated quite highly, at least if you look at market share. But even so, they're underrated. Despite the popularity of Dan McKinley's "choose boring technology" essay, boring languages are widely panned. People who use them are too (e.g., they're a target of essays by Paul Graham and Joel Spolsky, and other people have picked up a similar attitude). A commonly used pitch for interesting languages goes something like "Sure, you can get by with writing blub for boring work, which almost all programmers do, but if you did interesting work, then you'd want to use an interesting language". My feeling is that this has it backwards. When I'm doing boring work that's basically bottlenecked on the speed at which I can write boilerplate, it feels much nicer to use an interesting language (like F#), which lets me cut down on the amount of time spent writing boilerplate. But when I'm doing interesting work, the boilerplate is a rounding error and I don't mind using a boring language like Java, even if that means a huge fraction of the code I'm writing is boilerplate. Another common pitch, similar to the above, is that learning interesting languages will teach you new ways to think that will make you a much more effective programmer1. I can't speak for anyone else, but I found that line of reasoning compelling when I was early in my career and learned ACL2 (a Lisp), Forth, F#, etc.; enough of it stuck that I still love F#. But, despite taking the advice that "learning a wide variety of languages that support different programming paradigms will change how you think" seriously, my experience has been that the things I've learned mostly let me crank through boilerplate more efficiently. While that's pretty great when I have a boilerplate-constrained problem, when I have a hard problem, I spend so little time on that kind of stuff that the skills I learned from writing a wide variety of languages don't really help me; instead, what h

## An Unbiased Comparison of F# and Scala

DevFeed: [An Unbiased Comparison of F# and Scala](<https://devfeed.tech/articles/an-unbiased-comparison-of-f-and-scala-33402.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2013/06/22/comparing-scala-to-fsharp>)

Published: 2013-06-22T00:00:00Z

Content type: comparison

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [F#](<https://devfeed.tech/topics/fsharp.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [comparison](<https://devfeed.tech/tags/comparison.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [functional](<https://devfeed.tech/tags/functional.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [languages](<https://devfeed.tech/tags/languages.md>), [object](<https://devfeed.tech/tags/object.md>), [object-oriented](<https://devfeed.tech/tags/object-oriented.md>), [programming](<https://devfeed.tech/tags/programming.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

A developer compares F# and Scala from the perspective of a .NET developer who began working with Scala. The article argues that Scala is more approachable but less purely functional, while F# adheres more closely to functional programming principles. It also compares their object-oriented features, function definitions, currying, and partial function application.

### Source excerpt

Given my history as a .NET developer I learned Functional Programming via F#, but I just started a new job as a Scala developer. Naturally, I've been comparing the two languages and the quirks and nuances that make could make them enjoyable or problematic. To summarize quickly, I think Scala is more approachable but less "pure" than F#. Scala seems to have a diverse set of influences whereas F# tries to stick closely to proven Functional Programming basics.

## Discriminated Unions in C# Mono Compiler

DevFeed: [Discriminated Unions in C# Mono Compiler](<https://devfeed.tech/articles/discriminated-unions-in-c-mono-compiler-33391.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2012/03/10/discriminated-unions-in-c-mono-compiler>)

Published: 2012-03-10T00:00:00Z

Content type: opinion

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [F#](<https://devfeed.tech/topics/fsharp.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [.NET](<https://devfeed.tech/topics/net.md>), [OCaml](<https://devfeed.tech/topics/ocaml.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [enum](<https://devfeed.tech/tags/enum.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

The author explores discriminated unions in F#, compares them with C# enums, and considers modifying the Mono C# compiler to support similar constructs in C#. The article presents this as an early-stage proof-of-concept idea rather than a completed implementation.

### Source excerpt

Recently I've been using F# a bit. F# is .NET's functional language (the syntax of F# 1.0 was backward compatible with OCaml, but 2.0 has diverged enough to make it more distinct). Learning F# was a huge mind-shift from the C-family of languages. Of all the features of F#, like implicit typing, tail recursion, and monads, many people list discriminated unions as their favorite.

## One Thing I Learned From F# (Nulls Are Bad)

DevFeed: [One Thing I Learned From F# (Nulls Are Bad)](<https://devfeed.tech/articles/one-thing-i-learned-from-f-nulls-are-bad-33390.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2012/02/29/one-thing-i-learned-from-f-nulls-are>)

Published: 2012-02-29T00:00:00Z

Content type: opinion

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [F#](<https://devfeed.tech/topics/fsharp.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [pattern matching](<https://devfeed.tech/topics/pattern-matching.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [OCaml](<https://devfeed.tech/topics/ocaml.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [functional](<https://devfeed.tech/tags/functional.md>), [pattern-matching](<https://devfeed.tech/tags/pattern-matching.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

The author reflects on learning F# while contributing to VsVim, highlighting pattern matching, discriminated unions, and F#'s option types. The article argues that using None and Some instead of null can make invalid states explicit and reduce null-related bugs.

### Source excerpt

Recently I started contributing to VsVim, a Visual Studio plugin that emulates Vim. When he was starting the project, Jared Parsons decided to write the bulk of it in F#. He did this mostly as a chance to learn a new language but also because it's a solid first class alternative to C#. For instance, F#'s features like pattern matching and discriminated unions are a natural fit for state machines like Vim.This is my first experience with a truly functional language. For those who aren't familiar with F#, it's essentially OCaml.NET (the F# book uses OCaml for it's markup syntax), but also draws roots from Haskell. It's a big mind shift from imperative and pure object oriented languages, but one I'd definitely recommend to any developer who wants to be better.Since I've been working on VsVim, I've been using F# in my spare time but C# in my regular day job. The longer I use F# the more I want C# to do what F# does. The biggest example is how F# handles nulls.In C# (and Ruby, Python, and any imperative language) most values can be null, and null is a natural state for a variable to be in. In fact (partly due to SQL), null is used whenever a value is empty or doesn't exist yet. In C# and Java, null is the default value for any member reference, you don't even need to explicitly initialize it. As a result, you often end up with a lot of null pointer exceptions due to sloppy programming. After all, it's kind of hard to remember to check for null every time you use a variable.In F#, nothing is null (that's not entirely true, but in it's natural state it's true enough). Typically you'll use options instead of null. For instance, if you have a function that fails to find or calculate something you might return null in imperative languages (and the actual value if successful). However, in F# you use an option type and return None on failure and Some value on success.Here, every time you call find(kittens) you get back an option type. This type isn't a string, so you can't just

## Ruby and .NET: Comparing Language Features and Developer Communities

DevFeed: [Ruby and .NET: Comparing Language Features and Developer Communities](<https://devfeed.tech/articles/parenthetical-thesis-on-ruby-net-or-irongem-or-whatever-the-kids-call-it-these-days-33376.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2011/08/29/parenthetical-thesis-on-rubynet-or>)

Published: 2011-08-29T00:00:00Z

Content type: opinion

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [.NET](<https://devfeed.tech/topics/net.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [expression](<https://devfeed.tech/tags/expression.md>), [extension](<https://devfeed.tech/tags/extension.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [linq](<https://devfeed.tech/tags/linq.md>), [mixins](<https://devfeed.tech/tags/mixins.md>), [monkey-patching](<https://devfeed.tech/tags/monkey-patching.md>), [net](<https://devfeed.tech/tags/net.md>), [python](<https://devfeed.tech/tags/python.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

The author compares Ruby and .NET, highlighting Ruby's mixins, monkey patching, REPL, and blocks alongside C#'s type safety, LINQ, and expression trees. The author concludes that neither platform is inherently better, but prefers the Ruby community.

### Source excerpt

Since college I've always been a huge fan of dynamic languages. I was really into Python for a long time and in the past year or so I've picked up Ruby. It's well known that the open source/dynamic language world has always looked down on the .NET/Java world as some sort of inferior. While having a conversation with a colleague about ruby versus .NET I stumbled on a conclusion.Ruby has some great features like mixins, monkey patching, a REPL. I also love how blocks make closures such an accessible and natural way to program. Ruby makes easy things easy and hard things fun.On the other hand, C# is one of the most beautiful typesafe languages (although F# is gaining favor with me). Linq and expression trees provide functionality that you literally cannot reproduce in dynamic languages (it requires knowledge of types, which dynamic languages theoretically shouldn't care about). With the crazy stuff that people are doing with expression trees (building SQL statements, mapping objects, selecting properties, etc) it makes it hard to say I'd rather be doing ruby.While C# has some analogous ruby constructs (extension methods are kind of like a lesser form of monkey patching), it still suffers from some of the classical faults of static languages (there can be a lot of extra code just to deal with types and to play nicely with the compiler). At the same time, the compiler also writes tests for you (a contract states you will have these methods, yet in ruby you can't ever be completely sure they'll actually be there. Something that you'd have to write unit tests for in ruby).The conclusion I came to was that, at this point in time, there really isn't a compelling reason why ruby is better than .NET or vice versa. Except for one thing - the communities. The ruby community is nearly too much fun. In Boulder, where I live, there are several companies that host regular hackfests. There are also annual ruby conventions where people get together, socialize, and share new ideas. In