View Full Version : Recommend a resource for Widows programming
wmansir
28th April 2004, 15:09
I'm looking to start dusting off my programming skills, which have gone largely unused since I left college 4 years ago. The only problem is I've never actually used them in a production environment, like windows. In college I did mostly academic type programming in a unix environment. I did take a few classes on GUIs (Motif) and OOP so I understand the concepts well enough, I just need to find a good resource to help me get up to speed on on windows programming, in C++ (or maybe C#/.NET).
This isn't for any specific job or project. I'm not even sure what I want to program, I just want to improve myself and maybe contribute here if I can. I was also looking at getting a copy of visual studio, unless someone wants to recommend an alternative IDE.
So can anyone recommend a book or online resource to fit my needs?
Charles Petzold's "Programming Windows" is a must.
diehardii
28th April 2004, 16:10
I have found beginning visual c++ 6 by Igor Horton to be very useful, even though I now use vs.net 2003. It is written very clearly and is a nice introduction to mfc. As an added bonus, you can get it dirt cheap used.
~Steve
wmansir
28th April 2004, 18:53
Thanks for the suggestions guys. Petzold seems to be the bible of WIN32 and Beginning VC++ looks like just the type of thing to bring me up to speed and move to MFC.
stax76
28th April 2004, 21:05
first of all you'll have to figure out what you want to program and after that choose the appropriate tool. Win32 and MFC are pretty dead, future API's are managed *only*. Of course it's good to know about them especially when the managed API is missing or sucks but since you don't even know what to program I would say C#, VB .NET, C++, STL, COM+, ATL etc. should have a higher priority, for instance DirectShow is like all newer Windows API's COM+ based
Nic
28th April 2004, 21:17
"Win32 and MFC are pretty dead"
Hey, some of us make a good living out of those.... ;)
Experience is always better than books in the long run. If your feeling adventurous download random projects off www.codeproject.com and try to get used to the environment and changing things...It's a good place to start.
But Dolemite's right, although after a while a programming language is just a tool, it is best to choose one to begin with and stick with it until your comfortable. Pick yourself a mini-project to accomplish and just begin working on it is a good way...
Good luck :)
-Nic
stax76
28th April 2004, 21:49
I think experience is the most important thing. One should constantly learn and before starting something to have at least a good overview. I good ratio of theory and practice is important. Like Nic already said learning with code done by other people is very important, codeproject and sourceforge are great resources for this. In case of you decide for .NET (what I highly recommend btw.) it's better to grasp contcepts like attibutes, reflection and interfaces earlier than later, these are very important parts of the .NET architecture, in fact they are used all over the place in the framework. What I did wrong for instance I slept on regular expression for too long, they are very important for anything related to parsing text, they are a bit hard to start with escpecially if you don't find no good documents but it's worth the trouble
qwerpoi
28th April 2004, 21:59
I'll have to jump in and put another recommendation for Petzold's "Programming Windows" (5th edition). I know that many people consider win32 to be dead, but some of our favorite applications are coded in win32 (metapad, virtualdub, media player classic (I think)). For relatively simple projects it will get the job done with little overhead, and Petzold's book makes for good reading, no matter what language you chose later. It's easy to read, entertaining (really!), and if nothing else it will help you understand the background and inner workings of other options, especially MFC, Visual C++, or WTL. Just my two cents.
Joe Fenton
28th April 2004, 22:05
<rant>Sheesh! Programmers are such babies these days. Gotta have a managed API holding their hand or they'll wet their diapers. Whatever happened to 99% assembly language programming? I don't even care for C, much less that hunk of crap C#. The higher the level, the lower the programming skill... MS is trying to put programming in the hands of people who have trouble turning on their computer. The quality of programs released lately reflect this trend. Everyone and their dog now thinks themselves a programmer because they can string a few lines together in .Net.</rant>
:D
stax76
28th April 2004, 23:08
now if I could punish you for this rant you would write code in VisualBasic .NET code, a lot of VisualBasic .NET code :D
qwerpoi
28th April 2004, 23:24
@Joe Fenton
Well, I think your point may be valid in general, but consider all the programs which you use that are not coded in assembly...since you're at doom9, I assume you know and love programs like virtualdub, avisynth, dvd2avi, avimux, etc., written using win32, MFC, .NET, etc. There are a lot of great programs here written by people who probably couldn't code in 99% assembly, but it doesn't mean that the programs shouldn't be made. If you are looking for the lightest, meanest text editor, web browser, whatever, feel free to find the best one you can or code your own, but for software with limited development resources and scope, I don't mind using a gui written in mfc or visual basic, no matter what someone else says about it being bloated. Just another 2 cents :) .
Guest
29th April 2004, 01:53
"Recommend a resource for Widows programming"
Well, I have 3 rules:
1. If the Widow is not very rich, don't bother.
2. If she is hot, ignore rule 1.
3. To properly program your Widow, give lots of flowers and compliments.
Result: worry-free retirement.
qwerpoi
29th April 2004, 08:41
Whoops, I didn't realize we were talking about widows. Then I'll have to change my recommendation to the anime television series "Maison Ikkoku", it's very long but very entertaining. Thanks to neuron2 for pointing out my error :p .
I suppose you guys are all familiar with the popular "Instructions on how to shoot yourself in the foot in various computer languages and system interfaces"? Otherwise I'm happy to post them :D
wmansir
29th April 2004, 18:00
Thanks for all the advice everyone.
I picked up a few ebooks to get me started. I decided to focus on C#/.NET for now, so I got a book "C# programming for absolute beginners", which I think will bring me up to speed and help me remember all the stuff I have forgotten, which is quite a bit now that I'm looking into it. Most of the C# stuff covers windows applications from a newbie aspect, which is what I am in that regard.
Of course I also plan to learn by doing, but I'm far from being able to contribute in any meaningful way as it stands. I've been playing around in Visual Studio and, man, that thing practically writes the programs for you. The hard core coder in me (and I'm sure many of you) kinda looks down on that, but right now I welcome the help.
Pretty soon I'll have these widows obeying my every command.
stax76
29th April 2004, 18:23
good choice, I like VB .NET more because of the syntax and the code editor which does a lot more than the C# one but it's a matter of personal favor. What I believe is also a very important resource is Google groups besides normal Google searches
http://groups.google.com/groups?ie=UTF-8&oe=UTF-8&as_ugroup=*dotnet*&lr=&hl=en
Joe Fenton
1st May 2004, 02:43
Originally posted by qwerpoi
@Joe Fenton
Well, I think your point may be valid in general, but consider all the programs which you use that are not coded in assembly...since you're at doom9, I assume you know and love programs like virtualdub, avisynth, dvd2avi, avimux, etc., written using win32, MFC, .NET, etc. There are a lot of great programs here written by people who probably couldn't code in 99% assembly, but it doesn't mean that the programs shouldn't be made. If you are looking for the lightest, meanest text editor, web browser, whatever, feel free to find the best one you can or code your own, but for software with limited development resources and scope, I don't mind using a gui written in mfc or visual basic, no matter what someone else says about it being bloated. Just another 2 cents :) .
I was only half serious about the rant. There's lots of good stuff written in the new languages. It's just that assembly language was better at weeding out all the lousy programs. With C#, you'll have a couple great programs buried in a mountain of crappy programs. That's why sites like this are good - you can check what people think of the various programs before going to the trouble of checking them out yourself. Let someone else use THEIR system as a guinea pig. :D
My general rule of thumb is - if someone says the proggy is .Net, it better have at least a dozen people raving about how they'd kill their kids to get the proggy or I ain't touchin' it. :D
stax76
1st May 2004, 03:22
I prefer to look on the screenshots and test it myself on a test/virtual system. In general the risk to mess up your system is lower with .NET programs than with traditional programming models, .NET programmers are told not to write to the registry and versioning was an important factor in the designing process of the .NET architecture. Delphi is easy as well btw., it's quite popular on Windows, take care ;)
Pyscrow
1st May 2004, 21:57
Originally posted by Dolemite
I prefer to look on the screenshots and test it myself on a test/virtual system. In general the risk to mess up your system is lower with .NET programs than with traditional programming models, .NET programmers are told not to write to the registry and versioning was an important factor in the designing process of the .NET architecture. Delphi is easy as well btw., it's quite popular on Windows, take care ;)
There are quite a few complaints around that installing .net is stuffing up computers, and making potential users download a 24odd meg file they need to install before they can run your 1 meg app is not all that popular either....
wmansir
1st May 2004, 22:56
I'm beginning to think I'll have to move to C/C++ sooner than I thought. I thought that C# was an extension to C++ and failed to realize it was so entangled with .NET and was unable to compile to standalone executables. I should have realized that when I read about features like auto memory management. The stuff I was reading was a bit misleading because it was about .NET primarily and talked about how VB/C++/C# can all be compiled to bytecode.
Also, it's not that I have a philosophical problem with JIT languages, but I also want to tinker with available code more, and the vast majority of that is in C/C++ right now. I'm still going to finish learning C#/.NET which will also help me learn Visual Studio, but I probably won't do much with it until after I go back and relearn stuff with C++.
@wmansir: I'd recommened C/C++ too, it's just so widely used, that it's great place to begin (and even finish ;) lol). But I'm sure Dolemite can help with you links to C#. I've used both at work, and they are both very good languages. I like C# alot, although im not very competent in it.lol....But if you know C++ (or Java), C# is very easy to pick up. So you can always go back to it later...
-Nic
stax76
1st May 2004, 23:38
and making potential users download a 24odd meg file they need to install before they can run your 1 meg app is not all that popular either....
this is no longer a problem, maybe a very small one. I guess you proved now that there are still people having a problem with .NET...
dragongodz
2nd May 2004, 04:57
Dolemite - there was definate problems with the original and first update of the .NET runtimes. i cant say i have heard of any problems with the current version, then again i also havent looked. :)
as for the downloading 24meg just to run 1 program, well thats not exactly favourable to we dialup users, not everywhere has adsl for reasonable prices.i guess it comes down to if someone really wants to use that program or not.
wmansir
2nd May 2004, 06:08
I wonder if MS was smart enough to slip the .NET framework onto their free update cd. Then again it was a security updated CD, maybe there wasn't enough room. :D
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.