Choosing between VS 2005/2008/2010 for independent learning - c#

I am working helpdesk software support on our proprietary programs. Whenever I run into a bug, I am supposed to try and get as much info as possible so the developers can fix the source. I have a very limited programming background but we can access the source and try and get as close to possible so the devs won't give us too much grief when we report. The programs were written using C# 2005, ASP.NET, run using .NET 2.0, and on SQL 2005. I am going to purchase my own copy of SQL Developer and probably Visual Studio since the company doesn't consider me a developer and won't spring for this and won't give me the company time to learn it so I need to learn it at home.
What I want to know is - should I try to get the 2005 versions, get the current 2008 version, or start on the beta 2010 versions? Basically, if I learn all 2008/.NET 3.5/SQL 2008 or later, is there anything that will screw me up supporting older platforms - for example, not learning deprecated stuff because it is no longer in the newer versions?
10/31 - Clarifying my question - money isn't an object - SQL Dev is only $50 and I can get VS relatively cheaply. I'm not worried about the price. Just - if I learn the 2008 or 2010 versions of SQL/C#/ASP.NET, are there enough changes such that I'll either not understand something due to something being implemented differently? How much change has there been - not including stuff like LINQ/MVP/WP and other frameworks which obviously won't be in the old code?

I would recommend installing Visual Studio 2008 Express (Free). If you want to start getting into the latest and greatest just for personal learning, also install the 2010 beta.

It depends. If you are learning this solely to improve your ability to identify bugs in your software, learn the CURRENT language of said software, or you'll just annoy the devs more.
If you are learning for personal growth, learn the latest and (supposedly) greatest.

First don't waste money on versions of Visual Studio and MSSql. Go out and get the express version of Visual Studio and Sql Server.
If you are just trying to provide more information to the developers then download the current stuff (Visual Studio 2008).
If you are interested in becoming a developer, then you want to look at 2010, since it's release is just around the corner.

In terms of your own personal learning, I'd recommend getting the latest stable version, in this case that would mean Visual Studio 2008, likely the free express edition.
If you are intending to work with a team or run a project that already exists, you should try as hard as possible to use the same version of Visual Studio as the project is being developed with. I currently use Visual Studio 2005 at work most of the time, as trying to have different people using different versions of Visual Studio is nearly impossible, if only because Visual Studio will "upgrade" project files when opened in a newer version of Visual Studio, and then older versions will be unable to open them. Beyond that, due to changes in the compiler there may be random bugs that may be introduced or hidden due to the minor changes in behavior.

Since the 2010 editions have a go-live license and a release date, I wouldn't be too concerned about using them about now. I would probably want my projects to be released after .NET 4.0 RTM though, but I would expect any last-minute changes to be easy enough to fix.
Which edition is a trick... I'd start with Express and maybe a "pro" evaluation. Of course, during the beta you can go mad and use any edition - decide whether it has features you need.
I see no benefit going 2005 - especially as 2008/2010 can multi-target. Tellingly, the 2005 express editions have been withdrawn.
I use express for odd-jobs, but I write my real code in VSTS; in addition to the missing direct features, express lacks extensibility. I use a few (not too many) VSTS addins to make development more productive.

Alright I think you ,as a new learner, should start with Visual Studio 2010. Yeah it's now Beta 2 but one day they are gonna ship full version of it so everyone start using it. Basically it wouldn't feasible to start with an older version. New version brings new features and it would be better to learn them now.

The 2008 adds a few useful alterations and language extensions. It is worth getting the latest version yet learn what was added in each.

