PDA

Click to See Complete Forum and Search --> : Visual C# question


Maglor
Aug 4th, 2007, 08:09 AM
I have some questions:

1. What version of C# do I have if I have VS2005?
2. Is C# better than VB.Net?
3. Do you still need frameworks to execute your program if created in C# on VS2005?

jmcilhinney
Aug 4th, 2007, 08:14 AM
1. C# 2005, or 2.0 if you like. 2002 is 1.0, 2003 is 1.1, 2005 is 2.0 and 2008 is 3.0.
2. That depends on the criteria. The general answer is that they both have their pros and cons.
3. Every application and library created in a .NET language requires the .NET Framework to function.

Maglor
Aug 4th, 2007, 08:16 AM
Are there other compilers which do not require Framework? Because it makes my app looks so "unproffesional"

jmcilhinney
Aug 4th, 2007, 08:22 AM
Are there other compilers which do not require Framework? Because it makes my app looks so "unproffesional"That's ridiculous. There are thousands, even millions of developers world-wide creating .NET applications and every one of them requires the .NET framework to function. Anyone who has an ATi graphics card already has it installed because the ATi Catalyst Control Centre is a .NET app. Are you trying to say that ATi are unprofessional because their configuration utility requires the .NET Framework? Version 7 of Nero, the most popular disc burning software in the world, requires the .NET Framework to function. Are you saying that that is unprofessional? It's only people who don't understand what the .NET Framework is and what it does that might think that, and it appears that you are one of them. I suggest you do some reading to develop that understanding.

penagate
Aug 4th, 2007, 08:26 AM
Are there other compilers which do not require Framework?

Yes, compilers for non-.NET languages.

RudiVisser
Aug 4th, 2007, 08:31 AM
Why does it make it look unprofessional? The .NET Framework is very powerful and is included on systems > XP SP2.

Most machines have the .NET framework installed, and therefore you should be wanting to use the power of it, not the other way round. If your application does the job in hand, there is no reason for it to be unprofessional if it uses the .NET framework.

2008 is 3.0.
2008 is also 3.5. :)

Maglor
Aug 4th, 2007, 08:32 AM
But I always hear people say: "Look that app uses Framework, that must be a real stupid program. Only ****ty programs use frameworks... Real porgram do without"

RudiVisser
Aug 4th, 2007, 08:33 AM
Sorry how old are the people that say that?

The only time I heard somebody say that was in around 2001, when .NET wasn't really fully adopted.

BTW, C# is .NET's native language, so using that is basically saying that you want to use .NET.

jmcilhinney
Aug 4th, 2007, 08:34 AM
2008 is also 3.5. :)The latest version of the .NET Framework is 3.5. The latest version of C# is 3.0.

jmcilhinney
Aug 4th, 2007, 08:39 AM
If you want to build a program that doesn't target the .NET Framework then there are plenty of choices, like Delphi, C++, etc., etc. If you want to use C# then you're targeting the .NET Framework whether you like it or not. There are tools that will recompile your .NET assemblies into native code and break the dependency but they are about US$1000. There are some legitimate reasons for not using the .NET Framework in some specific situations but anyone who says what you quoted in post #7 is, frankly, an idiot.

Maglor
Aug 4th, 2007, 08:41 AM
Ok thanks, I'll try and learn C# now. Knowing VB.Net and C# will be good I think :)

RudiVisser
Aug 4th, 2007, 08:44 AM
I would recommend learning 1 at a time (or do you already know VB.NET?) as they have completely different syntaxes.

jmcilhinney
Aug 4th, 2007, 08:51 AM
While I would certainly advocate learning both if you can, I'm inclined to agree with RudiVisser. If you learn one first you can then learn the other later already armed with a fairly good knowledge of the .NET things that apply to all .NET languages. While there's always going to be some confusion (I still get confused between the two at times) you will suffer less if you develop a good working knowledge of one language before tackling the other.

As RV said though, if you already know VB.NET then you've already taken our advice. :)