Its been a few weeks since I started learning C#, i know my way around visual studio, know things about classes, constructors, objects, played around with WPF and now think its time to learn some networking, say making a simple server/client application.
From what I understand winsockets are outdated and currently it is better to learn WCF ?
Maybe someone know some books, articles or tutorials about WCF for beginners where it would be explained step by stem from the ground up. :) Since all I was able to find were either rather complicated materials assuming that the reader it already a master-programmer or just coded supposed to be used as copy/paste without really explaining what it does.
Thanks! :)
In short, WCF is Microsoft's library of code to simplify the process of inter-machine and inter-process communication. Pre-WCF, there were a number of frameworks you could use. WCF gives them a consistent .net interface to simplify programming.
I recommend "Learning WCF", by Michele Leroux Bustamante. It's as thick as a Bible, but it has accessible material about the different facets of WCF with lots of code samples.
http://msdn.microsoft.com/en-us/netframework/wcf-screencasts.aspx
A very accessable group of tutorials, that cover the basics very well. Great place to start.
I would like to reccomend Pro WCF: Practical Microsoft SOA Implementation
- i've been learning with wcf with it.
I learned what I needed to know from the book Windows Communication Foundation Unleashed by Craig McMurty, Marc Mercuri, Nigel Watling and Matt Winkler. It has good examples that you can use to produce your own web services and such. It requires some knowledge of C#, which you seem to already have.
Go to MSDN my friend,If you have the patience to read the tutorials/articles in MSDN you can learn WCF very well.
Here are some good beginner tutorials from MSDN
http://msdn.microsoft.com/en-us/library/ms735119(VS.90).aspx
Related
I am relatively new in Java technologies. I want to know the best frameworks and which to consider when I am making a similar web application just like in the ASP.NET Data Access Tutorials. My backend is MySQL. And my criteria from being 'similar' is ease of use and application extensibility and maintainability.
You might also want to take a look at Hibernate.
Look for "JPA" (Java Persistence API). There are lots of tutorials, especially when you try to add a UI to your app. JPA itself is explained here.
[EDIT] As Fredrik Wallenius pointed out: Try this tutorial.
I know there are plenty of books on C#, but I'd rather learn by reading articles/guides and watching video tutorials. Would Microsoft's MSDN website be enough to teach myself C# in depth?
Thank you.
**Update*:*
#Jon Skeet: Thanks for your honest answer. I might just do that then, - I'll get Table of Contents from a C# .NET book and then go through each topic on MSDN.
Thanks again to all of you. I wish I could mark everyone's answer.
All the information is there, yes. Heck, the C# specification is available there, so that's all you need, in theory.
However - and I'm biased as the author of a C# book, of course - I believe that books add value by giving you a structured learning experience. Authors put a lot of time into working out the order in which to introduce concepts so that it makes the most sense.
Of course you could just take the table of contents from a C# book and then look up bits of MSDN in that order - but a good book will lead you through in a more orderly manner, building on examples and areas you've learned before rather than treating each one individually.
IMHO this will depend on your general programming level. If this is your first encounter with programming I think that a book would be better than MSDN. If on the other hand you have experience with similar technologies such as Java there's no reason MSDN wouldn't be enough as it contains extensive documentation, many tutorials and samples.
MSDN comprehensively covers all aspects of C# and the .Net platform. so Yes MSDN is sufficient to learn C#.
I would say so too, but only as a reference. That's what I did, and still do.
Edit: It might be hard for a beginner, but not impossible.
I think MSDN is a very good place to teach yourself C# in depth, that being said I don't think it's a good source to get you started.
Let me explain... MSDN is a great place when you want to work out how things work and why, what other options are there and all the rest of little details other sources usually overlook, but can be important. However, I think it lacks a certain "get up and do something meaningful" attitude you are looking for when learning a new language.
Just my 2 cents worth though.
Though I personally didn't learn it that way, there are some excellent resources on the MSDN now vs when I started with .NET.
In general, if you're going to learn C# from the MSDN, your launchpad will be here. If you're new to programming in general, here looks like a good place to start.
As far as I see it, there are articles about how to do things and articles about classes/methods, etc.
Some of the examples in articles about a class or method aren't enough for you to say that you know them and don't discuss everything, so I'd say they're a starting point - together with blogs and articles and tutorials on other sites you will probably get a lot more information.
The articles about how to do things, that start with a problem and show how to solve it, are ok and clear (or at least the ones I've read).
It also depends on what you already know and what you're building on.
I've been trying to create an Instant Messaging application in my ASP.NET site using C#. I came to know about XMPP which is a protocol used for instant messaging by GChat. I was wondering how to implement it in my ASP.NET application. Any insights provided on this will be very much appreciated.
Thank you.
NLV
The thing about the C# libraries is that most of them are closed-source or licensed. I've found MatriX (used to be agsXMPP) to be the best in terms of what it can do (developer license might be a bit steep though). Jabber.net would probably be a good choice too.
It's not for the faint of heart. Building out a client might be ok but building a component or deploying a server caused me no end of headaches. Understanding how it works first might be the best approach. There is a book called "XMPP: The Definitive Guide" that I found really useful.
Check out this excellent book, should have what you need to implement your IM app
http://www.wrox.com/WileyCDA/WroxTitle/Professional-XMPP-Programming-with-JavaScript-and-jQuery.productCd-0470540710.html
I have a background of programming in Java and C++, so I know all about basic logic and OOP. However I'm at a new job and they are a C# coding company.
Are there any good tutorials/examples out there that show the specific differences between these languages, or at least show me the features of C#?
I briefly looked at the MSDN and looked over their 'intro to C#' but that was way too basic for my needs. Will I just have to poke around the MSDN a little more in depth and come up with ideas on my own about little test projects to get my feet wet in C#?
MSDN has their Ramp up website - http://msdn.microsoft.com/en-us/rampup/default.aspx
Specifically for Java developers - http://msdn.microsoft.com/en-us/rampup/bb421266.aspx
These links sounds promising:
C# from JAVA
C# from C++
I would actually recomend the MSFT study guide for the 70-536 exam.
http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-536/dp/0735626197/ref=sr_1_1?ie=UTF8&s=books&qid=1245687096&sr=8-1
It'll give you a good overview of .net & c# without pretending you are a high school kid who knows nothing about compilers.
try one of these books you won't regret it:
Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition
or
Accelerated C# 2008
The video tutorials on http://www.asp.net/learn are invaluable for asp.net programming.
If you went to Learn Visual C# and found none of the resources to be useful to you, including the books, then you're doing pretty well - get to work!
.NET Book Zero by Charles Petzold.
I just graduated college and will be starting working in about a month and I was asked to familiarize myself with C++, C#, .NET framework for NT Services and web services.
I'd appreciate recommendations on how to familiarize myself with these topics (books? internet links?) in a short time span. I don't expect to be an expert on it in a month but I don't want to be clueless either. I already know C++ and I consider myself to be fairly proficient in it and I know the basics of C# even though I haven't used it all that much. For C# I do own a book called O'Reilley Programming C#.
Thanks!
I would start by pulling down Microsoft's Visual Studio Express products. Your O'Reilly book is a perfectly good book to start with.
Start reading blogs and listening to podcasts, to begin to familiarize yourself with all of the technologies out there that surround c#. You will be very excited about what you can learn. Here are some of the better ones:
http://www.hanselminutes.com/
http://www.dotnetrocks.com/
http://channel9.msdn.com/
http://weblogs.asp.net/scottgu/
http://weblogs.asp.net/
In addition, the MSDN library is an invaluable resource. You can almost always find what you need there. This is where the reference for the entire .NET framework lives.
http://msdn.microsoft.com/en-us/library/default.aspx
Happy hunting!
Nothing beats actually using the language. As much as some of the information sources already quoted would be very useful to check out, I'd say make sure that you at least try and write some concrete C#.
The best place to start might be a non-trivial-but-not-too-large application that you have already written in something you know, and try to convert it to C#... even better if you can get somebody proficient in C# to peer-review your results to make suggestions where you could make better use of the language-specific features that may be new to you.
Fundamentally, if you just read books and watch videos, you may feel like you actually know it, but it is nothing like doing it yourself (as my Uni maths classes taught me... a good teacher can make the impossible look trivial on a blackboard).
That is a huge surface area. Pro C# 2008 and the .NET 3.5 Platform by Andrew Troelsen is a good place to start.
These are good podcasts that will give you an overview:
.NET Rocks
dnrTV
Herding Code
Microsoft Labs and Webcasts
Here's a good SO thread with lots of resources. I recommend you check out MSDN Virtual Labs. They have lots of great training that let's you get your hands on the technology, in particular, check out the C# ones.
I was in the same situation in late November 2008.
If you are familiar with IDEs and another programming language, download Visual Studio Express and start playing with it. It's free :)
http://www.microsoft.com/express/
And I always recommend this webpage:
http://www.java2s.com/Tutorial/CSharp/CatalogCSharp.htm
You can select the relative topic you are interested on this stackoverflow site based on the tag name, and read through some posts, it will give you a good feeling what are common issues/challenges people face in day-to-day programming.
One way is listening to podcasts. We do one called Deep Fried Bytes that contains a variety of topics on any and everything.