Click here to Skip to main content
15,867,686 members
Articles / .NET
Article

Jeff Prosise on .NET

Rate me:
Please Sign up or sign in to vote.
4.86/5 (8 votes)
16 Aug 2000CPOL 130.1K   27   15
Jeff Prosise answers your questions on .NET

Welcome to the first in our series of interviews. Our inaugural interview was to be with Lon Fisher but he has been delayed due to work commitments, so Jeff Prosise from Wintellect has agreed to step up to the podium and give us his thoughts on Life, the Universe, and .NET.

What will be the role of ATL and COM in the new .NET technologies? What about emerging technologies such as WTL?

ATL will have no role whatsoever in writing Microsoft .NET applications. COM won’t be a player there either, although it’s interesting to note that .NET began its life as COM+ 2.0. Microsoft .NET is a logical evolution of COM, but to describe it that way hardly does it justice. .NET is much broader in scope than COM ever was.

WTL won’t rise to prominence unless Microsoft wants it to. And all indications are that it doesn’t. Microsoft’s energies right now are being directed toward helping us write better Internet apps, not better desktop apps. WTL was an interesting experiment and would probably foreshadow what MFC would look like if it were rewritten to use templates. But it’s unikely that will that MFC will be rewritten or that WTL will be further developed.

In your opinion, what is the future of MFC?

If you’re writing traditional desktop-style Windows applications, MFC is still a fine way to go about it—and probably will be for some time to come. But do I think developers will be writing a lot of new MFC code five years from now? No. We’ll be using better tools (hopefully) to write a more diverse assortment of apps (particularly Web apps) that target platforms like .NET and, of course, that leverage the Internet. Microsoft has demonstrated no interest in giving MFC the radical retooling it would need to adapt to this new world order.

Do you have any idea how MS will protect intellectual property in the new .NET runtime—especially since we are provided with a decompiler.

Like Java byte code, IL is rather easy to reverse engineer. As far as I know, Microsoft has no plans to protect the IL code that a compiler generates. Microsoft apparently will provide a “pre-JITter” which would enable you to compile IL to machine code. You’d lose platform independence, but you’d be able to hide your code.

How long do you think MS will wait before Linux.NET comes out? :)

My money’s on Commodore 64.NET. ;-)

What advice you might give to a newphew of yours if he was wondering into the software development field today? Would you say, Learn C# and you'll make a good solid living. Would you say learn C++/MFC/ATL, cause there's always a need for a good C++ programmer, would you say learn VB, 'cause there's just plain more jobs? or would you say learn Java 'cause all the big companies seem to be standardizing on it.

The truth? You can’t go wrong with any of them. C# is the biggest risk right now, because it’s too early to tell whether the world will embrace C#. (I wouldn’t bet against it, though.) C++, MFC, and ATL programmers will be needed for a long time, because even if .NET is successful, it won’t take over the world overnight. VB programmers are in demand; I can’t see that demand slipping any time soon. The key is that whatever path you choose, you have to be prepared to change direction when demand dictates. Today’s developer must be willing to retool every few years.

Windows dominates the software industry today, but do you think its perceived flaws (cost, constant upgrades, stability) will make Linux more popular in the future. What is your opinion on the future of operating systems?

I think people tend to overemphasize Windows’ instability and underemphasize Linux’s weaknesses. IMHO, Windows NT/2000 is a well-designed operating system that is extraordinarily stable given the broad range of tasks it’s asked to perform and the wide variety of hardware that it runs on. I have nothing against Linux, but I’ve met people who are religious in their hatred of Windows. Go figure.

On the future of operating systems, it seems we’ll be moving towards environments such as .NET and Java that layer run-times on top of operating systems. The underlying OSes will be abstracted away more and more as run-times (and the class libraries that we use to program them) become the target of the code that we write.

How will Win64 impact MFC applications and our custom extensions and classes? Any issues you feel we should be aware of now?

Assuming Microsoft produces a 64-bit version of MFC, MFC will insulate programmers from some of the bitness changes, just as 32-bit MFC eased the chore of porting from 16-bit Windows. But even MFC programs will suffer when they cast pointers to DWORDs and commit other no-nos like that. For an excellent overview of the things you should be doing today to make porting to 64 bits easier, go to http://msdn.microsoft.com/library/psdk/buildapp/64bitwin_410z.htm.

The Big Question: C#? Why? Is this really necessary to make .NET happen, or is it a political move to fight Java?

I can offer a personal insight here, but keep in mind that this is purely my opinion—and that it’s difficult for me to be totally unbiased on this issue. I know a lot of Microsoft employees who just a few years ago were utterly in love with Java. My perception is that Microsoft would have embraced Java more fully, and would not have invented .NET, had Sun not proved to be such a difficult partner. Given the personal enmity that Scott McNealy apparently harbors toward Bill Gates, it’s entirely reasonable to suspect that no matter how well Microsoft toed the “100% pure Java” line, Sun would never let them rest in peace. If that’s the case, then Microsoft made the only business choice they could when they divorced themselves from Sun and struck out on their own.

