Ecosystems

There are a lot of reasons why I won’t abandon the iOS platform in the near future. For one, I think the hardware is the best currently available to buy. It’s not about the specifications, but that the phone feels great when you hold it in your hand. Another reason is that I like iOS more than I like Android or Windows Phone. However, the main reason why I prefer my iPhone is its ecosystem. Even if the hardware and the software of Android devices gets improved I couldn’t switch as long as all the great apps I use on a daily basis are not available on Android. This post is not about Apple and the iPhone, it’s about programming languages.

Some months ago I decided to learn Ruby. For the previous 13 years I have done most of my development in PHP and at least in the last three years I became more and more jealous of Ruby developers. Nearly on a daily basis I would find great Ruby libraries and as I digged deeper, I realised that the Ruby community were more active on Github and Stack Overflow, that the blog posts about Ruby development are often better written and understandable than those about PHP development and that the this is also true for the documentation of software and libraries.

Libraries, documentation and support is what makes a good programming language great. The greatest programming language will fail if there is no ecosystem around it just like a mobile operating system will fail without an ecosystem.

After the feeling that I should learn Ruby and use it as my main programming language for my private projects grew for a long time, I finally ordered two books about Ruby and started reading them. However, around the same time I started a new project, Tvst, and I decided that I would use PHP one last time. I choose Symfony2 as framework since I heard a lot of great things about it, and I even contributed a little bit of code for the Forms framework during a semester project some years ago. As I worked with Symfony2 I quickly learned that Symfony2 had already gathered a massive community around it and that there are a lot of great bundles and libraries. I realised that the state of the PHP community had improved a lot in recent years. There are many great blog posts and Stack Overflow answers available and the amount of useful Symfony2 bundles and the state of its documentation is sheer astonishing.

Additionally with Composer there is finally a great package and dependency manager for the PHP world. PEAR was always a complete mess and I hated dealing with it, and while Composer still has some problems, it’s a gigantic step in the right direction and is definitely comparable with RubyGems.

Currently I’m still reading the first of the two Ruby books, but I have also started working on two new projects using Symfony2. I still want to learn Ruby, but I will continue to use PHP as programming language for my private (and also professional) projects in the near future.

Additionally I try to participate more in the PHP and Symfony2 community in order to improve it even more. If I want to take from that great community, I should also give something back. Yesterday I released my first real bundle for Symfony2. Bootstrap for Symfony2 brings Twitter Bootstrap to Symfony2. I use it for all my new projects to quickly create a prototype. Using Twitter Bootstrap allows me to spend more time on writing actual code and less on designing and developing the front end.

If you are interested, you can take a look at the documentation or the project on Github or Packagist:

Comments are closed.