Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to continue learning C#. I've read parts of a few books recommended on here and the language is feeling more familiar by the day.

I'd like to tackle a mid-sized personal project to take my expertise to the next level.

What I'd like to do, is create an application that 'manages expenses', that runs on multiple machines on a LAN. So for example, say we have person1 and person2 on seperate machines running the application, when person1 enters an expense, it will appear on person2's (pretty UI) view of the expenses database and vice versa.

What topics do I need to research to make this possible for me?

I plan on learning WPF for the UI (though the steep learning curve (or so I'm told) has me a little anxious about that at this stage.

With regards to the database, which database would you recommend I use? I don't want a 'server' for the database to run on, so do I need to use an embedded database that each client machine runs a copy of that updates to each other (upon startup/entering of expense on any machine etc)?

What topics under networking should I be looking at? I haven't studied networking before in any language, so do I need to learn about sockets or?

share|improve this question

closed as off-topic by durron597, GlenH7, Ixrec, MichaelT, Snowman Apr 21 '15 at 4:40

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – durron597, GlenH7, Ixrec, Community, Snowman
If this question can be reworded to fit the rules in the help center, please edit the question.

I think you should probably make smaller steps. Try to create a simpler application first (e.g. no networking, probably no database) and build up from there. – svick Apr 7 '12 at 10:52
Again, like I said to e4thdog - you're probably right. I'll start much more simple and build up slowly. :) – Anonymous Apr 7 '12 at 11:00
up vote 2 down vote accepted

I think that, before you get into which db, which ui approach and stuff like this, you have to make this go away "I've read parts of a few books"

I have also started the same way with C# and OOP and it was a disaster. Why? Because i thought my expertise in other areas and langs would help me to go directly into an application which requires many things that i wasnt feeling comfortable with.

So what i did is admitting that i needed time and someone to "take me by the hand"..

I mean you could even start watching the guys over WIBIT.NET

Then you should go over to and watch the essentials.

Next build an app that has nothing to do with databases and wpf. Start with an old school winforms apps that will let you exercise with objects,classes, types,arrays, lists and all the basic stuff of C#

After you do that , then start exploring the various possibilitites of UI development , db access and networking. Again i would suggest to follow the same philosophy. Admit reality and act likewise...

Take it one by one and you will be surprised how fast you will end up where you want....

A list of stuff i have read from the beggining:

  1. c# essential training
  2. AppDev - learning to program in visual c# 2010
  3. Experts Voice - Pro C# 2010
share|improve this answer
Thanks, you're probably right. I don't feel very sure-footed in the language at the minute. Do you know if the WIBIT course on C# is up to date? Couldn't find any reference to dates on their site. I've watched Lynda videos in the past on other topics and found them very useful, so I'll check those out! Thanks a lot. – Anonymous Apr 7 '12 at 10:59
WIBIT videas are free and they have Object oriented course and C# can go and watch them..And be sure that you will revisit videos/books notes many times...even if you have to remember how to write a switch statement :). i gonna update the answer with the stuff i have read/watched until now. – e4rthdog Apr 7 '12 at 11:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.