Personally, I like Java a lot. I don’t use it professionally, but I downloaded some of the early Sun JDKs and used them to learn the language. One thing that bothers me about Java, though, is that one company owns it and controls it. I doubt that Sun will ever turn Java over to a standards committee and make it a truly open language. To its credit, Microsoft is turning C# over to a standards committee. They’re also helping a bunch of companies develop .NET compilers for every programming language under the sun (no pun intended).

As to whether C# is necessary, no, it’s not necessary. .NET is not about languages; it’s about a common run-time that runs Intermediate Language (IL). The language you use is a personal choice and is little more than a vehicle for producing IL. C# is one of many languages that you’ll be able to choose from for writing .NET code. That said, if you like Java, you’ll like C#, too.

Will we be able to write apps in .NET (ie using managed code etc) that will run outside of .NET - say, on Windows 98?

Microsoft plans to make the .NET run-time available on down-level operating systems, including Windows 95 and Windows 98. So yes, you’ll be able to run it on Win9x. But no, you won’t be running it “outside of .NET.”

What is it that you are involved with at the moment?

I’m currently traveling a lot teaching COM programming to developers and consulting on COM projects. I’m spending a lot of time working for—and helping to chart future directions for — Wintellect, the company I recently founded with John Robbins and Jeffrey Richter. Wintellect has been a ton of work, but I’m having a blast. I’m also spending every moment that I can learning and studying Microsoft .NET. The COM+ book I’ve been planning is shelved for now given COM’s irrelevance in the era of .NET, but there’s a very good chance that I’m going to begin working on a .NET book soon. .NET represents a whole new paradigm for Windows developers, and I’m excited about the prospect of making the learning process a little bit easier for fellow programmers.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Founder CodeProject
Canada Canada
Chris Maunder is the co-founder of CodeProject and ContentLab.com, and has been a prominent figure in the software development community for nearly 30 years. Hailing from Australia, Chris has a background in Mathematics, Astrophysics, Environmental Engineering and Defence Research. His programming endeavours span everything from FORTRAN on Super Computers, C++/MFC on Windows, through to to high-load .NET web applications and Python AI applications on everything from macOS to a Raspberry Pi. Chris is a full-stack developer who is as comfortable with SQL as he is with CSS.

In the late 1990s, he and his business partner David Cunningham recognized the need for a platform that would facilitate knowledge-sharing among developers, leading to the establishment of CodeProject.com in 1999. Chris's expertise in programming and his passion for fostering a collaborative environment have played a pivotal role in the success of CodeProject.com. Over the years, the website has grown into a vibrant community where programmers worldwide can connect, exchange ideas, and find solutions to coding challenges. Chris is a prolific contributor to the developer community through his articles and tutorials, and his latest passion project, CodeProject.AI.

In addition to his work with CodeProject.com, Chris co-founded ContentLab and DeveloperMedia, two projects focussed on helping companies make their Software Projects a success. Chris's roles included Product Development, Content Creation, Client Satisfaction and Systems Automation.

Comments and Discussions

 
GeneralWhich one is better Pin
Koundinya3-Mar-03 0:14
Koundinya3-Mar-03 0:14 
GeneralRe: Which one is better Pin
Anthony_Yio20-Mar-03 20:12
Anthony_Yio20-Mar-03 20:12 
GeneralRe: Which one is better Pin
V.Sen...3-Aug-07 21:26
V.Sen...3-Aug-07 21:26 
GeneralInterview with Jeff Prosise Pin
Jim Martin18-Aug-00 5:18
Jim Martin18-Aug-00 5:18 
GeneralRe: Interview with Jeff Prosise Pin
Arvind2319-Aug-00 13:35
Arvind2319-Aug-00 13:35 
GeneralNext interview is with Matt Pietrek Pin
Chris Maunder18-Aug-00 3:34
cofounderChris Maunder18-Aug-00 3:34 
GeneralRe: Next interview is with Matt Pietrek Pin
Member 228718-Aug-00 4:16
Member 228718-Aug-00 4:16 
GeneralRe: Next interview is with Matt Pietrek Pin
Chris Maunder18-Aug-00 4:34
cofounderChris Maunder18-Aug-00 4:34 
GeneralRe: Next interview is with Matt Pietrek Pin
Ryan Park18-Aug-00 15:05
Ryan Park18-Aug-00 15:05 
GeneralRe: Next interview is with Matt Pietrek Pin
bablesh2-Jan-04 0:11
bablesh2-Jan-04 0:11 
GeneralRe: Next interview is with Matt Pietrek Pin
kunals2-Jan-04 0:14
kunals2-Jan-04 0:14 
GeneralRe: Next interview is with Matt Pietrek Pin
Arvind2319-Aug-00 13:38
Arvind2319-Aug-00 13:38 
GeneralRe: Next interview is with Matt Pietrek Pin
Steven Carleton20-Aug-00 12:17
Steven Carleton20-Aug-00 12:17 
GeneralRe: Next interview is with Matt Pietrek Pin
18-Apr-01 3:59
suss18-Apr-01 3:59 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.