OK, no article here. But that is the intro to an article I'm almost done with (should be finished by tomorrow) which I'm wondering if I should post to K5 & Slashdot. One of my friends thinks it's too technical while the other thinks it's just about as technical as my past stuff. So I wondered what people thought about this topic.

My C# and Java article is still coming along. It's about 80% done and this is the current table of contents (NOTE: Links are broken)
  1. The More Things Change The More They Stay The Same
    This section describes concepts and language features that are almost exactly the same in C# and Java.
    1. We Are All Objects
    2. Keyword Jumble
    3. Of Virtual Machines and Language Runtimes
    4. Heap Based Classes and Garbage Collection
    5. Arrays Can Be Jagged
    6. No Global Methods
    7. Interfaces, Yes. Multiple Inheritance, No.
    8. Strings Are Immutable
    9. Unextendable Classes
    10. Throwing and Catching Exceptions
    11. Member Initialization at Definition and Static Constructors

  2. The Same But Different
    This section describes concepts and language features that differ either only in syntax or in some similarly minor manner between C# and Java.
    1. Main Method
    2. Inheritance Syntax
    3. Run Time Type Identification (is operator)
    4. Namespaces
    5. Constructors, Destructors and Finalizers
    6. Synchronizing Methods and Code Blocks
    7. Access Modifiers
    8. Reflection
    9. Declaring Constants
    10. Primitive Types
    11. Array Declarations
    12. Calling Base Class Constructors and Constructor Chaining

  3. An Ever So Slight Feeling of Dejà Vu
    This section describes concepts and language features that exist in C# that are similar to those that exist in Java but with a significant difference.
    1. Nested classes
    2. Threads and Volatile Members
    3. Operator Overloading
    4. switch Statement
    5. Assemblies
    6. Collections
    7. goto (no longer considered harmful)
    8. Virtual Methods (and final ones too)
    9. File I/O
    10. Object Serialization
    11. Documentation Generation from Source Code Comments
    12. Multiple Classes in a Single File
    13. Importing Libraries
    14. Events
    15. Cross Language Interoperability

  4. Now For Something Completely Different
    This section describes language features and concepts that exist in C# and have no Java counterpart.
    1. Deterministic Object Cleanup
    2. Delegates
    3. Enumerations
    4. Value Types (Structs)
    5. Boxing
    6. Run Time Type Identification (as operator)
    7. foreach Statement
    8. Properties
    9. Multidimensional Arrays
    10. Attributes
    11. Indexers
    12. Preprocessor Directives
    13. Aliases
    14. Runtime Code Generation
    15. Pointers and Unsafe Code
    16. Pass by Reference
    17. params Keyword
    18. Verbatim Strings
    19. Overflow Detection
    20. Explicit Interface Implementation

  5. Wish You Were Here
    This section describes language features and concepts that exist in Java and have no C# counterpart.
    1. Checked Exceptions
    2. Extensions
    3. strictfp
    4. Dynamic Class Loading
    5. Interfaces That Contain Fields
    6. Anonymous Inner Classes

Oh, yeah. I updated my Why aren't you using an OODBMS paper to include more disadvantages of OODBMSs over RDBMSs.


Comments are closed.