There's never such a thing as no bugs, even in any future hypothesized development methodology, for any given non-trivial program. The most you can do from the language side is reduce or eliminate certain types of bugs. The most you can get from a methodology is pour time (and/or money) into it.