It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 13 years ago.
How can I start with C#
First, get a copy of Visual C# Express, it's free.
Then, you could follow an online tutorial (use google), it could for instance be the one found here. I would also recommend you get a good book.
If you are a total novice at programming, I would go for a book that teaches programming rather than C# specifically. Many C# books will assume you have at least some experience with programming.
Microsoft has an excellent guide to Getting Started With C# on their web site. Download Visual C# 2008 Express and follow their instructions to create your first application.
If you're already comfortable with another object-oriented programming language, you might prefer to buy a decent book that takes you through the language from the perspective of an already experienced programmer.
Borland (developers probably most famous for Delphi) have a free IDE to get started with building your c# applications. To learn more about c# builder please visit there website at http://www.borland.com/csharpbuilder/
SharpDevelop has a very intriguing Visual Studio look a like, developed in c# and offering it's source for both review and modification. Released under the GPL it is without a doubt a powerful c# IDE. To learn more about this IDE, please visit http://sharpdevelop.com/OpenSource/SD/Default.aspx
If you need a good book, I would recommend Visual c# .NET 2003 in 24 Hours by Sams Publishing. I don't personally know the author but he is very helpful and his book is very insightful and aimed towards those who never programmed before.
Also Sitepoint.com has a nice set of articles and a book out about using C# .NET and ASP to make a website. That would be a fun way to start.
Start by downloading the IDE for C#... Visual Studio Express Edition. Free and no strings attached.
On that page, you can find learning resources as well. MSDN Express provide a good reference.
I recommend a copy of Juval Lowy's Programming .NET Components. I'm still picking stuff from that one.
Sometimes I feel as if I was new myself. There are always things to learn and discover.
Get a book, read first 2-3 chapters, then start to code reading in parallel the rest of the book. Think of a little project or a toy to program - and go for it!
Here you have the trick explained.
http://norvig.com/21-days.html
As with any other programming language, its not about how to start coding, its about what to code, how to study it, and to code! Being involved in a OS project always helps, so you can learn from the success or mistakes others developers make.
Hope it serves, Happy Coding!
Simply: don't start programming C#.
Try a real language like Java, C++ or Lisp.
Java is a classic beginner language.
And if you already knew it, you would not be asking that one-liner questions on stackoverflow.
Related
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I'm new here and have a problem. I am having to pick up C#, but I have no experience in it. I'll mainly end up (probably) doing tooling type stuff, but I haven't programmed in awhile and I don't know a huge bunch about it.
I have to write a class that depicts an enemy spaceship, but I am not quite sure how! I seem to have forgotten everything I learned in Java and VB about writing classes. Where might I find good resources for re-learning to write classes, learning to write a class in C#, and learning to write classes for video games?
Specifically, I have to show how it interacts with other enemies, weapons, how big it is, how it looks, etc.
I'm not asking for code, just for resources on learning.
Maybe you should ask on the gamedev stackexchange platform in order to get more pertinent responses : Gamedev Stackexchange
Also, MSDN is a good solution : Learn Visual C# on MSDN. They describes the basics a lot, concepts, classes, structs, interfaces, with a lot of tutorials and resources (like Creating a Maze for example).
Not a direct answer but:
http://www.3dbuzz.com
They have incredible tutorials on c# and C and for the most part - programming logic is programming logic, once you have a way of thinking its a lot easier irrelevant of what the language is. They also have XNA stuff to help you with that.
You should stick to the MSDN Documentation. It's a good source of information for everything you need to know about C#.
Once you get a good hold on C# you should look into XNA Platform.
It's a free Game Development Engine by microsoft for C#.
You can make games for Windows, Xbox360 and Windows Phone.
http://www.microsoft.com/en-us/download/details.aspx?id=23714
This is the best tutorial I know to learn how to use XNA.
Well if you're starting from the ground up I would suggest download Microsoft's Visual Web Developer. It's a free IDE that will be very helpful for you when programming.
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-web-developer-express
Once you have that installed, you can follow csharp.net's introductory tutorials:
http://csharp.net-tutorials.com/basics/introduction/
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have a C++ background and having to develop a larger application written in C# and using the .NET framework. So far I've been reading a lot of tutorials online but looking for books preferably unless there are some really good longer tutorials out there. The project I am working on involves threading, sockets, and GUI design. What are the best books these days? I'm using .NET 3.5 for my application.
As already mentioned, Jon's book is very good. Also very good is Mark's book "Essential C# 4.0".
I was the technical editor of both books.
The books are well named. If what you are looking for is an in-depth guide to the C# language, Jon's book is marginally better. If what you are looking for is thorough coverage of the essential features of the language and frameworks, Mark's book has the edge. But I would recommend either unreservedly.
Grab Jon Skeets book, C# in Depth:
http://www.manning.com/affiliate/idevaffiliate.php?id=876_230
Companion web site:
http://csharpindepth.com/
"The definitive what, how, and why of C# 3" - Eric Lippert, Microsoft (from the foreword)
"Become a C# 3 maestro!" - Fabrice Marguerie, C# MVP and author of LINQ in Action
"The best C# book I've ever read." - Chris Mullins, C# MVP
"Clear and concise." - Robin Shahan, GoldMail.com
"A treat!" - Anil Radhakrishna, ASP.NET MVP
"Reveals C#'s powerful mysteries" - Christopher Haypt, BuildingWebApps.com
"So good, it hurts my head." - J. D. Conley, Hive 7 Inc.
"Enriches the beginner, polishes the expert." - Josh Cronemeyer, ThoughtWorks
Follow Jon Skeet's answers here on StackOverflow
Without a doubt: Pro C# 2010 and the .NET 4 Platform (or Pro C# 2008 and the .NET 3.5 Platform if you insist on .NET 3.5)
I'm sure you'll get many responses for useful books and tutorials and such, but for me, one of the biggest helps was installing and using JetBrains ReSharper. I was already familiar with a lot of development methodologies used by the team I joined. ReSharper was a great way to be constantly oriented to C# and .NET-specific standards and potential usages.
Resharper site
Head First C# is pretty good. All the Head First! books are pretty good).
Another good book is C# In A Nutshell, from O'Reilly.
It's old, but still one of the the best in-depth books about .Net framework/CLR fundamentals, is Don Box's Essential .Net
For indepth learning - CLR via C# 3rd Edition
visual c# step by step does a great job of not only familiarizing you with the language and .net, it also does a good job of teaching you to get around in visual studio. It starts out very basic, but by the time you reach the end of the book it has touched on event handling, database access, xml, and even asp.net giving you a solid enough foundation to be able to decide what you want to learn next. Most students in my class had little trouble learning the concepts here. If you already know c++ you might find this a bit basic, but the starter sections could be used to familiarize yourself with the visual studio environment if you aren't already, so they wouldn't be just an extended rehash of things you already know.
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
I have always had an interest in coding, and a while back a started to learn C#. Since I only do this as a hobby, i have been learning it very slowly and don't know too much yet, but when I started to read about C++ and how it runs closer to the OS, I started to wonder if I should start learning C++ instead. I know html and JavaScript pretty well and to me C# seemed to be somewhat similar to js, so it wasn't to hard. I just downloaded C++ Express and noticed it is in a very different style than what I'm used to. I'm wondering if I should stick with c# or try c++ (especially if I want to start playing with Arduino sometime in the future). What are some advantages/ disadvantages to both?
As a person who has done all of these languages professionally, I would say that C# is probably the easiest to learn while still being very powerful. There is a lot of help for the .NET platform both from the libraries standpoint and from the community as well. Unless you really want to get down and dirty with a language, stick with C#.
The bigger answer, however, is "it depends". If you are looking to learn a language for the sake of learning one, C# is the way to go. However, if you are thinking about possibly using this new skill in a job setting, look for what type of job you want and decide from there. If you are looking to build applications for yourself and your friends, stick with C#. You can build a Winforms app in about five minutes and you can scale to larger and more professional apps easily from there. C++ will be much more difficult to do the same with.
Coming from Javascript, I would probably recommend staying with C# if you don't want to get down and dirty with details. It will take care of memory management and several other low-level concerns that C++ makes you deal with manually, so it's a little less of a shock to go from an interpreted scripting language like Javascript or Python or Ruby to C#. It's kinda half-way between them and C++.
That said, if you want to learn more of how programming languages and computers in general work, go for C++. It's more complicated than C#, but learning C++ very well makes any language you learn after that easy. Plus with C++, there's virtually no limit to what you can do (C# imposes a few limits), and you pretty much have the entire computer with all its speed and resources at your disposal.
That said, C++ usually takes longer to do the same thing in. For instance, creating a Windows application with a GUI and everything would take a considerable amount of time in C++, but in C# it's trivial. It's a tradeoff you have to deal with, but like I said, if you learn C++ first, C# is cake. The converse is not necessarily true though.
If you want to work with Arduino, go for C++ (never worked with Arduino but the code snippets looked like C so..). C++ is very similar to C, and most C will compile as C++ with very little modification.
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
I want to implement another debugger (language) for .NET (it's just for academic reason, so that it can implement just a part of a language). I myself like to implement NS2 (network Simlator 2) script for .NET in which anybody can write ns2 script and debug it with .NET
I read this article in stackoverflow and it is far from what I'm looking for.
Here is the requirement
have some predefined keywords (e.g: for, while, if ...)
check the correct form of the statements (e.g: for(start;end;counter){commands} ...)
diffferent colour for different types of statements
ability to add to any IDE (e.g: implementatin like add-in or as a dll or ...(I have no idea))
many other thing that is not necessary for now
How can I do this?
Update : I'm not sure that you got my point, take a look at this, it is very close to what I am looking for.
It will not be an easy task. However: The Dragon Book is probably a good place to start (assuming you've got sufficient computer science background for a compiler theory book to make much sense to you). Compiler Construction: Principles and Practice is also a good text.
You'll want to compile to CIL (common intermediary language). This handy wiki article outlines the CIL instruction set. Debugging your intermediate code against the CLR... well, that's where the StackOverflow article you've linked will come in handy =)
That'll cover your first two bullets (and consume a big chunk of your life).
The next two are different issues, but the easiest way to 'make it go' would probably be to define a syntax for an existing text editor, and set up a macro in the program to call your compiler. I'd recommend TextPad, though I'm sure opinions on a configurable general-purpose text editor will vary among the community ;)
Designing a full IDE with all of the features you've come to know and love in your environment could be quite a task ... or you could try to build an eclipse plugin. Personally (assuming you can design your language and learn something from it), I'd just stick with syntax highlighting in TextPad.
There is more and more interest in this area and in fact there is an active project by Microsoft Research that is looking at this on building a common infrastructure to build compiler (and debugger) for custom languages targetting .NET
http://cciast.codeplex.com/
I have used the infrastructure myself but not an expert in compiler technology. Hope this gives you a good starting point and you may find the discussion forum useful to share idea with like minded people.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I'm beginner programmer in the amazing world named ".Net".
I've a lot of questions
well, what I should learn C# or Vb.net
What's the best blogs which talk about .Net technology and Open source projects
Where can I find good tutorials, free books and ideas of projects
how can I progress in ".Net"
please, share your knowledge , your OPML of your favorite blogs or web sites about ".Net "
I'm waiting your advices, opinions, etc.
As far as which language you should learn, well what are your experiences thus far? I prefer C# over VB.NET. Though, eventually, you should be able to program in VB.NET even if you say with C# as your primary language (the same is true vice versa for VB.NET). You might want to check the syntax of each language and see which you prefer just by first glance. You will probably find that whenever code examples are provided for .NET and both languages aren't present, typically the examples are in C#. This is not a big deal though. I find C# (and similar languages) to be less verbose but that is a preference. Here are some good resources. I highly recommend the LearnVisualStudio.NET videos; start with the beginner tutorials and advance to more advanced topics.
Some great resources include:
http://www.dotnetrocks.com (podcast)
http://www.se-radio.net (general software engineering podcast)
http://www.haacked.com (Phil Haack's blog)
http://weblogs.asp.net/scottgu/ (Scott Guthrie's blog)
https://stackoverflow.com/questions/551315/which-c-net-blogs-do-you-read (previous question with a good list of blogs)
http://www.learnvisualstudio.net (good place to find video courses, cheap)
https://stackoverflow.com/questions/54423/best-net-podcasts (previous question)
What good technology podcasts are out there? (more podcasts)
Open Source projects:
http://www.codeplex.com is great for Open Source .NET projects.
Also:
http://csharp-source.net/ (not bad, some projects are old and not maintained)
http://sourceforge.net/softwaremap/trove_list.php?form_cat=271 C# as SourceForge
Open Source C# Opportunities (previous question with good infor)
Also check http://www.codeproject.com/
I'd start with Fabulous Adventures In Coding, which is a great blog by one of the people who actually work on C#. Then i'd also take a look at CodeProject and MSDN. Finally, you can't forget Joel Spolsky's web site!
For Regexes, look no further than here. Cosmos is a neat project though a little heavy for beginners, and DevExpress has the best VS addin this side of the earth! Personally, i don't like ReSharper but plenty of other people do.
(marking it CW so anyone can contribute)
Excellent suggestions so far. Another site to always keep in mind for open source code is Google Code. Plus Google has excellent search features for finding just about anything in their code base.
Things i am following
https://stackoverflow.com/
http://www.codeplex.com/
http://msdn.microsoft.com/hi-in/default.aspx
If you are interested in web development, check http://www.asp.net.
Also, checkout MSDN Magazine, 4 Guys From Rolla, and the Linq Project.
You can find a Comparison of C# vs VB.NET here
Also this Article in CodeProject describes the complete differences between C# and VB.NET. You will get large number of opensource projects from CodeProject
You can find an exiting project TextPad, which will help you to learn more in C#
I also had these question in my mind when I started learning .NET. I prefer C# over VB. But then its purely a personal choice. In my view start with a nice book like Beginning Microsoft Visual C# 2008 or Head First C#. And the online source which I find very useful MSDN.
As to your question whether to learn VB.NET or C#... Well, there are personal preferences and there are realities.
If you want to make a living out of this, keep in mind that relatively and generally speaking c# will make you more employable.
Example. As of right now, Dice lists 4421 matches for c# versus 1131 for vb.net.
I can recommend "Beginning ASP.NET 3.5 in C# 2008: From Novice to Professional" from Mathew MacDonald. It does not rely on deep C# knowledge and even for someone who knows C# it's interesting to read. I'm almost half through, and it is really nice to read.
Don't be shocked by the almost 1000 pages - lots of code listings and pictures are inside.
I think there is even a VB.NET edition, but I prefer C# - and I still think that this is the language Microsoft puts more focus on.
For GDI (graphics) programming in C# / VB.Net, look at the "Beginners guide to GDI+" section at bobpowell.net.
I have worked through many of the advanced topics, and they're very well written and give great examples.