views:

771

answers:

10

Normally this would be an easy decision (the answer being "of course"). However, my job does not have its own copy of Visual Studio, and anything I develop will be done on my personal laptop that has an MSDN subscription (this is already cleared with the company). The company is too cheap to pay for Visual Studio, however I have an unused copy of Visual Studio 2005 Standard which I got for free (some promotion from Microsoft a couple of years back if you viewed 3 webcasts) that I could install on my actual work computer (that I don't use anymore since I bring my own laptop to the office).

If I use .NET 3.5 then when I leave (because, as I've made mention in the past this company really is a dead-end for my career and I need to move on if I ever want to improve) whoever they get to take my place won't have a real IDE to use at all for anything; I could install Web Developer 2008 Express (I'm doing web applications) and they could use that to open and modify the files I've created in VS on my laptop, but I'm not sure if there are any "quirks" of VWD Express that would make some projects unreadable or unusable; even though the company doesn't deserve it I'm trying to be the "good guy" and not screw them over if I can avoid it.

I really like some features of .NET 3.5, especially ASP.NET MVC and LINQ, but I could get by with their applications using an ORM like NHibernate or SubSonic instead of LINQ to SQL and not use MVC at all; also their current systems are Windows Server 2003 and SQL Server 2005 so are more "aligned" with .NET 2.0, I guess you could say - aligned isn't the right term but I think everyone can understand what I'm trying to convey - they would work seamlessly with .NET 2.0 while there are some features of .NET 3.5 that work better with the 2008 versions.

Basically which route would you take in a situation like this? Remember I have no choice but to stay here for right now so even though "run away screaming" would be the best course of action, that's not feasible at the moment. However I also know that they won't ever upgrade those systems or buy Visual Studio (hence why I have to use my own copy and write code on my own laptop)

EDIT: The current site is all Classic ASP, so there are no upgrade issues to worry about; I'm starting from a clean slate with it. I could get by using .NET 2.0 but I'm tempted to use .NET 3.5 for selfish reasons; that way when I leave this place I'll be familiar with .NET 3.5 and the newest stuff.

+1  A: 

I'd bet 2.0 should be good enough for what you want to do (other than mvc) because you can use LINQ with 2.0

Andrew Bullock
+1  A: 

I would and also would let them know of the risks. You can say that you are using the best technology available and if they need to maintain it they will have to shell out some cash and get their tools straight.

Otávio Décio
I would love to let them know, but as I've mentioned in prior questions they're insanely cheap (for the company anyway, since my boss has 7 cars, including a Jaguar and Cadillac, and goes on trips often) and the answer would be no, there is no cash available.
Wayne M
Then it is their problem. Let them know and go with it.
Otávio Décio
+7  A: 

Ok, in light of the extra information...

You're doing a redevelopment of a classic ASP site. Assuming that hasn't gone live yet and assuming there is no time investment in the .Net 2.0 version (meaning they won't have to retest something because you change it to .Net 3.5) then you should absolutely use the latest version. It will be supported longer for a start. In fact you'd probably be negligent not to use the latest version (unless it was just released, which is not the case).

As for developmen tools, you can still use VS2005. The Express versions of Visual Studio are fine for you or others to use. If they aren't sufficient then the company really needs to be supply you with better but frankly they'll do.

Someone rightly pointed out you can use a text editor and nant to do .Net development but honestly I'd rather poke hot needles into my eyes than write C#/ASP.NET code with Notepad++. For one you lose debugging, which I think you'll admit is a pretty useful feature.

Additionally there are free tools, such as that editor you can use with Mono. So between all these options don't worry about the potential lack of development tools. The fact is that after you go they'll have something. What exactly is up to them.

If the company provides subpar machines or subpar tools, well that's their problem (and their perogative). They'll pay for it in lost developer time but it's amazing how many comopanies really don't see it that way.

So just use .Net 3.5.

cletus
The current site is all Classic ASP, which I have to maintain as part of my job, so a free editor with syntax highlighting (I used Notepad++) is all that's needed currently. .NET is for the rewrite/upgrade of the site which I've been tasked with doing.
Wayne M
Since the existing site is a bunch of crap (and I mean that really, it's all badly-written spaghetti code) anything would be better than what it currently uses. I chose .NET since I'm familiar with it; I don't need the features of 3.5 but some of them would be nice bonuses to use.
Wayne M
You might want to make your situation a little clearer in your question cos that's quite different. If .Net isn't in prod yet then use the latest version. Period.
cletus
Okay will edit the question. Thanks for the reply!
Wayne M
Any editor and nant will do for .NET development.
rick
I'm not a .net or mono person, but was going to suggest mono, so am just up voting this.
PTBNL
+2  A: 

So they're too cheap to buy VS. I bet they'd change their mind if you leave and they hire someone else to do your job and he needs VS to do his job.

Also, VS Pro projects are perfectly readable in VS Web Express. No problem there.

A third option is to install VS Web Express on your laptop and only use that to develop for them.

Mystere Man
+5  A: 

Because an existence of free IDE for Net - like SharpDeveloper (that compile by MSBuild) you can work with any version of Framework/Visual Studio that you want.

Avram
I had forgotten about SharpDevelop, thanks for reminding me about it!
Wayne M
Last time I checked it the supoprt for Asp.NET was somewhat not there at all. Is this improving?
recursive
@recursive : yes and no. http://community.sharpdevelop.net/forums/p/4884/14972.aspx#14972
Avram
I used SharpDevelop a long time ago. But now that Microsoft has the Express Editions I perfer them over fighting with an OpenSource IDE
Matthew Whited
+8  A: 

I think you should use .NET 3.5
The express versions can be used legally for commercial use (see http://www.microsoft.com/express/support/faq/default.aspx) and they support all the features in .NET 3.5 without any problem.

ggf31416
+1  A: 

Is your company really too cheap for VS.Net. Like even the standard edition? The standard edition is only $250, and I use it at work all the time. Has all the features I need. $250 is probably less than 1 day worth of your pay, almost certainly less than 2 days (assuming you are in North America/Western Europe. If the project isn't important enough for them to spend $250 on an IDE, you should really just start looking else where.

Kibbee
Sadly yes, they are really too cheap even for that. I am looking elsewhere, but I can't just up and leave.
Wayne M
+1  A: 

Since you already have VS.NET 2005, you should be able to get the standard upgrade for as little as $160. That will give you everything you need, and even a cheap company would probably be willing to pay it. If not, $160 for your own benefit and future career opportunities is a small price to pay (unless you're in Bangalore and that equates to a month's pay or something of the sort).

Jess
A: 

Why are they upgrading from Classic ASP? Or is it that they need something and you write in .NET (is that what you meant in your edit)?

If they want to keep Classic ASP but want some of the guts changed, maybe you could write a class for them they can use in Classic, a la CreateObject.

You give them the source. They keep their site a lot the same.

johnny
Yes basically. I code in .NET but the current site is in Classic, and there are a lot of things they want done that can be done much easier in .NET than Classic
Wayne M
They don't want to keep it in Classic, they want me to rewrite it to make it better (current app is thousands of files of spaghetti code) and I have free reign to do it in whatever I like - since I know .NET and most jobs here are .NET, that's going to be my choice for best career moves on my part.
Wayne M
+1  A: 

Wayne, if you company is too cheap to pay for an IDE and you are starting clean slate, perhaps the best solution is to move to a technology stack with more free tools available. Like Java (lots of choices here), Rails, or Django? Netbeans and Eclipse for Java are both really slick for free IDEs, I actually prefer Netbeans to Visual Studio at this point.

This could have an added advantage of growing your resume with additional technologies.

On the other hand I can understand if you want to stick with what you know, sounds like your in a place where management wouldn't be supportive of "learning/R&D" time.

James McMahon
There are plenty of free Tools for .Net
Matthew Whited
Right, but I don't think there is a free IDE for .NET that can match Eclipse or Netbeans.
James McMahon