I always wonder what would be the perfect development setup for me. Graphical? Command line? IDE? Text editor? VCS? Automation? Now it’s time to sum some things up for myself. (To make sure we speak the same language: i write php, javascript, html, css, and sh. Sometimes a little bit of python.)

I hate IDE’s. They are so bloathed with stuff you don’t need, 99% of the time. But they can be pretty useful… certainly when you have to work with big projects (or other people’s projects), it can help to have a good IDE at hand. Most of the time though, they’re in my way, they create stupid project files, they slow down my laptop and they cost money if you want a decent one. So that’s why i usually let NetBeans sleep, and wake Sublime Text or Vim instead.

Now to compensate for a few things text editors miss, compared to IDE’s. For version control i’m using Git. It’s fantastic. I use vagrant shared folders to have my code right on the development environment while developing.

For debugging, i usually use the php-cli tool in the terminal or Xdebug in the browser. To cope with a lot of ouput, i’ve colorized my prompt line, so that i can find it easily between two var_dumps.

Almost all the above relies on the power of the command line, and applies to both my Trisquel GNU/Linux and Mac OSX setups. I quite like it. On the contrary, everything above is unavailable at the place where i work. No git, no handy command line debugging (cygwin fails to install), no rsync… only a gedit install without plugins. Read more about that here.

That’s about it! 🙂