Знакомство с .NET
Три различных типа ошибок
Существует три основных вида ошибок.
1. Синтаксическая ошибка.
2. Логическая ошибка.
3. Ошибка времени выполнения.
Синтаксическая ошибка. Имеется в виду грамматическая ошибка в исходном коде С#. Существуют очень четкие правила написания программ на С#. Эти правила формируют грамматику языка С#. Они подобны грамматике английского языка, но куда более четкие и жесткие. Грамматические правила языка программирования называются синтаксисом языка. Синтаксическую ошибку допустить довольно просто. Даже точка с запятой, не поставленная там, где нужно, может вызвать синтаксическую ошибку. Компилятор С# перед компиляцией ищет синтаксические ошибки и печатает сообщения о них на экране. Он даже пытается сообщить о том, что именно вызвало ошибку и где, по его мнению, она допущена. Однако эта информация не всегда корректна, поскольку компилятор лишь делает предположения на основе имеющейся у него информации.
Логическая ошибка. Если ошибка закралась в логические построения, реализованные в псевдокоде, она называется логической.
Ошибка времени выполнения. Если компьютер обнаруживает ошибку во время исполнения программы, ее называют ошибкой времени выполнения (runtime error). В этом случае компьютер прекратит выполнение программы и сообщит об ошибке и о приблизительном ее местоположении в коде программы. Впрочем, система вполне может интерпретировать проблему неправильно. Ошибка времени выполнения может быть вызвана либо логической ошибкой, либо некорректным преобразованием псевдокода в исходный код. К сожалению, возможна ситуация, когда ошибку времени выполнения вызывает ошибка в псевдокоде.
Для полного понимания языка программирования С# и его программной среды, необходимо представить важную технологию, которая непосредственно связана с С# и называется .NET (произносится как "дот нэт").
.NET — это общий термин для многих важных служб, которые предоставляются и используются во время создания и исполнения программы на С#. Более того, С# полностью зависит от .NET. Неудивительно, что происхождение многих особенностей и концепций С# уходит своими корнями в .NET. Вот некоторые важные службы, предоставляемые инфраструктурой .NET-платформы.
1. .NET предоставляет средства для исполнения инструкций, содержащихся в программе, написанной на С#. Эта часть .NET называется средой исполнения (execution engine).
2. .NET помогает реализовать так называемую среду, безопасную к несоответствию типов данных (type safe environment, см. главу 6). Образно говоря, .NET обеспечивает "треугольные дырки для треугольников, квадратные — для квадратов".
3. .NET освобождает программиста от утомительного и нередко приводящего к ошибкам процесса управления компьютерной памятью, которая используется программой.
4. .NET предоставляет безопасную среду исполнения, пытаясь усложнить жизнь хакерам и им подобным.
5. В состав .NET-платформы входит библиотека, содержащая массу готовых программных компонентов, которые можно использовать в собственных программах. Она экономит немало времени, так как программист может воспользоваться готовыми фрагментами кода.
6. В .NET упрощена подготовка программы к использованию (развертывание).
7. .NET обеспечивает перекрестное взаимодействие программ, написанных на разных языках. Любой язык, поддерживаемый .NET, может взаимодействовать с другими языками этой платформы. Поскольку для исполнения кода, написанного на любом из поддерживающих платформу .NET языков, используется одна и та же среда исполнения, ее часто называют единой средой исполнения (Common Language Runtime, CLK).
Программа, при создании которой была предусмотрена возможность повторного использования, называется компонентом (программным компонентом).
Все сказанное выше о .NET — не более чем простое перечисление некоторых свойств платформы, в которой были реализованы многие современные программные технологии.