Язык С# — это очередная ступень бесконечной эволюции языков программирования. Его создание вызвано процессом усовершенствования и адаптации, который определял разработку компьютерных языков в течение последних лет. Подобно всем успешным языкам, которые увидели свет раньше, С# опирается на прошлые достижения постоянно развивающегося искусства программирования.
В языке С# (созданном компанией Microsoft для поддержки среды .NET Framework) проверенные временем средства усовершенствованы с помощью самых современных технологий. С# предоставляет очень удобный и эффективный способ написания программ для современной среды вычислительной обработки данных, которая включает операционную систему Windows, Internet, компоненты и пр. В процессе становления язык С# переопределил весь "ландшафт" программирования.
ООП — это целый набор концепций и идей, позволяющих осмыслить задачу, стоящую при разработке компьютерной программы, а затем найти путь к ее решению более понятным, а значит, и более эффективным способом.
В последнее время идея ООП, кардинально новая идеология написания программ, все более занимает умы программистов. ООпрограммы более просты и мобильны, их легче модифицировать и сопровождать. Стратегию ООП лучше всего описать как смещение приоритетов в процессе программирования от функциональности приложения к структурам данных. Это позволяет программисту моделировать в создаваемых приложениях реальные объекты и ситуации.
Технология ООП обладает следующими преимуществами:
a. использование при программировании понятий, близких к предметной области (повседневные объекты);
b. возможность успешно управлять большими объемами исходного кода благодаря инкапсуляции, то есть скрытию деталей реализации объектов и упрощению структуры программ;
c. возможность многократного использования кода за счет наследования;
d. сравнительно простая возможность модификации программ;
e. возможность создания и использования библиотек объектов;
f. создание более эффективного кода, модификация и расширение возможностей уже имеющихся систем.
Эти преимущества особенно явно проявляются при разработке программ большого объема и классов программ.
Однако ничто не дается даром:
a. создание объектно-ориентированной программы представляет собой весьма непростую задачу, поскольку требует разработки иерархии объектов, а плохо спроектированная иерархия может свести к нулю все преимущества объектно-ориентированного подхода.
b.Кроме того, идеи ООП не просты для понимания и в особенности для практического применения.
c. Чтобы эффективно использовать готовые объекты из библиотек, необходимо освоить большой объем достаточно сложной информации.
d. Неграмотное же применение ООП способно привести к созданию излишне сложных программ, которые невозможно отлаживать и усовершенствовать.