Is Linux a fragmented operating system... has a great article that discusses how different development is in today's world as compared to say 10 years ago.  They focus on the fact that Linux is at the core of so many devices these days how can you know what hardware platform your app will need to run on?  The article asks lots of interesting quesitons and has some ideas of where we are going.  Where do you think we are headed?  Is having so many different ways to use linux, i.e. Phones, Laptops, tablets, making it harder or easier to program?