If you know Java, how hard is it to learn C#? Should you bother? How do the languages really compare? Ask two programmers and you’ll get three opinions. But we’ve found a remarkably fair and comprehensive guide to C# for Java programmers -- and you’ll never guess who published it.
Yes, C# for Java Developers comes from Microsoft Press, but authors Allen Jones and Adam Freeman don’t hesitate to criticize .NET when it comes up short. They don’t much like .NET’s stream classes, and they warn experienced Java programmers that they’ll find the Windows Forms toolkit less flexible than Swing and AWT. Conversely, when .NET offers greater power -- as with its fine-grained threading support -- you’ll learn that, too.
Throughout, the comparisons are detailed and thoughtful -- as you’d expect from authors who’ve built enterprise systems with both platforms. The book also points out many tiny gotchas that could easily derail experienced Java developers. (For example, in .NET, Interrupt on a thread that isn’t blocking can have unexpected results long afterward.)
The authors focus on Java 1.4, though some 1.3 functionality is covered as well. Their XML coverage reflects Java’s DOM Level 2, SAX, and XSLT support, but not the evolving JAX Pack APIs. In some areas, they find the switchover to C# easy and natural. Where it’s more challenging, they offer practical guidance and workarounds. Whether you’re migrating to .NET, planning to coexist, or simply want to kick C#’s tires, you’ll find their book indispensable. Bill Camarda
Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.