Web Development Toolsets – PHP vs. .NET IDEs

I’ve been writing code for the web for 10 years now, and in a (full-time) professional capacity for almost three and a half.  I’ve worked extensively on the Linux Apache MySQL and PHP (LAMP) stack as well as in Microsoft’s ASP.NET.  This post is a helpful summary of my experiences developing in both worlds, and what you need to focus on your job.

Important information on operating systems: I carry out all of my development on Windows, so you’ll not find any suggestions or reviews of software for Macs or Linux here.  If you’re one of these people, why not write up your own review?

Integrated Development Environments (IDEs)

Let’s be honest, we all started out in Notepad, writing angle brackets in long hand and making extensive use of Ctrl+C.  However once we graduated from the single scripted site, managing multiple files and object oriented links between them soon left us lost in a sea of notepad.exe windows.  To curb this problem, and many others, software vendors developed IDEs, to incorporate a number of development tools into one application.

My favourite PHP IDE – Netbeans

If you write any amount of PHP code then you’ll want to get comfortable in one of the many PHP IDEs out there.  In the last two years I’ve spent many hours bashing keys in Netbeans IDE.  Whilst this application is written in Java (which undoubtedly makes it dog slow at times), Netbeans have dramatically improved the performance in the last few releases to the point where most features are finally usable!

Debugging

Remote team debugging does require screwing around with XDebug and Komodo Python Debug Proxy, which I did manage to get working on a Linux development VM.   However it has proved to be a little temperamental, requiring frequent restarts.

Source Control

Netbeans includes integration for SVN Source Control and this works pretty seamlessly – you can commit and revert from within the application, as well as see which files are under source control and their status.

Code Navigation

With the right hints in your code, you can jump between classes with Ctrl+Click pretty quickly.

Summary

I have toyed with other IDEs, notably phpDesigner, however Netbeans has been my favourite (free) IDE, and has served me very well.

My favourite .NET IDE – Visual Studio 2010

Much has been written about Visual Studio 2010, so I’m hesitant to try and add to the endless blog posts detailing every feature of this application.  All I will say is that it is an incredible piece of software.  It runs like grease lightening, it has a database explorer, browser and designer built in, as well as an extension model for a variety of useful add-ons.

Debugging

Even since my days of programming in Visual Basic 6, step-by-step debugging has been the most productive way to debug, rather than the old “Made it to here” debugging output.  You can attach to remote servers, or simply fire up the built in development web server to step through your code, with watch windows and full stack traces to hand.  This debugging experience is head and shoulders above that of Netbeans.

Source Control

Whilst you can get some source control add-ins for Visual Studio, my impression is that use of the Team Foundation Server is quite heavily pushed.  I have yet to find a good HG (Mercurial) add-in, so I hack away on the command line to feel like a real programmer.  On this item, Netbeans is my winner.

Code Navigation

When combined with IntelliSense, it beats Netbeans hands down, purely due to the speed and variety of options.  You get hinting at method parameters, namespaces to include as well as class properties, methods and events.

Summary

No serious .NET developer would use anything else, and as Microsoft make their express editions freely available, there’s really no excuse not to be using Visual Studio if you’re writing .NET code.

The Final Word

My overall development experience is much slicker in Visual Studio 2010; it feels like the right tool for the job, and it is so quick that I never feel like it gets in the way.  Netbeans is more of a necessary evil for development, and it often feels like I’m having to kill time whilst waiting for things to happen, or have those moments of keystroke regret when you see the “scanning for indexes” message in the status bar.  But compared to Notepad, it is so many steps ahead that I’ll just have to keep putting up with the performance issues.

Web Development Toolsets – PHP vs. .NET IDEs

[tweetmeme source=”shuggill” only_single=false]

I’ve been writing code for the web for 10 years now, and in a (full-time) professional capacity for almost three and a half.  I’ve worked extensively on the Linux Apache MySQL and PHP (LAMP) stack as well as in Microsoft’s ASP.NET.  This post is a helpful summary of my experiences developing in both worlds, and what you need to focus on your job.

Important information on operating systems: I carry out all of my development on Windows, so you’ll not find any suggestions or reviews of software for Macs or Linux here.  If you’re one of these people, why not write up your own review?

Integrated Development Environments (IDEs)

