Top all-time · #460
Alex Wilson
Personal blog · programmingisterrible.comprogrammingwriting
Alex Wilson writes Tumblr, a personal blog at programmingisterrible.com about programming and writing. Since 2013, 124 different Hacker News readers have linked it 160 times, most often “Write code that is easy to delete, not easy to extend (2016)”. The last post was in 2022, but the archive is still widely read.
Sometimes recommended · 8 of 40 sampled comments recommend it?
Why HN links it
HN readers link Programming is Terrible for its essays on software design, mainly 'write code that is easy to delete, not easy to extend', and for its microservices and event-driven architecture pieces. Commenters cite it as the reference for these ideas.
- Recommended for · 8 comments
- One commenter calls one article fantastic and says following it avoids common mistakes; another calls an article great and a good overview.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
lessons learned from a life wasted
Most-linked posts?
- Write code that is easy to delete, not easy to extend (2016)19 people · 20 mentions · first linked 2018-05-23
- How do you cut a monolith in half? (2017)9 people · 10 mentions · first linked 2018-07-12
- Repeat yourself, do more than one thing, and rewrite everything9 people · 10 mentions · first linked 2018-08-05
- Devil's Dictionary of Programming (2013)7 people · 9 mentions · first linked 2018-10-06
- Write code that is easy to delete, not easy to extend7 people · 8 mentions · first linked 2016-02-13
- How to Parse Ruby6 people · 8 mentions · first linked 2013-02-07
- Write code that’s easy to delete, and easy to debug too6 people · 6 mentions · first linked 2018-05-15
- What the hell is REST, Anyway? (2019)6 people · 6 mentions · first linked 2019-01-08
- Scaling in the presence of errors–don’t ignore them5 people · 6 mentions · first linked 2019-11-10
- How do you cut a monolith in half?4 people · 4 mentions · first linked 2017-06-28
What Hacker News says?
Have to push this fantastic article again - if you read it and follow what it says you won't make these mistakes: https://programmingisterrible.com/post/139222674273/write-co...
Comment linking /post/139222674273/write-code-that-is-easy-to-delete-not-easy-to
on “Goodbye, Clean Code”Submitted Write code that is easy to delete, not easy to extend as a story · 559 points
HN discussionPerhaps they should have read this: https://programmingisterrible.com/post/162346490883/how-do-y... It would have saved them a lot of man-years of time.
Comment linking /post/162346490883/how-do-you-cut-a-monolith-in-half
on “Goodbye Microservices: From 100s of problem children to 1 superstar”Submitted Write code that is easy to delete, not easy to extend (2016) as a story · 365 points
HN discussion>code should be written to be easy to delete This article tends to make the rounds on here every once in a while: https://programmingisterrible.com/post/139222674273/how-to-w...
Comment linking /post/139222674273/how-to-write-disposable-code-in-large-systems
on “It's probably time to stop recommending Clean Code (2020)”Submitted Come here and work on hard problems – except the ones on our doorstep as a story · 344 points
HN discussionThis isn't a negative, self-worth thing, it's a perspective thing. What the OP here is describing, is exactly the mentality that leads to this nonsense: http://programmingisterrible.com/post/50421878989/come-here-... A lot of people would agree that empathy is one of the large components of what makes us "human", and that's rather vague, but it does make evolutionary sense for why empathy is useful for societal prog…
Comment linking /post/50421878989/come-here-and-work-on-hard-problems-except-the-ones
on “Are coders worth it?”Submitted Write code that is easy to delete, not easy to extend (2016) as a story · 269 points
HN discussionI prefer disposable code over reusable code [0], i.e. code that's easy to delete instead of easy to extend [1]. The nature of software development is change. Extensive use of abstractions can make your code base rigid and averse to change. [0] https://bjoernkw.com/2016/11/06/writing-disposable-code-not-... [1] https://programmingisterrible.com/post/139222674273/write-co...
Comment linking /post/139222674273/write-code-that-is-easy-to-delete-not-easy-to
on “The Wrong Abstraction (2016)”Submitted How do you cut a monolith in half? as a story · 246 points
HN discussionWrite code that is easy to delete: https://programmingisterrible.com/post/139222674273/how-to-w...
Comment linking /post/139222674273/how-to-write-disposable-code-in-large-systems
on “DRY is an over-rated programming principle?”Submitted Programming is Terrible as a story · 170 points
HN discussionPerhaps "The Harmful Consequences of Postel's Maxim"?: https://news.ycombinator.com/item?id=9824638 If not, perhaps one of these: http://programmingisterrible.com/post/42215715657/postels-pr... https://bitworking.org/news/There_are_no_exceptions_to_Poste... http://trevorjim.com/postels-law-is-not-for-you/
Comment linking /post/42215715657/postels-principle-is-a-bad-idea
on “Parsing JSON is a Minefield”Submitted Postel’s Principle is a Bad Idea as a story · 147 points
HN discussionI think what you want is something similar to Scratch or Snap! , but with keyboard input support[0][1]. Because the programming structure of these languages is not based on text input, that makes it independent of the language it is presented in.The result is that can change the language it is presented in on the fly: > Scratch, albeit visual, is still a language built around sentence fragments. Instead of using pun…
Comment linking /post/76953953784/programming-with-building-blocks
on “قلب: a non-ASCII programming language written in Arabic”Submitted How to Parse Ruby as a story · 133 points
HN discussionI wish seeing the name Dijkstra didn't immediately remind me of his oft-quoted BASIC comment: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." The problem is it's quoted regardless of how much the BASIC dialect being discussed resembles the one he was talking about [1]. There…
Comment linking /post/40132515169/dijkstra-basic
on “Edsger Dijkstra – The Man Who Carried Computer Science on His Shoulders”Submitted The Devil's Dictionary of Programming as a story · 113 points
HN discussionI would like to point out a possible problem with the generic advice "read books" "follow blogs etc." => technological bias As you are from Node/Express and Mongodb background the biggest risk is trying to become only better in these technologies. So you will only know how to make faster horses, how to train them for the best, but you will never learn car exists. More than best practices, what makes a great develope…
Comment linking /post/139222674273/write-code-that-is-easy-to-delete-not-easy-to
on “Ask HN: How to learn best practices when you have no one to teach you?”Submitted Natural born programmers as a story · 97 points
HN discussionReminds me of this classic: https://programmingisterrible.com/post/139222674273/how-to-w...
Comment linking /post/139222674273/how-to-write-disposable-code-in-large-systems
on ““What if it changes?””Submitted How not to advertise for a job in London as a story · 81 points
HN discussionHere's a dump of the "Programming" folder from my RSS reader: Aphyr's (aka the guy behind the Jepsen distributed system test series): https://aphyr.com/ Fred Herbert, the author of Learn You Some Erlang: http://ferd.ca/ Eevee, who posts a mishmash of stuff about programming in general but these days is mostly focussed on games: https://eev.ee/ Tef/Programming is Terrible, which features strong opinions about program…
Comment linking /
on “Ask HN: What programming blogs do you follow?”Submitted Write code that is easy to delete, not easy to extend (2016) as a story · 74 points
HN discussionThe author has a followup: "Write code that’s easy to delete, and easy to debug too." https://programmingisterrible.com/post/173883533613/code-to-...
Comment linking /post/173883533613/code-to-debug
on “Write code that is easy to delete, not easy to extend (2016)”Submitted I reckon your message broker might be a bad idea as a story · 63 points
HN discussionREST doesn't really have anything to do with the HTTP methods you use. It's about handing off state between the client and server using stateless requests instead of maintaining a persistent, stateful session. This blog post is a good overview: https://programmingisterrible.com/post/181841346708/what-the...
Comment linking /post/181841346708/what-the-hell-is-rest-anyway
on “JMAP: Like IMAP but Not Really”Submitted Framework First, Product Later as a story · 60 points
HN discussionWrite code that is easy to delete, not easy to extend. http://programmingisterrible.com/post/139222674273/write-cod...
Comment linking /post/139222674273/write-code-that-is-easy-to-delete-not-easy-to
on “Ask HN: What are good reads for designing APIs?”Submitted HTTP as Imagined versus HTTP as Found as a story · 49 points
HN discussion