C# Workshop - Introduction

Started by
158 comments, last by Ambro 16 years, 1 month ago
Quote:Original post by JWalsh
Anyone else interested in the workshop?


Yep, I've done some C# development already, but don't have a firm grasp on all the features of the language yet.

Check out Super Play, the SNES inspired Game Engine: http://www.superplay.info

Advertisement
Jwalsh, why is the minisud in a console application? Wouldn't it be easier to make a game in a Windows application?
I'm probaly missing something, but I thought Windows applications were easier to make than console applications?
Quote:Original post by Stormtrooper30
Jwalsh, why is the minisud in a console application? Wouldn't it be easier to make a game in a Windows application?
I'm probaly missing something, but I thought Windows applications were easier to make than console applications?


ST, it would be easier to make a text game in a console, and a graphical game in a window. However, Console applications are still significantly easier than Windows Applications to learn a language from.

The primary reason being that Windows Applications are primarily written in C# using WinForms or WPF.

With WinForms you've got to worry about using the Forms Designer, attaching handlers to events, etc...Plus, the closest control that would allow us to do what we can do with the console is the TextBox control, otherwise we have to override the OnPaint calls, etc...All of which is made worse by the fact that in order to effectively write WinForms applications you ALREADY need to know C#, as all of the above use classes, events, delegates, enums, etc...

And since we shouldn't use the items until we know how, Console applications are the only way to ensure that.

With WPF all of the above is true, though easier to work with...however then the user might also need to know XAML, through it's technically speaking possible to develop complete .NET 3.0 GUI's in C#...but why?

So, again, using a Windows Framework that requires knowledge of a specific language in order to teach the language can be a very confusing endeavor for the novices. And as before, we assume no programming knowledge.

P.S. Have no worries about learning WinForms or WPF. I've already got future workshops in the planning stages.

Cheers!
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
JWalsh, I think this workshop is great.
Have wanted to learn C# for a long time now... maybe Ill give it a shot.

But there are still things that bother me, like the fact WinForms -for me- is kind of deprecated at this point since WPF is taking over...
And there are also so much stuff there that makes my head dizzy.

For instance I dont know if downloading the 2005 express version or the 2008 "Orca" beta (since Ill likely NOT use WinForms anyway).
And obviously WPF != WinForms.
Also I wouldnt know if waiting for C# 3.0 or stay with 2.0... anyway, I just think this whole .NET biz is a total mess for first timers in the platform...

(And this is not to talk about Direct3D 10, which is different to 9.0 so I dont know if jumping straight to 10 or what).

Do you think, with this workshop, after finished one might have a broader perspective of what is going on, and make "easier" choices, without wasting too much time learning things that might not be important for oneself in the near future? Or maybe C# is and will stay the same no matter what (maybe a couple deprecations in the 3.5 framework), and the hard choice is the libs? (e.g WinForms vs WPF)

Also, what is exactly the need to sign up to the workshop, will the forums be "hidden" to people not in the workshop (doubt this forum system is tailored for that but you never know), or this is just a formality?
Ok, thanks Jwalsh for clearing that up for me. That makes perfect sense. I look forward to the RPG and cant wait.

Any hints on the first project? *nudges with elbow and winks*
earlysnack,

Good questions. Let me answer them one by one.

First, this workshop is strictly for learning the C# language, and focuses on neither WinForms nor WPF, as both would require having an existing knowledge of C#. As a result, participating in the workshop helps prepare you to learn EITHER or BOTH API's. Now, WPF is definately the way to go when developing Vista applications, however there's limited support on XP as it requires users to install the .NET 3.0 runtimes. Also, there's still tons of WinForms code out there.

So I guess the point I'm making is, it doesnt hurt to know BOTH WinForms and WPF. But either way, you need to know C# to use either.

Next, I would download/use Visual C# 2005 Express Edition for this workshop and NOT the 2008 Beta. Why? For 2 reasons. 1. It's still beta and so there could be performance or functionality problems still lingering. 2. Orcas uses C# 3.0, which although isnt inherently a problem, could cause your experience to be different from the rest of the people doing the workshop, and ideally, everyone uses the same tools and the same documentation.

As for the larger question of C# 2.0 vs. 3.0. Well, as with C# 1.2 and 2.0, 3.0 is just an extension of everything that came before it. That is, they're adding without taking away. This means there's no reason to wait until C# 3.0 comes out, as everything from 2.0 is still relevant and necessary information. So you should definitely start learning C# as soon as possible if you plan to learn at all.

And as for the question of DirectX 9 or DirectX 10, well...to my knowledge there are two possible ways to access DirectX9 with C# - MDX, which was deprecated, and XNA which is the new easier to use replacement. Personally, I'm a huge fan of XNA, as I feel it's very powerful, well written, and very easy to use.

As for DirectX 10, to my knowledge there is currently no official C# Bindings for DirectX 10. At this point, the only way to write for DirectX 10 is via C++.

Also important to note, most(tm) people are still using WindowsXP, and as DirectX10 can only run on Vista+, it's going to be a bit of a while before DX10 sees any main stream games. There are companies starting now, but it'll be 2-3 years before we see a slew of games taking advantage of DX10 and Vista capabilities. I'd stick with DX9 for now, personally.

And finally, I ask people to sign up because during the C++ Workshop I did not, and when posts started to decline, and participation got less and less, I had no way to determine if that was because people had stopped following the workshop, were bored, or were finding the content confusing. Basically, it was up to the participants to set the pace.

This time I wanted to do it a bit differently. I ask people to provide their contact information so that in the event that people stop participating, I can contact them to determine whether the workshop wasn't meeting their needs, they need extra help, or if they've just decided to stop participating by no fault of my own.

Hopefully that answers all your questions. [smile]

Cheers!
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
I am defiantly interested, and will join in the learning.

Thanks for taking the time to do this for us C# programming juniors.
"You're worth all the discount milk in the world!" - Mum
I was looking for a printed version of the C# Specifications and found Microsoft C# Language Specifications [amazon].

The contents seem to be almost the same based on the table of contents. Would this work? It was printed in 2001 and I'm wondering if the downloadable .doc has been changed much since then? The book seems to lack the bold words that the .doc has.

Any other suggestions for a hard copy besides printing my own? A binding is always nice. :-)
-Brandon Blog | Journal
JWalsh, that was some reply didnt it?

Thanks for it, cleared up everything ;)
Quote:Original post by brandogon
I was looking for a printed version of the C# Specifications and found Microsoft C# Language Specifications [amazon].

The contents seem to be almost the same based on the table of contents. Would this work? It was printed in 2001 and I'm wondering if the downloadable .doc has been changed much since then? The book seems to lack the bold words that the .doc has.

Any other suggestions for a hard copy besides printing my own? A binding is always nice. :-)


Hi Brandon,

I looked at the contents of the book and that of the C# spec v1.2 from Microsoft site. There as some additions in the online (.doc) version. Also the copyright notice at the bottom of the page in the .doc file says Copyright * Microsoft Corporation 1999-2003. All Rights Reserved.
That means that last it was updated in 2003 which is after the book was printed(2001).

So I would say its better to stick with the online .doc version and if you need a hard copy- you can always print it and get I binded(If you need to).

Sincerely,
Danish Goel :-)

This topic is closed to new replies.

Advertisement