Moving into the windows application realm.

Ok, so Im pretty much done with my 1st year of education and was thinking of learning some more programming stuff during this summer.
The only thing I need to brush abit more up on is virtuals and I need to learn about templates(this was not gone through during our classes).
So now I have a few questions:

1.
Ive decided to move towards programming tools/programs for windows. However, I also understand that there is more than one way of doing things there.
I know about MFC and C++/CLI. It seems that C++/CLI is the newest addition, but it also seems pretty much different from what Ive learnt so far in C++ and from what I read from a book about CLI, you shouldnt really mix CLI stuff with some of the normal C++ stuff(what parts are we talking about here?).

Also, is MFC pointless of using, since C++/CLI exists now, or is that still a very viable alternative?


2.
My plan for the summer was to learn to program windows applications, learn some LUA, mysql, PHP and to start looking at directx.
Do any1 have any tips on books?
Ive heard that the online written material for PHP are very good on its own, so I guess I wont need a book for that.

Windows programming I havent really found any good books so any tips are greatly appreciated :)

For LUA I have a book in sight.

But any books for directx for c++ that are good would be appreciated.
Also, is there any books that explain more about how to make tools in c++ that can be used along with mysql?


Hope anyone here has some pointers in the right direction :)

ty for reading.
Also, is MFC pointless of using, since C++/CLI exists now, or is that still a very viable alternative?
Using MFC is pointless, but that's unrelated to the existence of CLI.
MFC is a wrapper C++ library around the C Windows API. Completely unnecessary, IMO.
C++/CLI is not quite C++. http://en.wikipedia.org/wiki/C%2B%2B/CLI

My plan for the summer was to learn to program windows applications, learn some LUA, mysql, PHP and to start looking at directx.
Jack of all trades, master of none. Why don't you choose one of those and focus your efforts on it?
closed account (z05DSL3A)
C++/CLI is a language, it is used to program against the .net framework. You are partly correct in that you should not mix managed (C++/CLI, .net) and native (C++, Windows API) code, unless you know what you are doing.

MFC is a bunch of classes to help you create Native applications with C++, it is not dead yet.

Programming Windows by Petzold is possibly a good book to start Windows API programming.

Jack of all trades, master of none. Why don't you choose one of those and focus your efforts on it?


Hi, I still have 2 more years of school :)

This is all meant to be learning more :) There is plenty of time to master something hehe.

C++/CLI is a language, it is used to program against the .net framework. You are partly correct in that you should not mix managed (C++/CLI, .net) and native (C++, Windows API) code, unless you know what you are doing.

MFC is a bunch of classes to help you create Native applications with C++, it is not dead yet.


What do you recommend? I hear from alot of ppl that work as programmers that they mostly use .net for making tools/programs. Is it best to just move to that from start?

Programming Windows by Petzold is possibly a good book to start Windows API programming.


Thank you, I will try to get hold of a copy asap :)
Hmm, took a look at that book. Its latest revision is from 1998 and for C. Has programming towards windows not changed in 11 years? :O or is that where .net comes in?
I feel the urge to jump in and recommend you stay away from WinAPI and instead focus on crossplatform libs like wxWidgets, GTK, etc. They're generally easier to work with (in my experience) and allow your programs to be run on systems other than just Windows.
closed account (z05DSL3A)
What do you recommend?


That is a tricky one. I would not recommend learning .net with C++/CLI, there is not enough good documentation for this as far as I can see. Most of the code on MSDN is VB.net or C#, C# is my preferred .net language.

MFC, I would not recommend until you have done some basic Windows API stuff, plus you will only have MFC in versions of VC above Express.

If you just want to move to a GUI, there are libraries out there such as FLTK, and WxWidgets that may be better suited to learning the basics of GUIs.
Hmmm, when u say GUI what do u mean by that? Cause in my book GUI are graphical user interfaces. U mean that the only difference between programming windows tools and dos shell programs is making the graphical user interface?

MFC, I would not recommend until you have done some basic Windows API stuff, plus you will only have MFC in versions of VC above Express.


We got a license for Visual Studio 2008 each at our school, so thats np :)
Last edited on
closed account (z05DSL3A)
Its latest revision is from 1998 and for C. Has programming towards windows not changed in 11 years?


Yes it is an old book, but Windows API has not changed vastly over time. It is C, but so is the API.

U mean that the only difference between programming windows tools and dos shell programs is making the graphical user interface?

It can be, the more you learn about designing software, the more you will separate data, control, and visualisation.


I have not recommended any particular path because I don't know your aims or what you like doing. I personally like getting down to the bare metal , so to speak, of any new platform I take an interest in. I learnt Windows API programming from an earlier edition of Petzold, then moved on to MFC, other GUI frameworks, and .net. I have never regretted spending time working out how Windows works.
Yeah, I also like to know whats going on when I do things. I really dont like to be very high lvl before I understand whats below so to speak :P

If its still useable in Visual Studio 2008 I will start with the Windows Programming book and go from there. :)
closed account (z05DSL3A)
I have not seen a problem with the code from the book and VS2008. See if you can get a copy of the book out of you local library, it's alway worth see if you get on with a book before you shell out for it.

Also MSDN is a good source of information:
http://msdn.microsoft.com/en-us/library/cc433218(VS.85).aspx

After you finish Petzod and still want more, there is Windows via C/C++ by Jeffrey Richter and Christophe Nasarre.
Topic archived. No new replies allowed.