Curated Picks

Hand-picked articles, podcasts, and videos, annotated with our insights

Showing 25-36 of 43

r/dotnet Subreddit Sep 18, 2023

Why don't you just use F#?

Reddit user

A 2022 Reddit discussion on r/dotnet, titled "Why don't you just use F#?", generated over 200 comments debating the language's adoption barriers within the .NET ecosystem. Proponents, including developers using F# for personal projects, highlighted its expressive type system, Discriminated Unions, and pipeline operators as transformative for domain modeling and code clarity. Critics, primarily C# practitioners, argued that C#'s ongoing incorporation of functional features (such as pattern matching and immutable collections) alongside libraries like LanguageExt, sufficiently addresses functional needs without imposing a paradigm shift. Multiple contributors cited concrete workplace impediments: resistance from teams entrenched in older .NET Framework versions, a lack of interop simplicity for mixed C#/F# assemblies, and perceived deficiencies in tooling and official Microsoft support compared to C#. The discussion concluded without resolution, underscoring a persistent community split between F#'s technical elegance and the pragmatic, team-based constraints favoring C#'s evolutionary path.

F#
r/elixir Subreddit Sep 15, 2023

How "Functional" is Elixir?

A Reddit discussion on Elixir's functional programming (FP) purity attracted extensive debate among practitioners. Proponents of strict FP definitions, citing languages like Haskell, noted Elixir's allowance of side effects via message passing and I/O breaks referential transparency. Others defended its pragmatic, immutable-by-default approach as sufficiently functional for building concurrent systems. Concrete outcomes included developers distinguishing between learning FP fundamentals (favoring Haskell) and applying FP patterns to web development (choosing Elixir). The discourse highlighted Elixir's design trade-offs: leveraging the BEAM's actor model for concurrency while accepting constraints like its limited built-in data types.

Elixir
Hacker News Sep 11, 2023

The Power of Prolog

_benj, HN user

A September 2023 Hacker News discussion on The Power of Prolog garnered over 100 comments, with practitioners describing the language as a "mind bending" paradigm shift for constraint solving and symbolic AI. Multiple users cited challenges integrating Prolog into modern software stacks and deprecated its use in systems like Gerrit's submit rules due to maintainer unfamiliarity. The dialogue highlighted concrete use cases, including TerminusDB's core implementation and historical application in Windows NT network configuration. Commenters noted a growing interest in purely logical dialects like Datalog for static analysis, while debates centered on the language's suitability for production versus its role in expanding problem-solving approaches.

Prolog
Hacker News May 3, 2023

Haskell in Production: Standard Chartered

NaeosPsy, HN user

In May 2023, a Hacker News discussion examined Standard Chartered's reported use of Haskell in production, centering on their internal dialect, Mu. The bank's Core Strats team maintains over 6 million lines of Mu code, a strict-by-default variant of Haskell, within their Cortex financial analytics library. Practitioners cited strict evaluation as essential for performance analysis and predictability within their existing C++-based runtime, though it prevents direct reuse of libraries dependent on lazy evaluation.

Commenters debated whether this constitutes a Haskell success story, given the significant language modification. Some noted a recurring pattern of production teams disabling or working around lazy evaluation due to performance costs, while others argued selective strictness is the norm. On hiring, several users with industry experience contested the narrative of difficulty, stating they receive abundant qualified applicants for Haskell roles, though scaling to hundreds of developers presents a different challenge.

The discussion surfaced concrete technical trade-offs: the Mu compiler was developed for strict semantics and code mobility, trading off full ecosystem compatibility for operational needs. The thread provided no new performance data but highlighted a persistent community dialogue on evaluation strategy and ecosystem fragmentation.

Haskell
Eiffel Users on Google Groups Dec 13, 2021

Design by Contract in CACM

Ian Joyner

CACM published a letter (also available in PDF) by Ian Joyner criticizing the application of Design by Contract to C and C++ via tools such as Frama-C. Joyner argues that retrofitting DbC onto C-family languages does not address core issues in their type systems and memory models, and he characterizes the approach as technically limited rather than a substitute for native contract support, citing Eiffel as the reference model. The publication triggered follow-on discussion within the Eiffel Users community about language lock-in, security implications, and historical adoption dynamics, with participants attributing C and C++ dominance to economic and educational inertia rather than technical fit.

Eiffel
Clojureverse Jul 28, 2020

Should the future of Clojure be ClojureScript?

adamkl, Clojureverse user

A 2020 ClojureVerse thread debated whether ClojureScript/Node.js should become Clojure's primary runtime given JavaScript's dominance. Core maintainers (dnolen, thheller, seancorfield) rejected the premise, citing JVM superiority for server workloads, multi-threading, and production stability. The creator of Shadow-cljs noted most users were "surprised" the tool required a JVM, suggesting the platform wasn't the adoption barrier. Five years later, Clojure remains JVM-centric with minimal ClojureScript server adoption, validating maintainers' assessment that JavaScript developers weren't blocked by tooling but by the language's steep learning curve and functional paradigm shift.

