Very cool ... something Microsoft does well is GUI's IMO. I think the future if probably going to be Linux/Android and guying you're GUI look and tools. Microsoft is really courting crossx development so I think they think the same thing.

Shouldn't an article about some obscure thing explain what said obscure thing is?

Visual Studios is a widely used Integrated Development Environment (IDE) that provides many rich features for developing applications in many languages. One of its most notable features is IntelliSense which is a very useful context-aware code completion tool.

I was using Komodo IDE (which is also a reasonable option: http://www.activestate.com/komodo-ide) before, but switched to WebStorm earlier this year when the folks at JetBrains ran a major sale. The latest version of WebStorm even has source map support, so I can natively debug node.js apps that are written in CoffeeScript.

I was using Komodo IDE (which is also a reasonable option: http://www.activestate.com/komodo-ide) before, but switched to WebStorm earlier this year when the folks at JetBrains ran a major sale. The latest version of WebStorm even has source map support, so I can natively debug node.js apps that are written in CoffeeScript.

I already use PHPStorm which is (effectively) WebStorm. I find it great as an IDE for writing code, but the tools are lacking (Y NO DEBUGGER!). Visual Studio seems like it has all those things with this addon.

Very cool ... something Microsoft does well is GUI's IMO. I think the future if probably going to be Linux/Android and guying you're GUI look and tools. Microsoft is really courting crossx development so I think they think the same thing.

While they might do GUIs ok, I don't think they do window managers well. I've been waiting for a 'native' multi-desktop window manager from Microsoft since Windows 3.0 or Windows 95. There's been some 3rd party ones (both commercial and free), but the 'native' support has never been there so not all apps behave well with them. X-Windows and OSX have had this baked in for ages.

VisualStudio is a good IDE, and gets a lot better with ReSharper. But I think JetBrains own IDEs (IntelliJ and RubyMine) are both better and cheaper. They're also totally cross-platform (Windows, OSX and Linux). But if you really want productivity, you'll ditch the IDE anyway and go for a good scriptable editor like Sublime, TextMate or Vim. Unfortunately, us developers don't always get to choose our tool sets or operating systems. But given the choice, I'd work on a *nix based OS every time.

While it's great to see Microsoft supporting something like Node, I'd never count on it in the long term. You can't always count on them to continue supporting their own languages (e.g. Silverlight), let alone 3rd party languages or frameworks.

I already use PHPStorm which is (effectively) WebStorm. I find it great as an IDE for writing code, but the tools are lacking (Y NO DEBUGGER!). Visual Studio seems like it has all those things with this addon.

WebStorm actually does have a built-in node.js debugger with breakpoints and watches and all of the other standard features. I think they pretty much have parity on debugging support, though it looks like Visual Studio has some unique performance profiling features that WebStorm doesn't.

VisualStudio is a good IDE, and gets a lot better with ReSharper. But I think JetBrains own IDEs (IntelliJ and RubyMine) are both better and cheaper. They're also totally cross-platform (Windows, OSX and Linux). But if you really want productivity, you'll ditch the IDE anyway and go for a good scriptable editor like Sublime, TextMate or Vim. Unfortunately, us developers don't always get to choose our tool sets or operating systems. But given the choice, I'd work on a *nix based OS every time.

I've been a daily Vim user for about 15 years. I still use Vim for a lot of my work, but I find that I increasingly favor IDEs for large-scale projects—especially in cases where I really want to use an integrated debugger. Although they don't give you as much raw configurability and programmatic control over the environment, Visual Studio and the JetBrains products have really good Vim keybinding plugins.

Quote:

While it's great to see Microsoft supporting something like Node, I'd never count on it in the long term. You can't always count on them to continue supporting their own languages (e.g. Silverlight), let alone 3rd party languages or frameworks.

It's worth noting that this node.js support is an open source plugin, so the third-party developer community could easily continue maintaining it if Microsoft ever loses interest. And I think Microsoft is likely to remain interested for as long as node.js continues to be a relevant part of their Azure business, anyway.

But instead of getting a Windows machine, install Visual Studio and the plugin, why not get a taste of node.js first by using Nitrous IO, nothing to install? Or Python, Ruby for that matter?

You can create your own machine in the cloud for free and start using those languages in less than 5 minutes. Interested? Click the link - please note that it contains my referral code, if you don't like this, just remove it.

I'm not a fan of JS as a server side language, but the tooling support shown here is really impressive.

I'm not a fan of JS or VS for that matter. But I do like seeing VS support extend to more languages and frameworks. There is a lot of great languages and frameworks beyond the few things Microsoft themselves make.

I was using Komodo IDE (which is also a reasonable option: http://www.activestate.com/komodo-ide) before, but switched to WebStorm earlier this year when the folks at JetBrains ran a major sale. The latest version of WebStorm even has source map support, so I can natively debug node.js apps that are written in CoffeeScript.

I tend to only write in CoffeeScript these days (I'm lazy), but don't have that much of an issue debugging front-end Javascript in the browser when I need to. That doesn't help so much with back-end javascript though.

One of the more interesting development environments I've come across is nitrous. I haven't used it in anger yet, but it looks like an interesting solution for remote pairing on web development.

I already use PHPStorm which is (effectively) WebStorm. I find it great as an IDE for writing code, but the tools are lacking (Y NO DEBUGGER!). Visual Studio seems like it has all those things with this addon.

WebStorm actually does have a built-in node.js debugger with breakpoints and watches and all of the other standard features. I think they pretty much have parity on debugging support, though it looks like Visual Studio has some unique performance profiling features that WebStorm doesn't.

After I made that post I did go into the PHPStorm Plugins list. There is a NodeJS plugin which, as far as I can see, adds the Node support from WebStorm to PHPStorm. It's an official IntelliJ plugin.

I do think that the VS version has a lot of more useful features, but considering I use PHPStorm as my main JS IDE, it's good to find that I don't have to use bullshit like node-inspector anymore.

I primarily develop in OS X, however the tools currently for debugging Node are non-existant. The fact that Microsoft has created this toolkit might actually have me use Windows for Node development.

I thought the tools for working out what is wrong with your node.js code were things like QUnit and Jasmine.

Unit tests are very nice to have, but they don't remove the need for debugging.

I know I'll get murdered for this, but I NEVER use Unit Testing. I will step though what I've written to verify behaviour. I've not yet (I'm willing to be proven wrong) seen the value of UnitTests in most applications. I can imagine applications that have an extremely large codebase (and a long legacy) benefitting from unit tests, but for most people, I see it as being avoidance of actually accomplishing actual functionality.

I know I'll get murdered for this, but I NEVER use Unit Testing. I will step though what I've written to verify behaviour. I've not yet (I'm willing to be proven wrong) seen the value of UnitTests in most applications. I can imagine applications that have an extremely large codebase (and a long legacy) benefitting from unit tests, but for most people, I see it as being avoidance of actually accomplishing actual functionality.

Actually unit test are more helpful to think about what you are writing, that to just test changes.

When you code with Unit testing in mind, you usually make well isolated units of work that can be used well on their own and don't interleave all your program's modules.

Spaghetti code can't be unit tested.

A unit test can be just a live documentation of the desired behavior of a piece of code. Can be used as a reference for other developers to fully understand a working module, and usually drives you to write more robust code.

I have refractored lots of code after writing the unit test for them and realizing that their design was not as clean as it looked when I wrote the modules.

That they also helps you check your changes don't break something, is just a plus for me.

Real love(d) visual studio, can't wait for MS to realise that software development and services are their real strength and port VS to all major platforms. Meanwhile Xamarin seems to be emerging as the alternative that MS should have done.

Very cool ... something Microsoft does well is GUI's IMO. I think the future if probably going to be Linux/Android and guying you're GUI look and tools. Microsoft is really courting crossx development so I think they think the same thing.

While they might do GUIs ok, I don't think they do window managers well. I've been waiting for a 'native' multi-desktop window manager from Microsoft since Windows 3.0 or Windows 95. There's been some 3rd party ones (both commercial and free), but the 'native' support has never been there so not all apps behave well with them. X-Windows and OSX have had this baked in for ages.

Instead of bitching about this, you could have used it for years too. But fact you only mentioned 3.0 and 95 means you talked only about one line of Windows missing for some reason NT line, so it might explain why you never knew about it. (AKA definition of ignorance)

Next time I suggest to first ensure you are not ignorant on topic of your rants. (Sure some people would tell me same, but whatever... )

MS also provides node.js templates for its azure websites. I've not played with that template, but just mentioning it for those with azure accounts who don't want to mess with infrastructure. I believe you can get it up and running under the free website option, but can't use a custom domain name.

This is just one more bit to support that. They almost seem like they're starting to beginning to sort of understand the OSS business model. Ballmer must really be on his way out.

Shouldn't an article about some obscure thing explain what said obscure thing is?

Visual Studios is a widely used Integrated Development Environment (IDE) that provides many rich features for developing applications in many languages. One of its most notable features is IntelliSense which is a very useful context-aware code completion tool.

I know I'll get murdered for this, but I NEVER use Unit Testing. I will step though what I've written to verify behaviour. I've not yet (I'm willing to be proven wrong) seen the value of UnitTests in most applications. I can imagine applications that have an extremely large codebase (and a long legacy) benefitting from unit tests, but for most people, I see it as being avoidance of actually accomplishing actual functionality.

I was in that camp with you until I started supporting very large/boring enterprise applications. The main benefit of unit testing that finally won me over was that unit tests don't go away when you close your IDE at the end of the day. Weeks later when you edit a different part of the system, you can just hit "Run" on your suite of unit tests and you can find out right away if changes in module A broke something a million lines of code away in Module B. Admittedly, the tests have saved my arse a few times and helped to highlight critical/flawed inter-dependencies in my modules.

I know I'll get murdered for this, but I NEVER use Unit Testing. I will step though what I've written to verify behaviour. I've not yet (I'm willing to be proven wrong) seen the value of UnitTests in most applications. I can imagine applications that have an extremely large codebase (and a long legacy) benefitting from unit tests, but for most people, I see it as being avoidance of actually accomplishing actual functionality.

Let me guess: You're working on a relatively small application with not many other people involved? As soon as you work with more people on a larger code base you are aware that the only way to check if any of those new changes made by someone in some unexpected way broke your code is to step through your code in the debugger any time you merge something.

I seriously doubt you do that (and how do you remember all possible inputs to check if functions are working? just running a function once only works for the simplest things) so you have no guarantees if the code you wrote half a year ago and checked still works as expected or not.. slightly worrying isn't it?

And that's why pretty much any large software project has regression tests, it's really the only way to make sure you don't introduce/reintroduce bugs somewhere down the line. That unit tests also help you make sure that your code works in the first place is only a nice additional bonus - the real problems are subtle bugs introduced due to changes later.

As far as I'm concerned Unit Testing is just a convenient way to write test code that you should be writing in the first place. A Unit Test project's lot easier to manage then some main() in your classes.

And if you are verifying by hand, you aren't verifying anything period. If such a thing were even possible then we would never have bugs in the first place.