That's what a version control system is for. Pretty sure I mentioned git before. It does a pretty good job at merging code together and telling you about conflicts. Also if you're merging in changes and you're not reviewing how they've been merged in, that bad to begin with. You don't need a GUI to manage a framework for you. More software than not has some thought about how code for any particular part of a project should be written, hence why projects like Moodle have guidelines you must follow to contribute code back upstream. There is a time and a place for GUI tools and I understand that. I also don't want you to think that I don't want you to have an opinion because I have a strong one of my own. If a GUI IDE helps you do what you do, that's fantastic. All the code I work with lives on Linux servers so I have to work with a Linux platform and the easiest way to do that is stick with what I have to run stuff on. So I don't develop locally. If I write Java I'll use Netbeans and VS for C#, but when it comes to editing scripts, I can't find much justification to use an IDE. You can't have good advanced code completion with PHP anyways because the data can always mutate. Just because it was initially set to some class "Foobar" doesn't mean that at another point it won't be "Barfoo". Most dynamically typed languages have this problem and code completion really is best suited for languages like C# and Java, languages that are strongly typed, but when it comes to scripting languages like PHP and Ruby it very well could be incomplete. I too write php professionally and it all runs on a *nix server. At work I develop on a pair Ubuntu server and deploy to a pair RHEL servers. Not at all, there is a time and a place for everything. If you don't need a GUI, there is no reason to use it imho. I can't fathom why anyone would want to run PHP on a Windows server unless there is another piece of software you're using that needs Windows (except MSSQL, MSSQL and PHP together has always been a mess). That's just me though. I've heard horror stories about using PHP with MSSQL, and I can believe it after trying to use IIS with PHP. Also, why pay for Windows Server licenses if you can get away with Linux on your server? I do understand that not all software runs on *nix, so it's not always an option. Also just because CLIs came first doesn't mean that they're obsolete. I didn't say complicate, I said complect. As in, to make compound. The exact definition is: I personally think that a lot of IDEs have a lot of features and have, quite frankly, snow balled by making any one particular tool overly complex (not necessarily complicated to use,) by having it do multiple things. I personally believe that having one tool for one job is the appropriate approach. That way each tool focuses on what it has to do well and by doing that you're not introducing interdependencies between different aspects of whatever application you're working on. I just like simple tools that do simple things with scripts that put these simple parts together to do something complex. That's just a preference though. I respect that you like GUI IDEs and such. I think there are some pretty good ones out there. My experiences with Netbeans for Java have been very good in fact, but as far as what I enjoy the most and has been consistently my favorite and best platform to use has been a cli with some from of *nix using vim as an editor. The right tools for the right job, man. To validate your point, you're right. I haven't worked in a large corporate environment so I can't say, but I can say I have experience with small to medium sized teams, but even with teams up to 8-10 people you'll still see people using subversion or git with vim or some other editor. I don't see either tool being better or worse in a larger environment when people know how to properly use the tools they need for either platform. I'm just saying from my own personal experience, I've enjoyed working on the CLI on *nix more so than not, particularly with PHP and Ruby applications. I apologize for my abrasive attitude for anyone who may be offended, I tend to have that effect on people. I don't mean to put anyone down, I just feel strongly about this. Remember, I'm talking about what I prefer, not what is better for all use cases. What might be better for me, might be completely different than what is good for someone else.