I am currently writing a Forum in a proper Web Development Language though! ASP.NET and C#! Check out my Development Forum if you're interested, I'll PM you about it now actually :P Always looking for people interested!
How to do it however always depends how you think, everybody will make their Forum different if they could make one. Ultimately however, you have to make a Forum to compete with others; and to do that you have to make your Forum, however designed, designed so that the person using it can make it their Forum, not your Forum. That's why its not easy to make one.