39
C# считается языком с C-подобным синтаксисом, и ближе всего он
стоит к C++ и Java. Язык имеет постоянную типизацию, может работать с
полиморфизмом, перегрузкой операторов (явного и неявного типов),
включает в себя атрибуты, делегаты, события, свойства, совокупные типы
и методы, итерационные знаки, анонимные функции с возможностью
замыкания, LINQ, исключения, возможность комментирования в XML. И
пусть С# много перенял от своих собратьев: C++, Java, Delphi, Модула и
Smalltalk — все-таки он, исходя из практики их применения, исключает
некоторые модели, которые показали себя не с лучшей стороны и стали
проблемными, к примеру, C# не поддерживает совокупное наследование
классов (а в C++ оно есть).
C# создавался в рамках языка программирования прикладного
уровня для CLR и зачастую зависит от возможности самой CLR. И прежде
всего это характерно для систем C#, отражающих BCL. Применение или
отсутствие конкретных особенностей языка основано на том, может ли
конкретная языковая особенность переводится в требуемые конструкции
CLR. С обновлением версии CLR от 1.1 до 2.0 вырос и сам C#;
аналогичного результата можно будет ждать и далее. Но данная
закономерность была нарушена после презентации C# 3.0, который
представлял расширение зыка, не базирующееся на платформе .NET. CLR
отражает C#, как и остальных, сугубо .NET-ориентированным языком,
имеет много возможностей, которых нет в «классических» языках
программирования. К примеру, сбор мусора в самом C# не производится,
все реализуется CLR для программ, созданных на C# точно так же, как и
для программ на VB.NET, J# и др.
Delphi — среда программирования, где применяться язык Object
Pascal. Стартуя со среды разработки Delphi 7.0, в документах Borland стало
мелькать название Delphi для Object Pascal. По началу среда
использовалась лишь для создания приложений MS Windows, далее была
перенесена на платформу Linux (как Kylix), но после релиза в 2002 году