Programmers! Help me out of this Dilemma..!!

F3niX

TechH0LiC
Skilled
Guys,
I am a 3rd Year BTech CSE Student, Who has a Knowledge of C,C++,Java .
I would really want to Develop an application but dunno where to Start..
I especially wanna know how to make a small Chess Game / a Media Player. :huh:

But really Dunno where to search and how to start..
Google gives me millions of results.. But None what I want.
What I wanna Know is right from STARTING to ENDING(I mean from coding to Deployment) What to do??? :huh:

I am Actually in a very Confused State right now, So Help me out of this.

I am open to Learning any New Lang.: Especially C# or Visual C++ If Required...
Please guys, Suggest me what to do???
 
Decide where you want to start. Stop thinking about everything at the same time.

Choose between the Chess Game and Media Player first.

Then choose the platform which you want to develop for.

PC-Windows/Mac/Linux

Mobiles-Android/iPhone/etc...

I'd suggest you go with the Chess Game first as it will be easier as compared to the Media Player. Leave the AI part.

Regarding the platform, Android will be very easy to learn if you have knowledge of Java. If you go for PC/Windows based application then there are many options for development.

I'll add more after you decide on what to do.

Just wanted to add this. Don't even think about deployment at this point.
 
Absolutely agree with pr0ing.

Well, let say..you want to develop chess-game.
Start with VB/C#, and drag-drop the UI-components on the form.
Now click on each UI-component and program(code) them as you want.

If you want to develop media player, its more simpler...first decide what type of player you want. Audio/Video.
Than decide which codecs you want to support..? eg. audio: mp3, m4a, wav etc video: avi, mov, mp4 etc
After you decide these things..now search for some open-source library(package) built for this codec(if the codec is open-source)
Read that package API's, and find out how to use-n-programme that library..and voila...you are almost done.
Embed/Link that library accordingly and design UI and yeah...your player is almost ready.

For distribution, it is little cumbersome.
For windows, you need to use InstallSheild and other related package managers.
If you are on Linux/BSD machines than Makefile works like a charm.
If you are on Mac, than find some dmg pkg-manager. (donno what exactly it is called).
 
In a some what SDLC format...

1. Decide what you want and how you want. (Platform, purpose, usage etc..)

2. Pick the media player first

3. Decide what language for development? If u know c++ take VC++. Learn the UI frameworks from MS. Old school MFC or Silverlight.

Or perhaps you want Qt. It looks so much like MFC. perhaps the next step. :)

4. Decide what all codecs you want. Pick the available and popular open source libraries for your language. If its COM one then i guess either way its cool.

5. Decide what all functionality you want. Start with basic functions only. they can be separated as modules for ease of coding.

6. Design the UI in pics.

7. Design a very high level interaction diagram of sorts. You can hit up some UML you want. :). Identify the classes and all.

8. Detailed report for step 7. or Detailed level Design.

9. Code. :D.

10. Test & Bug Fix

11. Release in TE and have some bragging rights.
 
Ok Guys

Decided on a Chess Game..

Which Language now? C# or VC++ Or JAVA?

Platform - Windows

Help me out with how to start.. I will continue to do so..

We have a Team of 5 now. We will start next week.. This will be a small Mini Project for us..
 
As I said earlier, langage isn't a barrier.

Anyways...I'll suggest to start with C#. Reason is:

- Great editor/ide e.g.Visual Studio

- Supports RAD(Rapid Application Development)..so you can just drag and drop components on the 'form'

- Packaging of the app will be very easy.

And above of this, if you know about various .Net languages...say for-sake VC, C#, F#..than the cool thing with .Net platform is...you can club all these technologies using assemblies reference concept.

Assemblies-concept, is something by which you can write modular code in different platforms, and can merge all of them in the final-app.

Say for-ex: You've made chess-board using C#, and some of your colleague/frnd is good at VC++ and wrote AI code in VC++...now you can merge both of these codes, via assemblies and can build the final-app.

Hope I made stuff clear to you. :)
 
I would say go for a Android application.

You can develop and maybe even deploy it once created on the android market/or app-brain. :) [So you will yourself know everything from dev to deployment]

Also its new, fun and much more challenging. :)

Google App Inventor: Now Anyone Can Create an Android App

Android SDK | Android Developers

Those other languages (C# or VB .Net or Java) is something that every coder learns sometime in their life and its not hard to learn them either. :p

If you know C++ then its easy. (You can learn any of the above language in your spare time its that easy, [Note: If its C# try learning C# 3.5 and above]).

But if you decide to take the hard step and develop this program in Android then think of how good a leverage it gives to your resume sine you are Fresher. :)

[I bet that Everyone else will have a dummy application and you will have one which people actually used :)]
 
Anyways...I'll suggest to start with C#. Reason is:

- Great editor/ide e.g.Visual Studio

- Supports RAD(Rapid Application Development)..so you can just drag and drop components on the 'form'

- Packaging of the app will be very easy.

All these are there in VC++. Just add CLR(.NET) and your done.
 
I have tried my hands on Android, And I really Liked it.. But my Phone x10 mini has a qVGA res and spoils all fun..

I will be back with android once I get a Galaxy S(Saving Money for it)

But R8 now will try with C#...
 
^^

Good choice. Then get started. Keep a schedule for the project and "try" keeping it.

Dont give generous estimate. spoils the fun.
 
Hi teja,
C# is a good option, and it would be very educational for you to start with a simple chess game.
I know how lost you might feel right now, but trust me when i say this, the more interest you show in the field the easier everything will get.
But making a project like this will give you exposure to programming and packaging. If you try programming in android instead (which will undoubtedly require considerable effort on your part)you would get a real world experience of the entire Software Development Life Cycle(SDLC).
Do not take your first endeavor into the realm of programming lightly, for it is full of beauty both enticing and deadly.
 
Back
Top