HackerNews Readings
40,000 HackerNews book recommendations identified using NLP and deep learning

Scroll down for comments...

Modern Operating Systems

Andrew Tanenbaum and Herbert Bos

4.3 on Amazon

5 HN comments

The Bitcoin Standard: The Decentralized Alternative to Central Banking

Saifedean Ammous, James Fouhey, et al.

4.7 on Amazon

5 HN comments

Thinking in Systems: A Primer

Donella H. Meadows and Diana Wright

4.6 on Amazon

5 HN comments

A World Without Email: Reimagining Work in an Age of Communication Overload

Cal Newport, Kevin R. Free, et al.

4.5 on Amazon

5 HN comments

Software Design for Flexibility: How to Avoid Programming Yourself into a Corner

Chris Hanson and Gerald Jay Sussman

4.3 on Amazon

4 HN comments

Domain-Driven Design: Tackling Complexity in the Heart of Software

Eric Evans

4.6 on Amazon

4 HN comments

This Is How They Tell Me the World Ends: The Cyberweapons Arms Race

Nicole Perlroth

4.6 on Amazon

4 HN comments

Software Engineering

Ian Sommerville

4.3 on Amazon

4 HN comments

Fluent Python: Clear, Concise, and Effective Programming

Luciano Ramalho

4.6 on Amazon

4 HN comments

Test Driven Development: By Example

Kent Beck

4.4 on Amazon

4 HN comments

Compilers: Principles, Techniques, and Tools

Alfred Aho, Monica Lam, et al.

4.1 on Amazon

4 HN comments

The Everything Store: Jeff Bezos and the Age of Amazon

Brad Stone, Pete Larkin, et al.

4.6 on Amazon

3 HN comments

Bitcoin: Hard Money You Can't F*ck With: Why Bitcoin Will Be the Next Global Reserve Currency

Jason A. Williams and Jessica Walker

4.8 on Amazon

3 HN comments

Sandworm: A New Era of Cyberwar and the Hunt for the Kremlin's Most Dangerous Hackers

Andy Greenberg, Mark Bramhall, et al.

4.7 on Amazon

3 HN comments

Programming: Principles and Practice Using C++ (2nd Edition)

Bjarne Stroustrup

4.5 on Amazon

3 HN comments

Prev Page 2/7 Next
Sorted by relevance

mark_l_watsononApr 14, 2021

I am working the examples in the new book Software Design for Flexibility both in Scheme and Python. I agree with you that it is good to carry practices from Lisp languages to Python, when we must use Python.

mindcrimeonMar 20, 2021

Has anybody here read Software Design for Flexibility yet? I'm intrigued, but have been holding off on buying a copy just yet. Would be interested in hearing anyone's impressions who has been through it (or even part of it).

bmitconJuly 4, 2021

I’m not sure that stronger type systems always means an improvement to writing programs. They simply move the needle on the scale of where the difficulty lies in writing programs.

Untyped languages make it very easy to write programs while the stronger the type system, the harder it gets to write the program in the first place.

I think balance is in order and this is one reason why we haven’t seen fancy type systems become mainstream except for niche domains. If I’m writing a program in F#, I have a balance between a type system constraining me but a language that allows me, the programmer, to do what I want to do for the most part. The stronger and fancier type systems means I now have to somehow teach the type system things that I already now how to do and are safe.

Fancy type systems simply try to say that you should write down a specification of your program. But in the real world, this is an enormously difficult if not impossible task. It makes the programming process and program rigid and brittle and not robust, which is not necessarily properties of software you want.

There’s a reason why certain language ecosystems like Erlang/Elixir say errors, unexpected input, and more pathological events will happen (i.e., they can’t be reasoned out of the system) and so you need a way to explicitly deal with them. This is also a big theme in the recent book Software Design for Flexibility in terms of expanding programs, getting them to handle things they couldn’t before.

While fancy type systems are neat, like those in Idris, I think the most useful idea is to have mixed type systems and programming paradigms in a program, which seems to be relatively unexplored right now.

dgb23onJuly 19, 2021

Not specifically software design, but insofar related books that take the perspective of programmers with unique insights:

- Coders at Work (Seibel)

- Working in Public (Eghbal)

The first one is very entertaining. Read it a couple years ago and found it gives some valuable perspective. The second one is on my reading list, it was recommended around these boards.

Related to software design, there are many. The two that are on my recent list are:

- Software Design for Flexibility (Sussman, Hanson)

- A Philosophy of Software Design (Ousterhout)

I can't comment personally on their content yet, still have to work through those two, but I have zero doubts to learn something valuable. Certainly consider them.

Built withby tracyhenry

.

Follow me on