It all depends of course. Having said that, the main paradigm today is probably OO. Certainly in web server-programming. This is strange because a server is very much a procedural apparatus. It makes no sense for a server to instantiate his internal wiring for every request and then dispose of it after having sent the response. It makes much more sense to see a server as a signal processor, like the one that is standing in your audio-rack, like the equalizer or amplifier. With all circuits pre-wired (like in procedural), the signal, not the circuit, being the variable. OO is even more problematic when used with relational databases. Ideally you choose the programming paradigm that suits the application metaphor best. So sometimes, for simulations, one would choose OO. Other times, for data transformation, one would choose declarative, like XSLT. Other times, it is 'just' procedural. To be a good programmer, being skilled in all main paradigms is key. Where to start just depends on whatever suits you best at that moment. Otherwise I would argue procedural is probably easiest and because of that a logical starting point.