Fog Creek Software
Discussion Board




.NET with no prior experience of low level WIN API

Can you master the .NET Framework (coding with VB.NET or C#) without having any prior experience or knowlege about the old API, low level C API (Petzolds'book), COM, MFC,ATL,WTL ...

Is it a handicap ?

Will you be better .NET developer by knowing how the old APIs used to work ?

Sauron
Saturday, May 22, 2004

It doesn't really matter.  .NET and the Windows API are just alternative sets of syntax (where there's an intersection between the two sets of functionality anyway).


Saturday, May 22, 2004


Ok, so I can focus my energy learning the .NET framework without worrying about the history & legacy of the old APIs ?

Sauron
Saturday, May 22, 2004

If you're developing ASP.NET web application you will almost never need to "interop" with the "Win32 API and COM".

If you're developing non-trivial Windows-based applications, depending on your requirements you might need to "interop" with the "Win32 API and COM".

Visual Studio .NET can generate .NET wrapper classes for COM objects. But, this can lead to another problem. For example to compete with CityDesk, you'll need a 9 MB wrapper DLL only to "interop" with the WebBrowser object.

Green Pajamas
Saturday, May 22, 2004

Yes, although you will eventually hit a wall if you get sufficiently advanced.

Brad Wilson (dotnetguy.techieswithcats.com)
Saturday, May 22, 2004

It isn't a handy cap. However, if you are ever responsible for a project where you are expected to port old code, you'll have to be able to read the older stuff.

Li-fan Chen
Saturday, May 22, 2004

Realistically speaking, you can shield yourself from legacy work for only so long.. so just master .Net but also make time to get yourself familiar with the older projects at your company. There are books and I am sure lots of senior technicians who can mentor you in the ways of the older arts.

Li-fan Chen
Saturday, May 22, 2004

I think you can become sufficiently proficient with .NET without having a "Petzold" background.

That being said....a good portion of the Framework ties directly to COM so understanding things like interop, marshaling, RCW's,CCW's, etc become a bit more necessary. Of course, to understand these topics then you need to know a bit more about COM and the Win32 API.

Mark Hoffman
Saturday, May 22, 2004

I'd say it's helpful to have a fundamental understanding of the Win32 architecture.  But that doesn't mean you need to know how to build things the old way, just to know what the concepts are so that when you do eventually hit a wall, you'll know where to start looking for information.

Also, interop with the Win32 API isn't that hard in and of itself (depending on the function you're accessing, of course).  You may need to do it here and there, but it won't make your head explode, I promise :)

However, if all you're trying to do is build database front-ends, you're not too likely to need to know anything outside of what the framework provides for you.  But if you do want to do things like host a browser control inside your app, or make an Excel plug-in, then you'll need to know something about COM at the very least...  Just depends on what you're trying to accomplish.

Joe
Saturday, May 22, 2004

Hi, can I master [some higher-level API, language, tool] without knowing [lower-level API, language, tool it depends on]?

Yes, but it will help you to learn [lower-level], especially as you start doing more complicated, advanced work.

However, there is also a danger associated with knowing the lowe-level stuff.  I recently found myself tracing through some code in .NET and dropping down to assembly.  It would have been probably easier to figure out what was going on through other means.  I went into assembly mode simply because it was in my bag of tricks.  (That said, I'm sure I will next week run into something that requires me to trace through some Windows API in assembly.)

Should be working
Saturday, May 22, 2004

Assembly is like extreme. Did you mean .NET's assembly -MSIL?

Green Pajamas
Saturday, May 22, 2004

*  Recent Topics

*  Fog Creek Home