a couple of questions about c#

This is a discussion on a couple of questions about c# within the C# Programming forums, part of the General Programming Boards category; Firstly what do I need to program it? I have the ms .net framwork installed but how do I create ...

a couple of questions about c#

Firstly what do I need to program it? I have the ms .net framwork installed but how do I create programs? Does it cost money to get the program? or is there a something free? I want to get a book on it some time soon and I want the book to go somewhat with the program I use to make the programs.

With the .NET framework you should get a program called cs.exe. It's a command-line C# compiler. If you don't have it, you can download the .NET SDK free from Microsoft.com. Visual Studio.NET is a great app for devloping .NET applications, but it costs upwards of a thousand dollars, though there are ways to get it free (I did - but they're starting to taper off the give-aways). There's a free download of the 2005 beta version (search the board - someone had a link). There are other methods too. You can get Elipse (which is a very generalized IDE, and just set it up to use cs.exe as the compiler.

Yeah, they're all different, but with .NET also comes the .NET framework - which is a set of standardized functions for use in any of the .NET languages. Of course, by default, C++.NET will use something very similar (if not identical) to the current standard of C++. Once you get used to the style of the language you'll find C# to be extremely intuitive.

Intuitive basically means it make sense. It's basically matter of language levels. It's really hard for someone to read through an ASM program and figure out what it does, because ASM is 1 step above binary. C# is a very high level language. You could look at some source code, and because the function names are written purely for humans, with only a little knowledge of C-style syntax (like loops, etc... - common to almost every programming language) you could easily read and fuly understand a very large program.

The most common complaint is the .NET Framework of 27 MB that you have to install prior to running any .NET Applications. In the age of flatrate internet access this should not be a big deal, but it's the thing I hear most.

Speed obviously is a little bit worse than something otimized for speed like C++, but it's not noticable in anything but high speed batch processing server applications. Anything client side will involve the user, who is always slower than any application.

There is a const keyword, but it cannot be applied to methods of classes. For me this is a design flaw that hurts the most, though I rarely see people practicing const correctness in C++, so this might not make a difference to those that ignore this feature anyway.

This is what I can think of. 27MB download or disk install once, 10% less executable speed and a missing feature that is great but totally underrated and frequently neither used nor taught in C++.

...Visual Studio.NET is a great app for devloping .NET applications, but it costs upwards of a thousand dollars, though there are ways to get it free (I did - but they're starting to taper off the give-aways)...

VC# only (non-studio) IDE can be had for $90 at places like Amazon. Now I know thats a small fortune to a college student, but the IDE integrates a lot of things to make learning the language easier I think. Plus I am addicted to auto-complete. I am terrible at rote memorization, so having a list of possible functions and their parameter lists availabe is a huge time saver for me.

The other complaint is that you can't do much low-level programming. I'm not sure if VC++.NET preserve's the ability to wrtie directly to memory, etc... but as far as C# goes, it's geared towards a high-level market.