I would definitely go for VS 2008 Express (such that you don't waste money on a full-blown version). VS 2008 is not only backwards compatible, but it allows you to learn the newest features such as C# 3.0 and LINQ.

I would use VS2010 beta2...and sql express.
Than being said in way its not about the tools is about the code so you could use SharpDevelop as an IDE (and even download its source code) and a different open source database.
Also if there is a school near by and you take a class you might would qualify for the DreamSpark program.
From their website Dreamspark Overview:
"as long as you’re a current student in a verified, accredited School and use the tools in pursuit of advancing your education in one of these areas."
&
"you must use them in pursuit of increasing your education, skills, and knowledge in either science, technology, engineering, mathematics, or design."
Since this is your own time, and nothing is being paid for by your employer you might qualify if you ever take a class. (any MS people out there want to comment on his eligibility ??)

Microsoft has a nice area on MSDN called Beginner Developer Learning Center. From this website you can learn about web development, desktop development, C#/Visual Basic. You can download the express versions of each type of development enviroment. Walk through tutorials, watch videos and what not. Going through the different levels of training here should get you up to speed on your independent learning.
Hope this helps.

Get VS 2010 beta 2 it is really stable (have been using it for a week now !) and you will have until the end of march to chose an edition.
for learning VS2010 has all features of 2005 and 2008 and has multi target support (.net 4.0 3.5 3.0 2.0) so you can chose what the framework you want to target in your case 2.0 and in the future you can shift to a new version of the framework without having to buy a new version of vs
about sql dev edition you can get it with only 40$ it has all the features of enterprise edition but it can not be used in production

You need to look at the time value of knowledge.
If you learn something how many years will you be able to use that knowledge.
Here you are just choosing between different versions of the same product, so always go with the newest.

Your question starts with the premise that the purpose of this effort is to have solid bug feedback for the QA lifecycle. I would recommend you install Visual Studio 2005 and Visual Studio 2010 (currently beta 2) side by side, so that you can perform your functions with Visual Studio 2005 but learn the latest and greatest with 2010. If you can only choose one, you should choose 2005 simply because it won't try to up-convert the codebase your devs are working with (and which you're essentially QA'ing).
To answer your other question, no, there's very little trailing behind in older .NET that isn't supported and used as frequently in newer .NET. Only new stuff in new .NET.

Related

Is it easy/safe to upgrade from VisualStudio 2005 to 2010 (for WinForms projects)?

my team have built many tools for our project using win forms and Visual Studio 2005. We are thinking about upgrading to VS 2010.
Just wanted a heads up on any compatibility issues and also any benefits of upgrading.
Does upgrading involve lot of time and effort or does Visual Studio take care of it?
Your answers will be help us take a decision. Thanks.
Pros:
.NET improvements (provided that you upgrade the framework version)
Availability of newer 3rd-party libraries and tools for newer .NET (same as above)
IDE improvements
Neutral:
WinForms hasn't changed much between .NET 2.0 and 4.0.
Cons:
VS 2010 is a vastly heavier program, requiring much more CPU and RAM and faster disks to operate smoothly.
You decide.
as far as I know are there no downside's
I only know that all your changes in the visual side are gonna be placed in [name of form or usercontrol].Designer.[cs/vb]
I am a user of VS2010 and Im really happy with it so,
but why not wait on VS2012?
Kind Regards,
Corné
Yes it is possible and easy but lot of depends on the features you have used in your app. It should not be depreciated in VS 2010. Take a back up of your project and try to convert it, conversion wizard will list out all the warnings and error it faced while converting your app.Then you can take a decision on the basis of it whether to upgrade your app or not?
You'll want to check the breaking changes in C# 2008 and C# 2010, then the migration issues in .NET 3.5 and .NET 4.0, but only if you choose to upgrade the Framework target. Simply upgrading it to be readable and compilable by VS 2010 should not introduce any major issues. But, check if your project involve external component that's upgraded/removed in VS 2010, such as Reporting components, SQL connection, etc. In my experience, third party component suffer the most.
As for the benefit, lots. Check the Visual Studio Gallery for some extremely useful extensions (my favourite is the free Coderush Xpress), experience the joy of C# REPL with Roslyn, or heck, simply the Intellisense improvements makes me dread every time I'm forced to use 2008 or other IDEs.
Open the VS2005 solution in VS2010 and a wizard will open and upgrade your solution.
Just take a backup on the existing solution and give it a try. VS 2010 is very nice!
Everyone has different expectations and differences in their list of pros and cons. As such, the best way to decide if it's right for you is to go ahead and try it. As already mentioned, it will upgrade your project files (including making a backup for you first) when you try to open them.
You can download the trial from the Microsoft website and install it alongside your existing VS2005 install. If you're worried about installing alongside, install it into a virtual machine or download the ready made virtual machine images from http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx

Can Windows and Linux developers work together on the same project using C# and ASP.net?

If a group of developers are working on a project written using ASP.net and C# in a Windows environment with Visual Studio, is there any way a developer can join their team and work with them on the project in a Linux environment? I know about the open source, cross-platform development framework Mono, could this be an option or would the Windows developers have to use this as well for that to work? Is the best option for a Linux developer to just install a Windows partition or can he join them without doing so?
Is the best option for a Linux
developer to just install a Windows
partition
Yes, by far. Even better, just get a PC. I've run into so many headaches trying to develop in .NET on Linux. Mono isn't perfect, and never will be.
Yes! Use MonoDevelop and a source management solution like Mercurial.
Yes, MonoDevelop can even load the Visual Studio solutions.
It deppends on many factors, I'd say that if you plan to use third party controls, for example, then you probably better stick to windows and visual studio. If you are going to do P/Invokes (call Win32 api methods) then, again, better stick to windows.
The fact is that many functionality that .Net framework has is only available on the Microsoft redistributable installer/visual studio installer etc. If you are joining a team that already has a project going on and it is linked to any of this namespaces (Microsoft.* comes to mind) then definitely install windows and visual studio, on the other hand, if you are just starting a new project it could be easy to develop on linux with monodevelop as long as you stick to anything that is fully supported by the mono framework.
Another thing you should consider are licenses. If your team already has visual studio and windows licenses it does not make much sense to switch to linux, as much as I love linux and mono/monodevelop the best way to develop for .net is the microsoft stack without a doubt.
What makes sense is to try to comply with mono so that your software can run in unix/linux infrastructure if you already have it and if switching it to windows server, for example, raises the cost too much.
It's all about the cost, unfortunely, so see these tools just as that, tools, they are the means to an end and just that. If developing and deploying with windows and to windows is cheaper then go ahead, if you have a large unix/linux server set already working and want to deploy into that then use mono, just consider it has a slightly learning curve since it is NOT visual studio/.net per se.

Can I edit a Visual Studio 2008 project in 2010 while keeping it a 2008 only project?

So on my computer I only have Visual Studio 2010 Express. I need to edit a Visual Studio 2008 project, however it needs to be kept in C# 3.5.
Before I open it in 2010 and accidentally upgrade it, will it be kept in 2008 or C#3.5 format?
I realize I wont be able to use .Net 2010 features, so thats no problem. I just want to make sure if I save my 2008 project using 2010 I will still be able to open it in 2008 and it will work fine.
The target framework of the project is independent of the solution format. That is, you can convert your project to Visual Studio 2010 and still target the 3.5 Framework. But, once it's converted to 2010, you will not be able to open it in 2008.
You cannot open a project in VS2010 without it being upgraded. The Framework version can be controlled independently, so you can still target 3.5.
The changes to the project/solution files to use 2010 (assuming you don't use any newer features) are fairly minimal, so there may be mileage in just not committing the project/solution files (you can probably achieve this by dropping an ignore file for your source control provider in your local folder, including adding the ignore file to itself, so that doesn't get committed).
If you're mostly editing code (and not often changing the projects in the solution, or files in the projects) you could also have two copies of the files, one for each version, until you can commit to 2010 everywhere (and with Express for free, you might be able to do this quickly?).
No, VS2010 will convert the VS2008 project file. After it is converted, VS2008 can no longer open it. There are ways to hack around this, the simple solution is to just use VS2010 consistently. Next best thing is to only check-in the source code changes. Next best thing is to give the 2010 project a different name and maintain them both, at least for now.
You'd be hard pressed to accidentally upgrade it. When you open a VS2008 project in VS2010, it automatically starts the upgrade wizard, and you have to decide whether to let it do the upgrade, including making a decision whether to let it take a backup before it does the upgrade.
You can't open a VS2008 project in VS2010 and work on it without upgrading it to VS2010 format first. And once you've allowed VS2010 to upgrade it, you won't be able to open it in VS2008 any more.
Careful though - don't confuse the version of the framework you want to target, with the version of VS that you're using.
You can target framework 3.5 with VS2010.
There are hacks that let you open VS2010-upgraded projects in VS2008, but it's not a great plan to go down that road (guess how I know).
When you are going to convert it with compatible to 2010 it will ask for the backup...
so... later you can retrieve your file back ...
I might be wrong but I'm almost sure that project files don't differ between 2008 and 2010 or at least they are compatible. Solution files are a different matter and old solutions do indeed need to be converted. Usually you have few solutions for 2008 and 2010 versions of VS, but they contain the same projects, so the projects don't need to be converted.
I was on a seminar where they took this (short of classic?) accident as a sample for versioning. They get a 2008 project from git and start it in vs 2010.
Did the upgrade process and then "ops, i can't revert the upgrade". They commited the vs2010 converted files to a branch in GIT. When they "came home again", merged the changes in project together with 2008 solution files.
This may not come in touch to you, but the sense is:
All files is intact but the solution/project files. So just keep them safe and you can continue use the 2008 version after done your editing in 2010.
Though, without any kind of manual handling of solution/project files - answer (on the question in your subject) is No!
In short, no. Once it's upgraded, it stays that way. There is no official way to downgrade it either. The main driver behind this fact is because of the compiler. Even if you stay in .NET Framework 3.5, you can still use C# 4.0 features (like optional / named parameters) since 2010 will always use the 4.0 compiler.
Imagine a situation where it stayed in a 2008 format but you used a C# 4.0 language feature. Since VS 2008 always uses the C# 3.0 compiler, whenever you open it in 2008, it will no longer compile. This is a good reason to avoid work-arounds that have been posted for downgrading - you get mixed compiler features that can break things pretty easily.

visual studio: what is sourcesafe?

what is sourcesafe?
i am trying to download it to see if it will work well with c# because someone told me to download it for a job, but i don't even understand what it is?
is it built into the visual studio ide or what?
SourceSafe is a poor and obsolete source control system.
It can store an application's source code and show revision history, and allow multiple developers to work on the same project efficiently.
It has been replaced by Team Foundation Server.
Sourcesafe is a version control system from Microsoft, some would say not a very good one. It's not part of Visual studio however it does integrate into it. MS have now replaced VSS in their Team System version of Visual Studio.
Source control is a great idea, and experience with them will definitely help your Job hunting, but don't constrain yourself to Sourcesafe, also checkout (pun intended) systems like Subversion etc.

developing applications for windows mobile,c#

i work on visual studio 2008,now i want to create applications for windows mobile in c#.
what r d requirements and how to build them???
Do i need any kind of simulators
Answering your question with right degree of detailing that it deserves
is beyond the scope here. So I
recommend you to start from
here!
Windows Mobile Developer Center
There is a Windows Mobile SDK available for free from Microsoft, however you must use a full version of Visual Studio (not an Express edition).
You can now use Visual Studio 2010 express mobile edition as well. This is nice because it seems to be the only one that is actually one stop shopping: no dumb SDK's, no extra vs project template plug-ins, etc... Everything you need is in that one free DL. Unfortunately WinMo7 is radically different from the previous versions so backwards compatibility will be be difficult. The new environment is built on top of WPF tho which is nice to work with.
The Windows Mobile SDK includes a simulator, but it is always sensible to debug/test on a device before release. This is really smooth using Visual Studio 2008 and USB connection to the device.
The .NET compact framework is a subset of the .NET framework. MSDN is good for telling you what's missing.

Categories

Resources