How to make a Snake-like movement?

Why don’t you make the snake in a 3D modeling package and animate it as a skeletal mesh rather than trying to do it procedurally?