Public housing can be made properly like in Vienna. You have to build a lot, build nice, and worry about having many different socio-economical tenants in the apartments, though.
And be ready to kick trashy people of course.
IMO public housing is the best tool, but it seems that in many places they just want to set up some buildings and forget about it, and that way it will never work.
It seems like for many people it's just a naive idea of getting problematic people out of the streets, but that shouldn't be the main idea. The main idea is to get the most modal income people out of the offer/demand cut, so they can save more money and use their increased disposable income locally.
If you build enough and make private developments easy enough everyone benefits.
In fact, Vienna is starting to have problems because their conservative government (I think they have a coalition now) doesn't want to spend money on the program and private developments have a set of restrictions that allow price gauging.