Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,843 posts.

Any year
17581

Everyone has JavaScript, right?

These are by no means all the reasons why your JavaScript might fail to run even when you expected it to. Andy Bell has a great list over at piccalil.li of a handful of very realistic reasons JavaScript won’t be available . Check ’em out, and be prepared.

17583

A critique of package managers

n.b. This is a written version of a dialogue from a YouTube video: 2 Language Creators vs 2 Idiots | The StandupPackage managers (for programming languages) are evil.⁠11 The term “evil” is being used partially hyperbolic to make a point.To start, I need to make a few distinctions between concepts a lot of programmers…

17585

Life Before Unicode

Unicode definitely added a lot of complexity to string handling, and people who use languages with ASCII alphabets exclusively may think it's unjustified. However, I'm a non-ASCII language speaker who's old enough to remember the alternatives, and the alternatives are far worse than the complexity of Unicode.

17587

Making sense of React Server Components

This year, the React team unveiled something they've been quietly researching for years: an official way to run React components exclusively on the server. This is a significant paradigm shift, and it's caused a whole lot of confusion in the React community. In this tutorial, we'll explore this new world, and build an…

17592

Why enterprise software is bloated

People are often baffled why enterprise software is slow, uses lots of memory, and is generally a pain to work with. Before starting mailbox.my, I did work at a large enterprise software company, so I hope to offer some insights with this post. Most of this actually applies to software in general.

17597

A case against currying

Curried functions are probably one of the first new things you come across if you go from an imperative language to a functional language. In purely functional languages, the convention is to define an n-parameter function inductively by staggering the parameters: applying the function to argument #1 returns a…

17598

Deconstructing "K&R C"

Learn C The Hard Way (LCTHW) is a practical book teaching real world useful C using the same proven Learn The Hard Way method. LCTHW teaches real robust C coding and defensive programming tactics on real hardware rather than abstract machines and pedantic theory. The book emphasizes breaking your code on purpose, and…

17605

The C++ Killers (Not You, Rust)

All the “C++ killers”, even these which I wholeheartedly love and respect like Rust, Julia, and D, help you write more features with fewer bugs, but they don't much help when you need to squeeze the very last FLOPS from the hardware you rent. As such, they don’t have a competitive advantage over C++. Or, for that…

17607

Functional Programming Self-Affirmations

Dmitrii Kovanikov writes posts about enterprise software development and functional programming, both entertaining and serious. I never used a functional programming language (such as Haskell or OCaml) at work, but several ideas from functional programming have become popular in mainstream general-purpose programming…

17609

The challenges of teaching software engineering

I've just finished teaching a four-day course introducing software engineering for the first time. My plan is to refine the course (I'm teaching it again in October), and it will eventually become the basis for doctoral training programmes in research software engineering at Oxford, and part of a taught Masters. My…

17610

PHP 8.3

PHP 8.3 is a major update of the PHP language. It contains many new features, such as explicit typing of class constants, deep-cloning of readonly properties and additions to the randomness functionality. As always it also includes performance improvements, bug fixes, and general cleanup.