Algorithms only work well if they fit well with the hardware they're targeting. You have to make certain assumptions, but depending on what your algorithm is, you should know which things you really need to think about (memory, branching, process communication, disk, ...)
Algorithms that get synthesised into hardware will only work well if they're written in such a way that lends itself to synthesis. There's going to be a huge heap of stuff that doesn't fit well, or doesn't work at all. Writing things like Verilog and even System C is very different to writing a piece of software. And let's not even mention the backend stuff like layout - stuff that can have a big impact on performance of the thing you're spending a lot of money fabricating (oh, I guess I /did/ mention it...)
So, maybe a bit ambitious, but if they've solved even some of the problems and helped bring software development and hardware design closer together, well, that's a good thing.