Jeff Prosise is the author of the bestseller “Programming Windows in MFC”.
This interview was specially taken with the kind support of Mr.Prosise, for the C++ Home website, by Ilia Yordanov.
Please, notice that most of the questions are asked by our visitors.
1. When did you start as a programmer?
I bought my first PC (a Commodore 64) in 1983 and began writing and trying to sell software. I started off using BASIC, and then learned 6502/6510 assembly language in order to do really fast graphics. A year later, I bought an IBM PC (actually, a PC jr) and started writing exclusively for the IBM PC platform. That’s all I’ve done since.
2. Could you easily find a job as a programmer?
Well, I suppose so. There are plenty of programming jobs out there. But in a way, I’m unemployable. It has been so long since I worked at a big company and had set hours and answered to someone else that I’d have a hard time conforming to that mold. And I have a low tolerance for corporate politics and gamesmanship.
3. What is your current occupation?
Programmer/writer/trainer. I write code. I love writing code. I write articles for MSDN Magazine, and I’m writing a .NET book right now (check out my book blog at [http://www.wintellect.com/instructors/prosise/blog/default.asp?page=1|WinTellect.com]). I travel a lot teaching COM and .NET to other programmers and speaking at conferences. And I spend a lot of time working for Wintellect, the company that I founded last year with Jeffrey Richter and John Robbins.
4. How many hours per week do you work? (as a programmer)
I work anywhere from 40 to 80 hours a week, depending on what I’m doing that week and what kind of deadlines are looming. When I’m in book mode (as I am now), I tend to work longer hours.
5. What is the future of C++ comparing with Java and C#? What is the future of C++ Job market? If the market will still exist , what is the important technique? Pattern? Generic progamming and STL? COM? something else?
C++ will be around for a long time. It’ll be used forever by embedded systems programmers and progammers who write traditional kinds of apps. But for those of us who write Web apps, C++ will become an anachronism.
6. What kind of programming languages do you think will be mostly used in future- languages like Visual Basic (easy to create applications), or languages like C++ (hard to create applications, but very powerful)?
All these languages will have their place, and none will “win out” over the others. Programmers who buy into the .NET vision will use mostly C# and VB.NET. Programmers who write traditional Windows apps will still use VB and C++. And UNIX folks will favor C, C++, and Java for a long time.
7. What kind of programming you think will be mostly needed in future? (Game programming, Network programming, etc…)
Web programming. No doubt about it.
8. What do you think about people’s speed concerns when using the MFC?
The speed issue regarding MFC is way overblown. MFC apps aren’t slow. If you want to see slow, run a Java app. Read the MFC source code and you’ll find they did all kinds of clever things to make MFC fast.
9. There are many people who has spent many hours becomming a proficient C++/MFC/ATL and/or COM programmers. Will they have to re-skill theirselves when the .NET technologies take-off?
If they move to .NET, yes. Programming the Microsoft .NET Framework is nothing like programming MFC, ATL, or even the Win32 API. It’s like starting over. For one thing, you have a new API to learn—that of the .NET Framework Class Library (FCL), which contains more than 6,000 classes. But remember that .NET is primarily about Web apps and Web services. Not everyone wants to write Web code, so not everyone will migrate to .NET.
10. Some people find MFC to be too thin. Do you think that Borland’s VCL gives better encapsulation than MFC?
I’m not familiar with VCL. But it’s absolutely true that MFC is way too thin in places.
11. How do you see future of MFC in the new .NET era?
Programmers who write traditional Windows apps and do it in C++ will continue to use MFC for a long time. Programmers who write .NET apps won’t use MFC at all.
12. Each programmer has 3 alternatives- to make things work, to become a trainer and teach others, or to write books. Which job gives more profit?
Most computer books don’t make much money, so I’d rule that one out right away. Training can earn you a pretty good living, but there’s a lot more to it than hanging out a shingle and waiting for the phone to ring. Writing code for a living might not make you rich, but it’ll sure earn you a steady income. And not a bad one at that.
13. What do you think the best way to learn and understand Windows programming?
Write code. Lots of code. If you’re brand new to Windows programming, read a book first, like Petzold’s “Programming Windows.” But after that, it’s just a matter of rolling up your sleeves and writing a few hundred thousand lines of code. Doesn’t hurt to read magazines such as MSDN Magazine, either.
14. Microsoft has always been considered by many programmers to be ahead of the game when it comes to GUI, what with MS Office always having the neat new features, then programmers trying to play catch up and emulate them. In the future will you ever be able to build an Office using only MFC and no subclassing tricks?
I doubt it. Microsoft is focused on .NET, big-time. We’ll probably see very minor enhancements made to MFC in the future, but I doubt we’ll see anything big. MFC has progressed about as far as it’s going to.
15. How can people contact you if needed?
They can always e-mail me at firstname.lastname@example.org. However, much as I’d like to answer questions for every programmer who runs into a problem with Windows or .NET, I can’t; I’m just one person. I welcome e-mail, but I can’t respond individually to every one.
Thank you Mr.Prosise!