Monday, May 24, 2010

Is Object Oriented Programming (C sharp) a good thing in modern software development? Justify your answer.?

This is the topic that I have to talk about in few days. My supervisor suggested me to say something good about C sharp and also compare Object Oriented Programming with Service-Oriented Architecture (SOA) but this is too hard for me. Anyone can help me with this, about 200 words because I have only few minutes to talk about this. Thank you very much.

Is Object Oriented Programming (C sharp) a good thing in modern software development? Justify your answer.?
Try to download the free Visual C# Express 2005 from Microsoft and also check the online documentation of MSDN.





These are the excerpt from the documentation:





"C# Language


C# syntax is highly expressive, yet with less than 90 keywords, it is also simple and easy to learn. The curly-brace syntax of C# will be instantly recognizable to anyone familiar with C, C++ or Java. Developers who know any of these languages are typically able to begin working productively in C# within a very short time. C# syntax simplifies many of the complexities of C++ while providing powerful features such as nullable value types, enumerations, delegates, anonymous methods and direct memory access, which are not found in Java. C# also supports generic methods and types, which provide increased type safety and performance, and iterators, which enable implementers of collection classes to define custom iteration behaviors that are simple to use by client code.





As an object-oriented language, C# supports the concepts of encapsulation, inheritance and polymorphism. All variables and methods, including the Main method, the application's entry point, are encapsulated within class definitions. A class may inherit directly from one parent class, but it may implement any number of interfaces. Methods that override virtual methods in a parent class require the override keyword as a way to avoid accidental redefinition. In C#, a struct is like a lightweight class; it is a stack-allocated type that can implement interfaces but does not support inheritance.





In addition to these basic object-oriented principles, C# facilitates the development of software components through several innovative language constructs, including:





Encapsulated method signatures called delegates, which enable type-safe event notifications.





Properties, which serve as accessors for private member variables.





Attributes, which provide declarative metadata about types at run time.





Inline XML documentation comments.





If you need to interact with other Windows software such as COM objects or native Win32 DLLs, you can do this in C# through a process called "Interop." "

sage

No comments:

Post a Comment