First "programs" in a non-web environment - c#

I'm starting to re-skill myself in Desktop applications. I've been doing Web applications for a few years now.
I've got come decent C# books that I am going through, but they are more like language references. What I would like is a list/site/book with practical exercises, preferably graded in terms of difficulty.
They don't necessarily have to be from a C# site, either, but that would of course be advantageous.
Do you know of any resources like this?

On the topic of learning C# language itself and the runtime, I would recommend the Learn C# section on the MSDN. There are links to lot of articles and trining materials abtou C#. You can combine this with Jesse Liberty's Learning C# 3.0.
On the topic of desktop programming, the answer depends on what platform you would like to use.
If you want to target WPF, I'd recommend Petzold's Applications = Data + Markup. (As a side note, learning WPF would give you the basis to learning about RIA with Silverlight)
If you want to target WinForms... well, I am biased and would recommend against. But if you insist, Petzold's Programming Microsoft Windows Forms is another good book. :-) Chris Sells' Windows Forms 2.0 Programming also is very good book about WinForms.
The WindowsClient.net Get Started and Learn sections have a lot of training videos, articles, FAQ and samples for both WinForms and WPF. The Community Books section also has an extensive list of books on both technologies.

There are a lot of good C# tutorials on C# Practical Learning, ranging across several topics.
I also recommend Head First C# if you want to try a non-reference book.

Related

Programming with .net

I've just recently learned C# and am interested in .net but I don't know where to begin.
I know .net is just a bunch of libraries and can be used for web programming?
I'm not quite sure what areas in .net that I need to learn?
I don't know what I am trying to accomplish with .net? But I want to learn .net.
What other things can be achieved with .net?
Thanks.
Added -
The 2D class that I finished was a C#/Winform/XNA class working with 2d objects. Though there was never once a reference about .net in class. I just learned C# which is comparable to C++ and Java and Winform = just using the tool box and hooking up controls to back end code. XNA portion was being able to use the hardware to draw primitives and manipulate data going through the model->view->project pipeline.
What part of this class was .net? None right?
You can do nearly anything with .net (the same is true for most other platforms).
You can use ASP.NET for web programming, Windows Forms or Windows Presentation Foundation for GUI development.
There are also lots of functionality for networking, database development and XML or Image processing.
But the question is, what do you want to achieve?
I know .net is just a bunch of libraries and can be used for web programming?
.NET is much more than this. It is not restricted to web programming. There are possibilities for doing Windows Applications (WPF), Web Applications (ASP.NET), Network Communication (WCF), Database Access (ADO.NET), ..., you name it. So just pick a language you would like to learn like C# and go ahead and visit MSDN.
.Net is a managed runtime with libraries. It is not exclusive to building "web" applciation or pages.
The .Net Framework is 'the libraries'.
The CLR is the runtime (where the specification thereof, is deposited into a standarization organization)
C#/VB.Net/F# are flavors of different syntaxus (how do you spell this in plural?) used to instruct the runtime, using the libraries, to perform actions in an order you define (AKA programming)
Wanting to learn .Net is akin to learning another language/gammar. If you have no previous knowledge of "language/gammar" itself, you are using this specific language/runtime to learn 'language' in general.
Hope this helps,
Sorry, but if you've just used the toolbox to hook some stuff together you haven't learned C# or programming. You've learned how to hook some stuff together, but you're obviously interested in learning how it works. Seems like you're going to have to learn a lot of stuff from scratch. There's a lot to learn...
I think your best bet to learn .Net and C# (you can't really learn one without the other) apart from following a course specific for that goal is to find yourself a good book that explains the whole picture and run through the examples in the book.
Looking on internet, asking questions, and collecting bits of examples, etc. will give you little pieces of understanding, but I doubt you'll be able to get a comprehensive understanding of programming, .Net and C# that way, simply because you won't find a big picture explanation. I find a good book gives me a deeper understanding even though I've already worked with .Net/C# since it first came out, simply because there is much more explanation of how things work and why.
Personally I really like the Pro series from Apress: have a look at Pro C# 2010 and the .Net 4 Platform
It might be perfect or not depending on your understanding of software development. Otherwise just search for C# and see if other interesting books pop up.

Where can a C++/Java developer find C# learning materials?

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.

What's a quick way to familiarize myself with C#, .NET framework, etc?

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.

Good place to start learning ASP.NET

I have a two years of experience of programming in Visual C# and Visual C++. I would like to know some good online sources to start learning ASP.NET or anything else I should/need to learn before diving into ASP.NET. I found some online videos that are proving to be quite useful. Perhaps I would like to know about some open source projects where I can have a look at the ASP.NET code directly.
Sorry, but I'm going to have to suggest the immediately obvious first:
Official Microsoft ASP .Net Site
There's a link at the top to both "Get Started" and "Learn", and I have found this site incredibly useful over the past year or so.
Speaking as a convert from WinForms to the Web, I offer the following tips
Learn the ASP.NET Life-cycle
Get to grips with the concepts of client vs server-side code; know how pages are served up etc
Don't bite off too much too soon, there are A LOT of new things to learn, and it changes very quickly. But you don't need to be writing a full-blown AJAX web app straight away.
I like http://www.asp.net/learn/ it has some great tuts and some cool videos that walk you through the processes.
Good Luck
IMHO, CodeProject (www.codeproject.com) has lots of excellent articles related to ASP.NET.
Regarding projects, there are plenty of ASP.NET applications in CodePlex (www.codeplex.com) or SourceForge.
Regarding a specific ASP.NET application, http://www.cuyahoga-project.org/ its a great application to see.
Best Regards.
https://web.archive.org/web/20211020202742/https://www.4guysfromrolla.com/
Loads of ASP.NET articles/tutorials at various levels. I found it pretty useful to get my head around some of the concepts.
Just to add, another great resource is www.learnvisualstudio.net
Its not free but it has a plethora of videos covering all aspects of asp.net from 1.1 to 3.5, AJAX, Webservices.
Programmer to Programmer style videos with great examples and downloadable source code.
Good luck :)

Good resources to learn mobile adaptation techniques

I'm a web developer that has worked with ASP.NET based portal applications for several years. Recently, my company tasked me with developing a mobile version of our portal product.
I have found quite a few resources about developing mobile web applications, and have made great progress in my task; however, the one topic that I have yet to find any valuable resources on is Content Adaptation (specifically adaptation with ASP.NET):
Content adaptation is the action of transforming content to adapt to device capabilities. Content adaptation is usually related to mobile devices, which require special handling because of their limited computational power, small screen size, and constrained keyboard functionality.
I've found some resources on MSDN to be slightly useful, but haven't seen much in the way of concrete examples.
Does anyone know of good sites or books for this topic, that include concrete examples?
NOTE: I usually code in C#, but can translate most languages so it doesn't need to be C# focused (though it is preferred).
I would have to say that your best experiences are going to be looking at
WURFL and the mailing list wmlprogramming
From there I would also recommend reading mobiforge as they have alot of articles about how to do things for mobile even if it is written more for Java and PHP
Overall I have found that the Java/PHP community is alot further ahead in mobile development than the ASP.NET community.
I put that down to the poor implementation of the mobile controls by Microsoft.

Categories