Clojure
r/programming subreddit Jun 3, 2020

The Rise and Fall of Commercial Smalltalk

xkriva11, Reddit user

Commercial Smalltalk vendors exited or downsized in the late 1990s and early 2000s as enterprise customers migrated to Java and other free runtimes, according to accounts from ParcPlace, Digitalk, and IBM alumni. The article argues that licensing costs per developer, deployment fees, and memory footprints made Smalltalk systems harder to justify once Java offered a VM-based, garbage-collected model at zero cost. Former practitioners attribute the decline to vendor focus on proprietary IDEs and GUI builders rather than standardization, tooling interoperability, and deployment workflows. The concrete result was the collapse of a commercial ecosystem, with Smalltalk surviving primarily through open-source implementations like Squeak and Pharo without comparable enterprise adoption.

Smalltalk
Allen Wirfs-Brock's blog Jun 2, 2020

The Rise and Fall of Commercial Smalltalk

Allen Wirfs-Brock

Commercial Smalltalk adoption collapsed after 1996 as major vendors exited the enterprise tools market and new Smalltalk application development largely stopped. Allen Wirfs-Brock attributes this shift to enterprise customers redirecting spending toward web architectures and Java, combined with vendor focus on fat-client tooling that left Smalltalk platforms unprepared for browser-centric deployment. The mergers of ParcPlace with Digitalk and IBM’s subsequent pivot from VisualAge Smalltalk to Java and Eclipse are cited as concrete inflection points. The outcome was vendor failure, long-term maintenance of existing systems by niche firms, and Smalltalk’s retreat to a fragmented but persistent community.

Smalltalk
Hacker News May 23, 2020

Ask HN: Who regrets choosing Elixir?

seancoleman, HN user

In May 2020, a Hacker News thread titled "Who regrets choosing Elixir?" ran for several days and accumulated more than 300 comments. Many participants coming from Ruby and Rails backgrounds reported positive experiences, particularly around concurrency-heavy workloads such as WebSockets, and pointed to system stability over time. Others, often describing teams that later moved away, focused on recurring friction points: difficulty hiring engineers comfortable with BEAM and OTP concepts, a comparatively small ecosystem that pushed teams toward maintaining internal libraries, and operational complexity when Erlang-style supervision hierarchies were combined with container-based deployment models.

The thread included accounts of companies rewriting Elixir services in more widely adopted languages after key developers left, citing increased on-call load and reduced maintainability. At the same time, other contributors described organizations that adopted Elixir selectively after internal evaluations and standardized on it for new infrastructure where its concurrency model was seen as a good fit.

Elixir
Clojureverse Mar 2, 2020

Is Phoenix Liveview an existential threat to Clojurescript?

danbunea, Clojureverse user

In March 2020, a ClojureScript discussion revisited whether Phoenix LiveView's server-driven UI model represented a serious threat to the ecosystem. Thomas Heller, the maintainer of shadow-cljs, framed LiveView as one option on a broader trade-off spectrum rather than a fundamental shift, while also pointing out how heavily ClojureScript had converged on React as a single dominant solution. Much of the debate focused on practical concerns: diffing performance, websocket behavior behind corporate proxies, and the balance between server-managed state and rich client-side interaction. By May 2020, Tatu Tarvainen released Ripley, a Clojure implementation of the LiveView approach.

Clojure
Hacker News Oct 17, 2019

An Interview with Jose Valim, Creator of Elixir

wickwavy, HN user

A 2019 Hacker News discussion on Elixir featured developers reporting order-of-magnitude performance gains, with one user claiming a 10x speed increase after rewriting a Django app in Phoenix. Participants debated the significance of TechEmpower benchmarks, while creator José Valim detailed specific BEAM VM optimizations like iolists and per-process GC that benefit web workloads. The thread also highlighted improved deployment tooling since Elixir 1.9 and ongoing community debate around the language's lack of a static type system for catching errors earlier. Multiple commenters noted adoption hurdles, including a smaller ecosystem and fewer available developers compared to mainstream languages.

Elixir
Welcome To The Jungle Oct 17, 2019

The One Who Created Elixir

In a 2019 interview, Elixir creator José Valim described the language's origin as a response to the multi-core programming challenge. He stated that adopting functional programming's immutable data and the Erlang VM's distributed-process model made whole classes of concurrency bugs "disappear". Valim emphasized that easing the learning curve through integrated tooling was a primary design goal to encourage adoption. The interview presents Elixir as a synthesis of ideas from languages like Clojure and Haskell, built upon the Erlang runtime.

Elixir