Simple Versus Easy in Programming
Blink28616 Okt 2025

Simple Versus Easy in Programming

provided sources center on Rich Hickey's "Simple Made Easy" talk, which meticulously distinguishes between simple (objective, meaning "one-fold" or unentangled) and easy (subjective, meaning "near-at-hand" or familiar). Hickey argues that simplicity is a prerequisite for reliability in software and that developers often mistakenly prioritize the easy path, which frequently introduces incidental complexity or entanglement—a phenomenon he calls complecting. The sources contrast common programming constructs, showing how complex ones like mutable state, objects, and inheritance tightly couple concerns, advocating instead for simpler alternatives such as values, pure functions, polymorphism, and declarative data manipulation to build robust, maintainable systems. Ultimately, the material encourages programmers to consciously choose simplicity in design, even if it feels harder initially, to achieve long-term quality.

Episoder(453)

blink::PaintArtifactCompositor

blink::PaintArtifactCompositor

Decides what needs to be composited and prepares the main‑thread representation to feed cc (layers if needed, scrollbar compositing, etc.).

22 Sep 202542min

blink::PaintArtifact

blink::PaintArtifact

The immutable package of paint chunks + display items for this frame, used to drive compositing without re‑painting.

21 Sep 202536min

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode

The paint property trees captured during painting (transform, clip, effect/opacity, scroll offset) that define visual & coordinate‑space state.

21 Sep 202541min

blink::PaintController

blink::PaintController

Records drawing into a DisplayItemList, segmenting it into PaintChunks keyed by property‑tree state. (Output: a PaintArtifact.)

21 Sep 202533min

blink::LayoutView (root of the layout tree)

blink::LayoutView (root of the layout tree)

Computes geometry for boxes when layout is dirty.

21 Sep 202539min

blink::StyleEngine / style resolver

blink::StyleEngine / style resolver

Recalculates computed styles that changed since last frame (if any).

21 Sep 202542min

blink::Page → blink::LocalFrame / LocalFrameView

blink::Page → blink::LocalFrame / LocalFrameView

The document’s frame & viewport; LocalFrameView is the scrollable root that triggers layout/paint when needed. provided source outlines the fundamental components of the Blink rendering engine, specif...

21 Sep 202539min

blink::WebViewImpl

blink::WebViewImpl

The source text provides an in-depth explanation of the blink::WebViewImpl class within Chromium's Blink rendering engine, characterizing it as the central control point on the renderer's main thread ...

20 Sep 202539min

Populært innen Teknologi

lydartikler-fra-aftenposten
romkapsel
smart-forklart
teknisk-sett
elektropodden
energi-og-klima
nasjonal-sikkerhetsmyndighet-nsm
rss-ki-praten
rss-impressions-2
shifter
tomprat-med-gunnar-tjomlid
fornybaren
i-loopen
teknologi-og-mennesker
rss-heis
rss-ai-forklart
rss-digitaliseringspadden
rss-alt-som-gar-pa-strom
rss-alt-vi-kan
rss-anleggspraten