Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
When FP? And When OOP? (2013)
Very roughly speaking, functional programming (“FP”) and object-oriented programming (“OOP”) have similar levels of expressive power and similar abilities to encapsulate programs into smaller parts that can be combined and recombined.
On Go
This is one of a series of posts on languages, you can read more about that here . A grab bag of observations on the Go programming language, positive and negative. It bucks some orthodoxy on what a good effective language is supposed to look like. It makes sensible engineering decisions and is sq
Terraform is not the golden hammer
The Kubernetes control plane for humans and AI agents, on your own infrastructure, cloud or on-premise.
Software eats software development
programming, philosophy, history, internet, startups
CommonJS is hurting JavaScript
How CommonJS became Node's module system, ESM solved modules for the browser, and why supporting both slows down the JavaScript ecosystem.
What Is a Staff Engineer?
"I've worked with a couple of Staff Engineers on different teams in the past and I've seen them do different things, but I've not been able to pin down exactly what they do." I get this question quite frequently. Sometimes from engineers looking to elevate their roles.
Sorbet and 100% cov makes Ruby refactoring possible
Safely refactoring Ruby traditionally involves many incremental steps and feature flags. Sorbet and 100% branch coverage make it possible to refactor a lot of code safely.
State of the Web: Deno
What is Deno, why does it matter, and how is it currently used for server-side JavaScript?
The Problem with Git Flow
Learn why Git flow complicates the lifecycle and discover an alternative to streamline development.
Golang Diaries: Generics
My coding time this year has been invested in Quamina , an event-filtering library implemented in Go. Just in the last couple of weeks I spotted an opportunity to bring Go’s shiny new generics to bear, and not just anywhere, but for a central data structure. I got good results, but the process was sort of painful; I…
REPL vs CLI: IDE wars
An unfair heavily biased apples-to-oranges comparison… unless?
Understanding Memory Management, Part 5: Fighting with Rust
This is the fifth post in my planned multipart series on memory management. You will probably want to go back and read Part I , which covers C, parts II and III , which cover C++, and part IV , which introduces Rust memory management. In part IV, we got through the basics of Rust memory management up through smart…
IntelliJ IDEA 13 Brings a Full Bag of Goodies to Android Developers
At JetBrains we're always listening to developers, and Android developers are no exception. Based on this tight feedback loop, we've made a long list of changes to our award-winning IDE which will hop
Hoare’s Rebuttal and Bubble Sort’s Comeback
Editor’s note: For this blog entry I welcome my friend and colleague Gerben Stavengaas a guest author.
Spark joy by running fewer tests
Developers write tests to ensure correctness and allow future changes to be made safely. However, as the number of features grows, so does the number of tests. Tests are a double-edged sword. On one hand, well-written ones catch bugs and maintain a program’s stability, but as the code base grows, a high number of…
Parsing S-expressions in C (2019)
Over the past couple weeks I've been trying to work out how I want to store my game configuration. At first I started playing with XML, which was nice because I could stream a file rather than loading the entire thing into memory but I turned away from XML because …
Launching Version 13.0 of Wolfram Language and Mathematica
More than 600 new functions in Version 13 plus loads of updates covering: symbolic integration, mathematical functions, PDE modeling, video creation, image stitching, tree constructs, graph coloring, subgraph isomorphism, spatial fields, leap seconds, maps, geometric regions, chemical formulas & reactions, bio…
Converting Codebases with LLMs
Leverage LLMs with context like code structure, libraries, and screenshots to streamline code conversion tasks and accelerate development.
GetElementById vs. QuerySelector
A while ago, I was curious how the speed of document.getElementById compared to document.querySelector in Javascript for selecting a single element by ID. querySelector has to do a lot more work, so one would expect that it would be slower, but I didn't know if the difference was enough to care about.
Overview of the Crystal language
In the jungle of new programming languages, Crystal is one of the most popular ones, but also the most mysterious. Let's take a look at it.
Sublime Text 2 Build 2091
Sublime Text 2 Build 2091 is available now, with a raft of new features. Many thanks to everyone who has tested the dev builds during this time.
Simply Secure PHP Cryptography
A reflection on the first six months of the year, ext/sodium landing in PHP 7.2, and where to go from here.
Progressive React
Building progressive and performant sites with React