It's not just an argument of preference when programmers suggest not using tables for layout - it's about using a best practice and a standard instead of an old hack that is a habit many are lazy to break in an age when most browsers have excellent CSS support.
This is what a screen reader emulator tells me the front page of HN sounds like:
"Page has one hundred thirty links Hacker News dash Internet Explorer Table with one column and ninety-eight rows Table with three columns and one row Link Graphic slash yeighteen .gifLink Hacker NewsLink new vertical bar Link comments vertical bar Link ask vertical bar Link jobs vertical bar Link submitLink login Table end Table with three columns and ninety-two rows"
Of course, anyone actually using HN with a real screen reader will probably only get the links list from their reader, knowing how useless the supporting markup is (aside from the table layout, HN doesn't use meaningful heading tags).
There are many more reasons not to use tables for layout, but accessibility should be enough of a reason alone to stay away from layout tables.
This is what a screen reader emulator tells me the front page of HN sounds like:
"Page has one hundred thirty links Hacker News dash Internet Explorer Table with one column and ninety-eight rows Table with three columns and one row Link Graphic slash yeighteen .gifLink Hacker NewsLink new vertical bar Link comments vertical bar Link ask vertical bar Link jobs vertical bar Link submitLink login Table end Table with three columns and ninety-two rows"
Of course, anyone actually using HN with a real screen reader will probably only get the links list from their reader, knowing how useless the supporting markup is (aside from the table layout, HN doesn't use meaningful heading tags).
There are many more reasons not to use tables for layout, but accessibility should be enough of a reason alone to stay away from layout tables.