Let’s be honest, we all started out in Notepad, writing angle brackets in long hand and making extensive use of Ctrl+C.  However once we graduated from the single scripted site, managing multiple files and object oriented links between them soon left us lost in a sea of notepad.exe windows.  To curb this problem, and many others, software vendors developed IDEs, to incorporate a number of development tools into one application.

My favourite PHP IDE – Netbeans

If you write any amount of PHP code then you’ll want to get comfortable in one of the many PHP IDEs out there.  In the last two years I’ve spent many hours bashing keys in Netbeans IDE.  Whilst this application is written in Java (which undoubtedly makes it dog slow at times), Netbeans have dramatically improved the performance in the last few releases to the point where most features are finally usable!

Debugging

Remote team debugging does require screwing around with XDebug and Komodo Python Debug Proxy, which I did manage to get working on a Linux development VM.   However it has proved to be a little temperamental, requiring frequent restarts.

Source Control

Netbeans includes integration for SVN Source Control and this works pretty seamlessly – you can commit and revert from within the application, as well as see which files are under source control and their status.

Code Navigation

With the right hints in your code, you can jump between classes with Ctrl+Click pretty quickly.

Summary

I have toyed with other IDEs, notably phpDesigner, however Netbeans has been my favourite (free) IDE, and has served me very well.

My favourite .NET IDE – Visual Studio 2010

Much has been written about Visual Studio 2010, so I’m hesitant to try and add to the endless blog posts detailing every feature of this application.  All I will say is that it is an incredible piece of software.  It runs like grease lightening, it has a database explorer, browser and designer built in, as well as an extension model for a variety of useful add-ons.

Debugging

Even since my days of programming in Visual Basic 6, step-by-step debugging has been the most productive way to debug, rather than the old “Made it to here” debugging output.  You can attach to remote servers, or simply fire up the built in development web server to step through your code, with watch windows and full stack traces to hand.  This debugging experience is head and shoulders above that of Netbeans.

Source Control

Whilst you can get some source control add-ins for Visual Studio, my impression is that use of the Team Foundation Server is quite heavily pushed.  I have yet to find a good HG (Mercurial) add-in, so I hack away on the command line to feel like a real programmer.  On this item, Netbeans is my winner.

Code Navigation

When combined with IntelliSense, it beats Netbeans hands down, purely due to the speed and variety of options.  You get hinting at method parameters, namespaces to include as well as class properties, methods and events.

Summary

No serious .NET developer would use anything else, and as Microsoft make their express editions freely available, there’s really no excuse not to be using Visual Studio if you’re writing .NET code.

The Final Word

My overall development experience is much slicker in Visual Studio 2010; it feels like the right tool for the job, and it is so quick that I never feel like it gets in the way.  Netbeans is more of a necessary evil for development, and it often feels like I’m having to kill time whilst waiting for things to happen, or have those moments of keystroke regret when you see the “scanning for indexes” message in the status bar.  But compared to Notepad, it is so many steps ahead that I’ll just have to keep putting up with the performance issues.

Internet Explorer 9 Beta 1 Review Roundup

[tweetmeme source=”shuggill” only_single=false]

IE9 was a trending topic on Twitter yesterday, and remains today.  Like most keen-to-early adopters, I couldn’t resist putting “work” to one side for a moment and hitting http://www.beautyoftheweb.com/ to download the beta 1 release.

IE9 on the taskbar

Required Updates, already?

Yes, the first installation step reports that it is downloading and installing Required Updates.  First impressions count big, and handing out the message that this beta product already has a large number of required updates is surely a faux pas.

Come on Microsoft, get over the rebooting

To my extreme disappointment you have to reboot your machine after installation.  For many installs at this point I would defer the reboot, and promptly forget to check out the new program.  As Betrand Le Roy tweeted, “IE should try much harder not to be the ugly duck anymore.”.

Initial Observations

There are many blog posts out there detailing the new features of IE9, so I won’t repeat them here.  Check them out for yourself:

Installation REPLACES YOUR PREVIOUS IE install.  So be prepared.  I use Microsoft Expression Web SuperPreview for Windows Internet Explorer (they should have called it MEWSPFWIE) to do cross-browser testing.  However, since installing IE9 I’ve lost all browsers except IE6.  I asked the question over at the SuperPreview forums and I’ll update this post as and when I get a reply.

And while you’re reading, check out this interesting IE Blog post on the evolution of the blue e: http://blogs.msdn.com/b/ie/archive/2010/09/16/internet-explorer-9-logo-visual-refresh.aspx.