View previous topic :: View next topic |
Author |
Message |
vaticinator Just Arrived
Joined: 27 Sep 2005 Posts: 0
|
Posted: Fri Jan 13, 2006 2:15 pm Post subject: can anyone give some advice on programming? |
|
|
i have learned some programming language,like c,pascal, and data structure and algorithm analysis in c. but up till now i only write programs that either solve math problems or realize data structure or algorithms. sometimes i feel it a bit boring,so i wanna learn to write some programs that is more practical.now i want to program under windows,but some time later i want to move to linux. i plan to learn c++ and then vc++,in that way i move to graphic, is that ok? can anyone give me some advice? i am confused.
|
|
Back to top |
|
|
hugo Forum Fanatic
Joined: 14 Jun 2003 Posts: 16777215 Location: Netherlands, Europe
|
Posted: Fri Jan 13, 2006 2:50 pm Post subject: Re: can anyone give some advice on programming? |
|
|
vaticinator wrote: |
sometimes i feel it a bit boring,so i wanna learn to write some programs that is more practical. |
I see where you're coming from -- I used to have this problem as well. I could code, and wanted to code, but couldn't think of anything to code.
I only found inspiration later in life, and honestly now I don't have the time to implement it all.
So, you want to code something practical. This kind of depends on what you consider practical, but I guess you just mean something that might actually be useful to somebody else, right? Or at least something that interacts with an end-user (i.e. which has a practical interface).
Sadly, most programs have already been written and it's tough to think of anything that hasn't been done (and is relatively easy to implement for a 'beginner') and is actually useful.
But it absolutely helps your coding skills develop to code something that already exists, i.e. clone it. I think most of us started that way.
The solutions you have to think of to write, for instance, a calculator, will definately give you the experience that can be of importance later in your professional life.
Another suggestion could be creating a Solitaire-clone. It all depends on what your own interests are.
Just my two cents... Hope this helps anyway.
|
|
Back to top |
|
|
mxb Trusted SF Member
Joined: 30 Mar 2004 Posts: 6
|
Posted: Fri Jan 13, 2006 6:51 pm Post subject: |
|
|
Just to add some of my own suggestions here...
You mention that you want to learn C++ and work with graphics. I would recommend learning the C++ standard as VC++ differs ever-so-slightly and so porting your applications to linux may result in some headaches. As for graphics, I guess you mean a GUI. May I suggest learning how to use wxWidgets. These are a set of C++ GUI elements with are cross platform. If you write your code to be standards complient and use this GUI library the only thing needed to move from Windows to Linux to Mac should only be a recompile.
As for application ideas, you have mentioned that you have wrote programs to solve math problems, why not write a big number calculator? Writing big number (> standard data size) math functions are challenging and you can write a GUI interface to wrap around it. This should test both your GUI and math programming capabilities.
Cheers,
Martin
|
|
Back to top |
|
|
icujc Just Arrived
Joined: 21 Apr 2005 Posts: 2
|
Posted: Fri Jan 13, 2006 9:10 pm Post subject: |
|
|
cUtEpInKbUnNiEs wrote: |
I think the best "first practical" program of mine (non-db) was an alarm clock.
You'll see the SDLC in effect in your own efforts.
I'm not the one to give advice of what language to learn and what will be good for platform-independant development, but hopefully the alarm clock will inspire you
Jon |
Thats funny because one of the first applications I wrote was an alarm clock with an analog display that would play my mp3's..... Wrote it in C++ with MFC for the GUI. The hardest part was working out the formula to calculate the drawing of the clock hands and rotating them around the center of the clock face... Alot of fun though.
|
|
Back to top |
|
|
vaticinator Just Arrived
Joined: 27 Sep 2005 Posts: 0
|
Posted: Sat Jan 14, 2006 9:34 am Post subject: |
|
|
thanks for reply, I know what to do now. thanks again
|
|
Back to top |
|
|
static_-x-_ Just Arrived
Joined: 09 May 2005 Posts: 1 Location: south wales
|
Posted: Sat Jan 14, 2006 2:00 pm Post subject: |
|
|
mxb > You mention using wxWidgets for a cross-platform GUI. I'm currently implementing a little program of my own and i'm using Trolltech QT. Do you think this is a good choice or shall i move to wxWidgets. I'm looking for a GUI that is very easy to program and is not platform independent. The only reasons why i choose qt in the first place was that it looked better than Gnome GUI and that i had to choose one quickly. My main programming language that i'm using is c.
So any ideas?
|
|
Back to top |
|
|
MechanicalAnimal Just Arrived
Joined: 10 Jan 2006 Posts: 0
|
Posted: Sat Jan 14, 2006 2:18 pm Post subject: |
|
|
I really can't program well yet, just a beginner, but you said you wanted to program something practical, well, I have a tip(s), if you play any PC games, maybe mod tools? And then share them to others on the game related forum. Example for GTA series, there are no "official" mod programs yet, so people have programmed own programs, that allows to access to the game file(s) and modify them, for example add new models etc. and they've shared them on GTA related forums, and now there are tens and tens of programs out there for GTA series to mod them.. And they're just simple programs that for example opens .cfg file and then you can modify the values in the program.. or program that opens .img file and you can freely add / delete objects etc. Simple, easy and very practical!
|
|
Back to top |
|
|
mxb Trusted SF Member
Joined: 30 Mar 2004 Posts: 6
|
Posted: Sat Jan 14, 2006 4:11 pm Post subject: |
|
|
static_-x-_ wrote: |
I'm currently implementing a little program of my own and i'm using Trolltech QT. Do you think this is a good choice or shall i move to wxWidgets. I'm looking for a GUI that is very easy to program and is not platform independent. The only reasons why i choose qt in the first place was that it looked better than Gnome GUI and that i had to choose one quickly. My main programming language that i'm using is c. |
First of all the Gnome GUI (GTK) is skinnable, just like Qt, but it just has a boring default . GTK / QT / wxWidgets are all cross platform toolkits. However as far as a I know, GTK doesn't use the native widgets, while wxWidgets does. This means that a wxWidgets program running on OSX would look like a native application. The same program would also look like a normal Windows application on Windows. I cannot comment for Qt as I have never used it.
Each toolkit has it's own plus points. GTK is has native C bindings, while Qt and wxWidgets are C++, but other bindings exist. Overall it comes down to what you feel most comfortable with. The differences come down to very little (unless the licenses get in your way) as all these toolkits basically do the same thing. If you are using Qt, like the way it's written and the license is okay for your application then I would reccommend that you stick with it.
Cheers,
Martin
|
|
Back to top |
|
|
|