140
Существенное обновление C# также должно пр 005
года. Поэтому мы сопоставляем характеристики уж
Java 5 с готовящейся к выходу версией C# 2.0. Это у,
что эти версии двух языков достаточно близки по
Данная лекция дает лишь базовую информацию
для
понимания приводимого далее кода компонентов и ентирующих их
разработку и может служить основой для дальнейш
сложны, и всем их деталям просто невозможно уд е
глубокого изучения этих языков (особенно необходимого
ментов для
раб
го
его поколения, поддерживающих автоматическое управление памятью и работу в
, но и .
м
делегатных типов в C# и возможности
Обсуждение и одновременно сравнение характери
следующему плану.
ограм
ее обы
сти Java.
В правой колонке будут
описываться
особенности C#.
Ле
Пр
исполь помощи
16-ти б е
множе F (т.е. имеющие коды от 2
16
до
ляются в кодир и символами,
D800–U+DBFF, второй — U+DC0
Лексически программы состоят из разделителе еревода
строки или их комбинация), комментариев, пустых
идентификаторов, ключевых слов, литералов, опер
В обоих языках можно использовать как однос
символов
// и продолжающийся до конца строки,
символами
/* и заканчивающийся при помощи */
Идентификаторы должны начинаться с буквы ( e,
или символа _) и продолжаться буквами или цифр
использоваться последовательность
\uxxxx, где x ая
символ Unicode c шестнадцатеричным кодом xxxx
например,
myIdentifier123, αρετη_µυσ, идентифи
Unicode). Ключевые слова устроены также (без во льзовать Unicode-
оизойти в версии 2.0, выходящей в ноябре 2
е имеющейся на момент написания версии
представляется обоснованным еще и потом
набору поддерживаемых ими конструкций.
о языках Java и C#, которая достаточна
общих правил, реглам
его их изучения. Оба языка достаточно
елить внимание в рамках двух лекций. Для боле
при разработке
инстру
оты с ними) рекомендуется обратиться к соответствующим стандартам [7] и [8] (ссылки
приведены на последние версии стандартов на момент написания этой лекции, кроме то
некоторые элементы C# 2.0 не вошли в [8], они описываются согласно [9]).
Оба языка имеют мощные выразительные возможности объектно-ориентированных языков
последн
многопоточном режиме. Они весьма похожи
Наиболее существенны для построения програм
невиртуальных методов, возможности объявления
значений и
меют большое число мелких отличий в деталях
различия, касающиеся наличия в C#
и использования пользовательских типов
передачи значений параметров в C# по ссылке.
стик языков мы
будем проводить по
1. Лексика
2. Общая структура программ
3. Базовые типы и операции над ними
4. Инструкции и выражения
5. Пользовательские типы
6. Средства создания многопоточных пр
Общие черты Java и C# описываются дал
В левой колонке будут описываться
особенно
м
чным текстом, а особенности — в колонках.
ксика
ограммы на обоих рассматриваемых языках, C# и Java, могут быть написаны с
зованием набора символов Unicode, каждый символ в котором представляется при
определяют более широко
ит. Поскольку последние версии стандарта Unicode [10]
ство символов, включая символы от U+10000 до U+10FFF
2
20
+2
16
-1), такие символы представ овке UTF-16, т.е. двумя 16-битным
первый в интервале U+ 0–U+DFFF.
й строк (символы возврата каретки, п
символов (пробелы и табуляции),
аторов и разделительных символов.
трочный комментарий, начинающийся
с
так и выделительный, открывающийся
.
символа, который считается буквой в Unicod
ами. В качестве символа идентификатора может
— символы
0-9, a-f или A-F, обозначающ
. Корректными идентификаторами являются,
катор765 (если последние два представлены в
зможности испо