Building a Better IDE


I’m mainly a .NET developer. As a .NET software developer I’ve been using Visual Studio as my primary Integrated Development Environment (IDE) for a little more than 3 years now. I’ve used Visual Studio 2003 through 2008 for writing, building, and occasionally designing software.

Since my first (and for a long time, only) real experience using an IDE was with Visual Studio, I grew to really love it and feel that it was the best thing out there. I really felt that Microsoft did an amazing job designing the software to be as useful as possible, providing me with lots of really great tools to make doing my job easier.

As I started learning other programming languages and technologies, I started learning how to use other programmer’s tools, such as Vim, Notepad++, Eclipse, and Netbeans, among others. All of these tools are absolutely free, and what is even more amazing for me, they’re actually better than Visual Studio.

A collection of free tools is actually better than an $800-$2500 (depending on the package) piece of software.

The key difference to keep in mind, is that a lot of these tools are scattered. What I mean is, they take a little more setup to get them working nicely, compared with Visual Studio which includes by default, a lot of things the free tools provide as additional plugins.

The fact that these free tools require some setup is really nothing compared with the benefits they offer and the productivity boost they give me. Although Visual Studio can include a lot of things by default, they generally are not as good as the equivalent free alternative.

A good example are the refactoring tools Netbeans provides for Java. In Netbeans, I can create 10 private variables, and then tell my IDE to create getters and setters for all 10 variables. It provides a nice GUI interface to allow me to customize how the auto-generated code should look and make sure everything is the way I want it. Visual Studio has a similar feature, however it only lets me do 1 variable at a time, and if I use it, I have to break the organization of my code because the new property has been placed directly below the private field.

This is just one example of something I have to do almost every day that could be easier if my IDE were “better.” Visual Studio has had a similar feature for a few versions now but it’s so tough to work around that I rarely use it.

Eclipse is one IDE that I really think might be the best on the market today, and it is totally free. I’ve used it for Java and PHP development and I find it to be a joy to use. It gives me great tools to make my work easier, and I don’t have to pay a dime for it.

Although I’m too young to have been able to see this unfold, apparently a few years back Eclipse was (as it is now) the best IDE out there. It made Visual Studio look kinda crummy, so Microsoft put a lot of work into making it a better IDE and eventually prevailed. Now that Microsoft is declared “victorious,” like they did with the browser wars, it seems like they have given up trying to make their IDE the best on the market.

I still feel that Visual Studio 2008 is a decent IDE. I use it every day for work and I find it acceptable, it just frustrates me when I see all of the cool features other IDE’s have that I might never be able to use despite how popular they are.

If you’ve used Visual Studio and another IDE before, how do you feel about the differences between the “enterprise” IDE and the free alternatives? Do you think either one is truly better? Worse? The same? Leave a comment.


Posted in Technology | No Comments »


C and Python as Web Languages


The blog Toolness reports on a really interesting idea for client-side web languages. The idea is to write a compiler for languages like C or Python that will compile code into low-level bytecode for a Flash Virtual Machine. This would allow you to write C programs that would run on the browser’s Flash plugin.

The proof-of-concept compiler has already been demonstrated to compile and run existing software such as a Nintendo emulator in a browser. The idea is that existing C code can be compiled by this new compiler and then run, apparently fine, in a browser.

What I think makes this really interesting is that this sets the way for some really awesome possibilities for web development. I love Flash. I’m really happy it’s the most popular method of including multimedia on a web site (when JavaScript is not an option). However, I don’t like ActionScript very much and I think it could be much easier to develop in a language I’m more comfortable with. This is why a technology breakthrough like this is so important. ActionScript is a little bit of an odd language (in my opinion), and there are languags that I’d much rather be coding in.

The fact that existing code can be easily compiled means that existing software could be ported to Flash and run in a browser. I think that’s a pretty awesome idea.

One of the first things that came to my mind when I heard about this was the issue of security. It seems like any code run in this manner is still secured by the Virtual Machine in the same way that ActionScript is secured when running in a browser.


As a little side note, I just remembered that Microsoft’s Silverlight is capable of doing essentially the same thing with any .NET language (C#, J#, VB.NET, Lisp, Ruby) What I think is so awesome about this is the idea that the much more open and widely used Flash is the technology that is being used here. This means more platforms will fully support the technology once it’s released.

I can’t wait to write Flash stuff in Java (no actual word on Java yet, but I can hope) or Python.


Posted in Technology | No Comments »


This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.