Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>On the assumption that you're building apps targeted at Windows:</p> <ul> <li>it can sure be informative to understand lower levels of the system - how they work, how your code interacts with them (even if only indirectly), and where you have additional options that aren't available in the higher-level abstractions</li> <li>there are times when your code might not be as efficient, high-performance or precise enough for your requirements</li> <li>However, in more and more cases, folks like us (who never learned "unmanaged coding") will be able to pull off the programming we're trying to do without "learning" Win32.</li> <li>Further, there's plenty of sites that provide working samples, code fragments and even fully-functional source code that you can "leverage" (borrow, plagiarize - but check that you're complying with any re-use license or copyright!) to fill in any gaps that aren't handled by the .NET framework class libraries (or the libraries that you can download or license).</li> <li>If you can pull off the feats you need without messing around in Win32, and you're doing a good job of developing well-formed, readable managed code, then I'd say mastering .NET would be a better choice than spreading yourself thin over two very different environments.</li> <li>If you frequently need to leverage those features of Windows that haven't received good Framework class library coverage, then by all means, learn the skills you need.</li> <li>I've personally spent far too much time worrying about the "other areas" of coding that I'm <em>supposed</em> to understand to produce "good programs", but there's plenty of masochists out there that think everyone's needs and desires are like their own. Misery loves company. :)</li> </ul> <p>On the assumption that you're building apps for the "Web 2.0" world, or that would be just as useful/beneficial to *NIX &amp; MacOS users:</p> <ul> <li>Stick with languages and compilers that target as many cross-platform environments as possible.</li> <li>pure .NET in Visual Studio is better than Win32 obviously, but developing against the MONO libraries, perhaps using the Sharp Develop IDE, is probably an even better approach.</li> <li>you could also spend your time learning Java, and those skills would transfer very well to C# programming (plus the Java code would theoretically run on any platform with the matching JRE). I've heard it said that Java is more like "write once, debug everywhere", but that's probably as true as (or even moreso than) C#.</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload