Few newbie Quesions on C#

JC0133

Senior member
Nov 2, 2010
201
1
76
Is there free software I can use to write/compile code in C#? If so which ones and where can I get it?

Any good tutorials out there on C#?

What are some of the common things C# is used for?

Ex. I heard C is good for embedded programming, C++ is good for video game development.

What are the core difference between C# vs C++ and C# vs Java?
 

owensdj

Golden Member
Jul 14, 2000
1,711
6
81
You can get Visual Studio Express from Microsoft for free to write/compile code in C#.
 

Leros

Lifer
Jul 11, 2004
21,867
7
81
Any good tutorials out there on C#?

What are some of the common things C# is used for?

Ex. I heard C is good for embedded programming, C++ is good for video game development.

What are the core difference between C# vs C++ and C# vs Java?

Tons of tutorials, use Google.

C# is object oriented like C++, but cleaner, leaner, and has managed memory. Once again, do some Googling.

You're asking questions that are too basic to really warrant a forum post. Try learning a bit on your own and come back with some more specific questions.
 

Tweak155

Lifer
Sep 23, 2003
11,448
262
126
Tons of tutorials, use Google.

C# is object oriented like C++, but cleaner, leaner, and has managed memory. Once again, do some Googling.

You're asking questions that are too basic to really warrant a forum post. Try learning a bit on your own and come back with some more specific questions.

Maybe he/she prefers the opinion of AT people. Google will get you a range of answers.

But yeah, most of this can be googled anyway. Learning the code is the important part, although which environment you become comfortable with can become a factor. I'd suggest Visual Studio Express as well.
 

Apathetic

Platinum Member
Dec 23, 2002
2,587
6
81
C# is a general purpose programming language supported by Microsoft's .NET platform. While C# is a very nice modern object oriented language, it's biggest advantage is the .NET runtime library which is a huge library of pre-written and tested code. When you learn any .NET language (C#, VB.NET, etc), you'll spend most of your time learning the runtime library.

Dave
 

Train

Lifer
Jun 22, 2000
13,582
80
91
www.bing.com
I can see where the first point is debatable on some philosophical level, but the second one seems pretty unassailable to me.

Maybe on a particular platform, Winforms or WPF both have a lot to know to be productive.

What if I work in MVC or MVVM? Both are open source libs not part of the base library. I barely touch base classes outside of primitives and a handful of collections. Even with the "built in" Webforms, you don't have to know much to use it. In the end I am really doing most UX work in JavaScript nowadays anyways. The C# work is for business logic.

In my opinion, if you spend all your time interacting with the base classes, you are probably re-inventing the wheel, and/or not separating concerns enough.

The real advantages I gain from are features of the language, not the framework: generics, lambdas, linq, async.
 

douglasb

Diamond Member
Apr 11, 2005
3,157
0
76
Maybe on a particular platform, Winforms or WPF both have a lot to know to be productive.

What if I work in MVC or MVVM? Both are open source libs not part of the base library. I barely touch base classes outside of primitives and a handful of collections. Even with the "built in" Webforms, you don't have to know much to use it. In the end I am really doing most UX work in JavaScript nowadays anyways. The C# work is for business logic.

In my opinion, if you spend all your time interacting with the base classes, you are probably re-inventing the wheel, and/or not separating concerns enough.

The real advantages I gain from are features of the language, not the framework: generics, lambdas, linq, async.

I always thought that LINQ was part of the framework (whether .NET, mono, or whatever) and not the language itself.
 

Train

Lifer
Jun 22, 2000
13,582
80
91
www.bing.com
I always thought that LINQ was part of the framework (whether .NET, mono, or whatever) and not the language itself.

Technically, it's both. lambdas are required to make LINQ work. And the default LINQ methods (like where, first, orderby, etc) are now in the core framework.

Though you don't necessarily have to use those, there are alternative LINQ implementations that can be pretty handy, DLINQ for one.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
In my opinion, if you spend all your time interacting with the base classes, you are probably re-inventing the wheel, and/or not separating concerns enough.

Well, whether you're interacting with base classes a lot or not, there just seems to be a lot more material to cover and retain in the .NET libraries than in the language itself. It's not always easy to draw a clean line between the two, admittedly.
 

Train

Lifer
Jun 22, 2000
13,582
80
91
www.bing.com
Well, whether you're interacting with base classes a lot or not, there just seems to be a lot more material to cover and retain in the .NET libraries than in the language itself. It's not always easy to draw a clean line between the two, admittedly.

Well if you look at it that way, I agree there is WAY more material in the base libs than in the lang. But you can spend an entire career never touching whole swaths of the base classes. I once spent the better part of three years working with the System.Drawing namespace. Another coder could have spent 12 years in .Net and never touched System.Drawing. I also could have accomplished the same thing by using a 3rd part lib to skip using System.Drawing altogether.

A coder who has done nothing but web and/or backend stuff since .Net was introduced may have never had the need to get into the giant beast that is System.Windows.Forms.

I guess my point is you can ignore the vast majority of the base libs and not miss out on a thing. And you only need to "learn it" when you use it. But you could spend just as much time learning 3rd party or open source libs as well, which is often preferable since they can be both more specialized and more performant. (Even MS chooses 3rd party libs over the .Net framework for a lot of things. JSON.Net is one example.)

If there's a set of classes to learn from .Net, it should really be the core interfaces. IEnumerable is used on damn near everything.
 
Last edited:

Zak_

Member
Dec 31, 2013
27
0
0
That's good advice. Focus on the core elements, the core interfaces, data structures, and coming from java one of my favorite things is linq.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
That's good advice. Focus on the core elements, the core interfaces, data structures, and coming from java one of my favorite things is linq.

Agreed, that is good advice. I was also a linq fan, although I started out hating the idea because I initially encountered it in the context of linq-to-sql. But when I started using it for manipulating iterables I fell in love with it. For similar reasons I like python list comprehensions... although that and sets may be about the only things I like in python.
 

TFchris

Member
Feb 10, 2013
28
0
66
For the C++/C# free stuff, I used microsoft visual c++/c# 2010 (there is a new version now).
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |