Wednesday, October 1, 2014

Development Software

As a follow-up to my prior post, I figured I would share some of the tools I find useful for writing software.  Hopefully I didn't misuse any of these memes too much:

JetBrains WebStorm.  This is the IDE I use for developing cornerstone and other web applications.  I had been using Visual Studio for web development but I found it lacking in many ways and of course doesn't run on Mac OS X.  I also tried Eclipse and Sublime but found them inferior to WebStorm.  JetBrains has some amazing engineers - you really can't go wrong with any of their products.



Visual Studio 2013.  Visual Studio has been my primary development environment for most of my career so I know it very well.  When it comes to Windows development (C# or C++), it is by far the best choice.  It is generally considered one of the best IDE's (if not the best) out there.




ReSharper.  If you write C# or .net code and don't use this - stop what you are doing right now and go download it.  It will improve your code quality and productivity significantly.  Go download it.  Now.  Then buy me a beer the next time you see me.




Google Chrome.  I do most of my web debugging (and normal web surfing) using Google Chrome.  It has great debug tools built in and works well.  Before chrome I used Firefox + Firebug as my main development browser but it would get really slow during debugging at times - I don't have that problem with chrome and don't have to install anything extra - chrome's built in tools are as good as firebug for the most part.  I don't miss firebug at all.  I only use IE11 when I absolutely have to - its debugger is terrible which is a huge disappointment - Microsoft is clearly trying but just not there yet.



Node.js.  Node.js is best know for writing server side logic using JavaScript.  What it is not as well known for is writing automation scripts for builds and other tasks.  Using Node.js is really nice because I can re-use my JavaScript expertise for doing these tasks rather than yet another language.  There are several nice build automation tools that are built on Node.js - I have used grunt with great success but I have also heard that gulp is even better - some day I'll play around with it.  If you are still using powershell, shell scripts, python or any other language for scripting - you should definitely give Node.js a try



git.  Git is the best SCM out there hands down.  If you are using something else - take the time to learn it.  We use github to host our open source projects and private repositories and it is fantastic.



DevPartner Bounds Checker.  If you are writing C++ code you will eventually run into memory corruption bugs.  This doesn't happen to me that often but when it does, Bounds Checker is the tool to use.  They have a $149 99 day edition which is great for when you have to get your hands dirty on some old legacy C++ code.



Notepad++.  Far better that notepad on Windows and has some cool JSON plugins that are very useful.

XCode.  I wrote most of the 3D render server in XCode just to see what it would be like.  Overall it wasn't too bad - while I still prefer Visual Studio for C++ development, XCode has some nice features related to performance tuning built in that Visual Studio does not.

7-Zip.  Simple, fast and compresses well. 






3 comments:

  1. I prefer using DevPartner as well. Finding untested codes and knowing how stable it is has never been easier with that tool by your side when it comes to writing C++. Resharper is great with Visual Studio, and though DevExpress is said to be just as powerful, I've never really tried it as an alternative. Anyway, great list, Chris! Make sure to let us know if you have an updated list of tools you'll be using this year. All the best to you! :)

    Matt Wynan @ Innovative Defense Technologies

    ReplyDelete
  2. Thanks for sharing your ideas and thoughts, i like your blog & Keep Updating. And visit here for
    Healthcare IT Services

    ReplyDelete
  3. That's some good insights you've provided. Great job! Do take a look at our Healthcare RCM Software Solutions

    ReplyDelete