Сравнение языков программирования

Поделись знанием:
Перейти к: навигация, поиск
 Условные обозначения 
+ Указанная возможность присутствует
- Указанная возможность отсутствует
+/- Возможность поддерживается не полностью
-/+ Возможность поддерживается очень ограниченно
 ? Нет данных
N/A Постановка вопроса не применима к языку
Сравнения языков программирования
Общее сравнение
Основной синтаксис
Основные инструкции
Массивы
Ассоциативные массивы
Операции со строками
Строковые функции
List comprehension
Объектно-ориентированное программирование
Объектно-ориентированные конструкторы
Доступ к базам данных
СУБД баз данных
Оценка стратегии
Список программ «hello world»

Влияние ALGOL 58 на ALGOL 60
ALGOL 60: Сравнения с другими языками
Сравнение ALGOL 68 и C++
ALGOL 68: Сравнения с другими языками
Совместимость C и C++
Сравнение Pascal и Borland Delphi
Сравнение Object Pascal и C
Сравнение Pascal и C
Сравнение Java и C++
Сравнение C# и Java
Сравнение C# и Visual Basic .NET

В приведенной ниже таблице отмечено наличие или отсутствие тех или иных возможностей в некоторых популярных сегодня языках программирования. Столбцы упорядочены по алфавиту. Если возможность в языке недоступна напрямую, но может быть эмулирована с помощью других средств, то в таблице отмечено, что её нет.

При заполнении таблицы учтены только фактические данные, при том, что наличие возможности не обязательно является преимуществом языка, а отсутствие — недостатком.






Содержание

Парадигмы

Возможность Языки
Active Oberon Ada C C++ C# D Eiffel Erlang Prolog F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
Императивная + + + + + + + - - + + + + +
[1]
+ + + + + + + + + + + + + +
Объектно-ориентированная + + -/+[2] + + + + - - + + + +
[3]
-
[4]
+ + + + + + + + + + + + + -/+
Функциональная - - +/- [5] -/+ [6] +/- +/- +/- + + + + -/+ +/- + +/-[7] - + + +/- + + + + + +/- -/+ + +/-
Рефлексивная - - - -/+ [8] -/+ -/+  ? + + -/+ + -/+ + - + - -/+ +/- + + + -/+ + + -/+ -/+ -  ?
Обобщенное программирование - + + [9] -/+ [10] + + +/- + + + + + + + + + + + + + + + + - + + + -/+
Логическая - - - - - - - - + - - - - +/-
[11]
+/-
[12]
+ +/- - - - -  ? +/- - - - -  ?
Декларативная - - - - -/+[13] -/+  ? + + + + - +/- + +[14] - + -/+
[15]
+ + + + +/- - +/- - + +/-
Распределенная - +
[16]
+/-
[17]
+/-
[17]
-/+
[18]
+/- [19] + + + - -/+ + - +
[20]
+/- -/+ - - - -/+ -/+  ? +/-  ? - - - -
Active Oberon Ada C C++ C# D Eiffel Erlang Prolog F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic

Типизация

Возможность Язык
Active Oberon Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
Статическая типизация + + + + + + + - + + + - + +/-[21] + + +/-
[22]
- - - + +/-
[23]
- + + + +
Динамическая типизация - - - - +
[24]
- - + -/+[25] + - + -/+
[26]
+ + - + + + + - + + +
[27]
-/+
[28]
- -
Явная типизация + + + + + + + -/+
[29]
+ + + - + +/-[21] + + -/+
[30]
+/- +/-
[31]
- + +/-
[32]
- + + + +
Неявная типизация - - - -/+ -/+[33] -/+ - + + + - + + + + + + + + + + + + + - + +
Неявное приведение типов без потери данных -/+ -/+
[34]
+ + + + + - - + +
[35]
+ - + -/+ + + + + +  ? + + + + - +
Неявное приведение типов с потерей данных - - + + - + - - - - -  ? - - -  ? +
[36]
+ - -  ? + + + + - -/+
Неявное приведение типов в неоднозначных ситуациях - - + + + + - - - - - + - - - + +
[37]
+ - -  ? - + + - - -/+
Алиасы типов + + + + + + - N/A + + - N/A + +[38] + + N/A N/A N/A N/A +[39]  ? N/A - + + -/+
Вывод типов переменных из инициализатора - - - +/-
[40]
+ + - N/A + - - N/A + +/-
[41]
+ + N/A N/A N/A N/A +  ? N/A + - + +
Вывод типов переменных из использования - - - +/-
[40]
- - - N/A + - - N/A + +/-
[41]
+ + N/A N/A N/A N/A  ?  ? N/A  ? - + +/-
Вывод типов-аргументов при вызове метода - - - + + + + N/A + + + N/A + +/-
[41]
- + N/A N/A N/A N/A +  ? N/A + - +  ?
Вывод сигнатуры для локальных функций - - - +/-
[42]
-  ? - N/A + - - N/A + +/-[41] - + N/A  ? N/A N/A -  ? N/A  ? - +  ?
Параметрический полиморфизм - - N/A - + + + N/A + + + - + + - + N/A + N/A N/A +  ? N/A + - +  ?
Параметрический полиморфизм с ковариантностью - - N/A - +/-
[43]
 ? + N/A + - + - N/A + - +/-  ?  ? N/A N/A +  ? N/A - -  ?  ?
Параметрический полиморфизм высших порядков - - N/A - - -  ? N/A - - - - + + - - N/A  ? N/A N/A +  ? N/A - -  ?  ?
Информация о типах в runtime + -/+
[44]
- -/+
[45]
+ + + + + + + -/+ - + + + + + + + + + + + + - -
Информация о типах-параметрах в runtime - - - -/+ + +  ? - + - - -/+ - + + + +
[46]
+ + + +[47]  ? - + + - -
Active Oberon Ada C C++ C# D Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic

Компилятор/интерпретатор

Возможность Язык
Active Oberon Ada C C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi Ocaml PureBasic
Open-source компилятор (интерпретатор) + + + + + + + + + + + + + + + + + + + + + +
[48]
+ + +
[49]
+ -
Возможность компиляции + + + + + + + -/+
[50]
+ + + + + + + + + +
[51]
+ + + +
[52]
- + + + +
Bootstrapping + + + + + + + + + + +
[53]
+
[54]
+ +[55] - +  ? N/A +
[56]
+ + +
[57]
N/A  ? + + +
Многопоточная компиляция + + + + - +  ? + + + +  ? + + - -  ?  ? N/A N/A - - N/A +  ? + +
Интерпретатор командной строки +/- +/-
[58]
-/+
[59]
+/-
[59]
-
[60]
+/- [61]  ? + + + - +
[62]
+ + - + + + + + + +
[63]
+ + +/-
[64]
+ -
Условная компиляция - +/-
[65]
+ + + +  ? + +  ? -/+
[66]
-/+
[67]
+ +[68] + + + + N/A N/A  ? + N/A + + N/A +
Active Oberon Ada C C++ C# D Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic

Управление памятью

Возможность Язык
Active Oberon Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
Создание объектов на стеке - + + + + + -/+
[69]
 ? + - - - +/-
[70]
+/-
[71]
- + - - - -  ?  ? - - -/+
[72]
 ? +
Неуправляемые указатели + + + + + + - - - - -[73] - -[73] -[73] + + - - -
[74]
- - +
[75]
- - + - +
Ручное управление памятью +/- + + + +[76] + - - - - -[73] - -[73] -[73] + + - - -[73] - - +
[77]
- - + - +
Сборка мусора + -/+
[78]
-
[79]
-/+
[80]
+ + + + + + + + + + + + + + + + + + + + -
[81]
+ -

Управление потоком вычислений

Возможность Язык
Active Oberon Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
Инструкция goto - + + + + + - - N/A - -
[82]
- N/A +[83] - + + +/-
[84]
- -/+
[85]
- -/+
[86]
- + + - +
Инструкции break без метки + + + + + + - - N/A + + + N/A +[87] - + + + + + -  ? + + + +/-
[88]
+
Инструкция break с меткой - + - - - + - - N/A + + + N/A +[89] - + + +/-
[90]
- + -  ? - + - N/A +/-[91]
Поддержка try/catch - + - + + + +
[92]
+ + + + + + +
[93]
+ + +
[94]
+ + + + + + + + + +[95]
Блок finally + -/+
[96]
- - + + - - + + + +
[97]
+ +
[98]
+ + - +
[99]
+ + + + + + + -
[100]
+[95]
Блок else (исключения) - - - - + - - + - + +
[101]
 ? + +
[102]
+ - +
[103]
- + + -  ? + + + + +[95]
Перезапуски +[104]  ? -  ? -  ?  ?
- -  ?  ?  ?  ? +
- - -
[105]
 ?  ? +
[106]
 ?  ? - -  ?  ?  ?
Ленивые вычисления -  ? - -/+ -/+
[107]
+ -
- +/-[108] - - - + -
[109]
- +
[110]
-
-/+[111] + -/+
[112]
 ? - - -/+
[113]
- +[114] +
Continuations  ?  ? -/+[115]  ? -  ?  ?
- -  ?  ?  ? + -[116]
 ? -  ?
 ? - +  ? + - -  ? +/-
[117]
 ?
Легковесные процессы (Сoroutines) + - - - - +
[118]
+ + -  ? +/-
[119]
- + +/-[120] + - +
[121]
+
[99]
+/-
[122]
+
[123]
 ? + + - - +/-[124] -

Типы и структуры данных

Возможность Язык
Active Oberon Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi OCaml PureBasic
Кортежи - - - +/- + +/- + + + + - - + + - + + +/-
[125]
+ + + + +/-
[126]
- + -
Алгебраические типы данных - -/+
[127]
- - - +  ? N/A
[128]
+  ? - N/A
[128]
+ N/A
[128]
- + N/A
[128]
N/A
[128]
N/A
[128]
N/A
[128]
+
[129]
N/A
[128]
- -/+
[127]
+ -
Многомерные массивы +  ? + + + +  ? - + + +/- +/- +
[130]
+ + + +/- +/- +/- +/- +/-  ? + + + +
Динамические массивы +  ? -[131] + +/- +  ? - +/-  ? +/-[132] +/- - + +  ? +/- +/- +/- +/- +  ? + +  ? +
Ассоциативные массивы -  ? - +
[133]
+ +  ? - + + +/-[134] + +[135] + - + + + + + +  ? + +/- + +
Контроль границ массивов +  ? - +/-
[136]
+ + + N/A +  ? + N/A
[137]
+
[130]
+ + + N/A
[137]
+/-
[138]
+  ?  ?  ? + + +
[139]
-
Цикл foreach - +/-
[140]
- +
[141]
+ + - +/-
[142]
+ + + +
[143]
+ +
[144]
- + + + + + + + + + + +
Списковые включения - - - - -/+
[145]
- - + + - - - + +[146] - +  ? - +  ? + + + - +/- -
Целые числа произвольной длины - - - - +
[147]
+  ? + + + +
[148]
- + + - +
[147]
+ +/-
[149]
+ + +
[150]
+ +
[147]
- +
[151]
-
Целые числа с контролем границ -/+ + - - - -  ? - - - - - - +[152] + - -
[153]
- -  ? -  ? - + - -

Объектно-ориентированные возможности

Возможность Язык
Active Oberon Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi OCaml PureBasic
Интерфейсы +  ? +/- [154] + [155] + +  ? N/A + + +  ? N/A N/A[156] - + +/-[157] + +  ?  ?  ? + + + +
Мультиметоды - - - -/+[158] -/+[159] - - N/A -  ? -
[160]
- N/A
+ - - -
[160][161]
- -
[160]
-
[160]
- - - - - -
Mixins -  ? - -/+[162] - +  ? N/A  ? +
[163]
+
 ? N/A
+ -  ?  ?
+
[164]
+
[165]
+
+ +  ? +[166]  ? N/A
Переименование членов при наследовании -  ? N/A -/+[167] -  ? + N/A - - -  ? N/A - - - -/+ - -  ?  ? - - -  ? -
Множественное наследование -  ? N/A + - - + N/A - - -  ? N/A + - - + - + -  ? - - - + +/-
Решение конфликта имен при множественном наследовании N/A  ? N/A -/+
[168]
N/A N/A +
[169]
N/A N/A  ? N/A  ? N/A +[170] N/A N/A + N/A + N/A  ? N/A N/A N/A  ?  ?

Функциональные возможности

Возможность Язык
Active Oberon Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi OCaml PureBasic
Декларации чистоты функций - - - - - +[171] - - - - - - + - - - - - - - - - - - - -
First class functions +  ? -/+[172] +[173] + +  ? + + + - +
+ + +
+
+ -
+
+ + +  ? +/-
[174]
+  ?
Анонимные функции -  ? - +[175] +[176] +  ? + + + + +
+ +[177] -
+
+ +
+/-[178]
+ + + + +/-
[174]
+ +
Лексические замыкания - - - + [179] + + + + + + +[180] + + + - + + +[181] + + + + + +/-
[182]
+ -
Частичное применение -  ? - +/-
[183]
 ? + [184]  ?  ? +  ? - +[185] + - - + -
[186]
- +
[187]
+ +  ?  ?  ? +  ?
Каррирование - - - +/- [188] + + [184] - - + - - +
+ - -
-
+ +
+
+[189] + - - +/- [190] + -

Разное

Возможность Язык
Active Oberon Ada C C++ C# D Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi Ocaml PureBasic
Макросы - -/+ +
[191]
+
[191]
+/- - - +/- - - - - +/-
[192]
+ - +
+[193] - - +/- - - +
[194]
- -/+
[195]
+
Шаблоны/Generics - + - + + + + N/A
[196]
+ + + N/A
[196]
-
[197]
N/A
[196]
+ + N/A
[196]
N/A [196] N/A
[196]
N/A
[196]
+ N/A
[196]
+ +
[198]
+/-  ?
Поддержка Unicode в идентификаторах - + +
[199]
+
[200]
+ +  ? - + + + + + +[201] - + +/- -/+ +
[202]
+
[203]
+ + + + + +
Перегрузка функций - + - + + + - + + + + -/+
[204]
+ +[205] - + -
[206]
- -
[207]
- +  ? + + + -
Динамические переменные -  ? - -  ? -  ?
-  ?  ?  ?  ? +/-[208]
+[209]
-  ? +
- -  ?  ?  ? +  ?  ? -
Именованные параметры - + - - +
[210]
- - - +/- + - -/+
[211]
- +[212] + + + - + + + -/+
[213]
+ -/+
[214]
+ -
Значения параметров по умолчанию + + - + +
[210]
+ - +/-
[215]
- + - + - +[216] + + +/-
[217]
+ + + + +/- + + + +
Локальные функции + + -/+
[218]
+
[219]
+/- + - + + - +/-
[220]
+ + +[221] + + +/- + + + + - +/- + +  ?
Сопоставление с образцом - - - - +/- - - + + - - - + +/-[222] - + + - -
[207]
- +  ? - - +  ?
Контрактное программирование - - - - +
[223]
+ +  ? +/-
[223]
+/- +/-
[224]
 ? +
[225]
+ - +  ? - +/- +/-  ?  ? +
[223]
- -  ?
Наличие библиотек для работы с графикой и мультимедиа (OpenGL/WebGL/OpenML, OpenAL, DirectX) +  ? + + +[226] + [227]  ?  ? +[226]  ? + + + +[228] +  ?  ? -/+[229] +  ? +  ? + +  ? +[230]

Стандартизация

Язык Active Oberon Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Modula-3 Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi OCaml PureBasic
 Стандарты  - ISO ANSI ГОСТ ISO ANSI ISO ISO ECMA - ISO ECMA - - - - ECMA Haskell 2010 ANSI - - - - - ISO - ANSI - - - -

Напишите отзыв о статье "Сравнение языков программирования"

Примечания

  1. Императивный/Haskell. Монады позволяют выполнять императивные действия.
  2. Несмотря на отсутствие встроенных средств поддержки ООП, реализация объектно-ориентированного подхода возможна. В качестве наиболее ярких примеров можно привести библиотеки OpenGL, OpenCL, OpenMAX AL и т. п., которые реализуют именно ООП средствами языка С.
  3. ООП/Javascript. Прототипная модель ООП.
  4. ООП/Haskell. Классы типов и семейства типов перекрывают возможности ООП.
  5. присваивание как типизируемое выражение (не оператор), тернарная операция, функции с неограниченным числом параметров, void* как небезопасная форма параметрического полиморфизма
  6. Робинсон определил шаблоны С++ как полный по Тьюрингу функциональный язык программирования. Саймон Пейтон Джонс и Тим Шерд назвали работу Робинсона провокационной, природу шаблонного метапрограммирования — нелепой и причудливой, и отметили, что функциональные программисты не спешат использовать С++: Sheard T., Jones S.P. Template Metaprogramming in Haskell // Haskell Workshop. — Pittsburgh: ACM 1-58113-415-0/01/0009, 2002.
  7. Пространства имен функций и данных разделены, для работы с функциями высших порядков используется специальный синтаксис
  8. en:homoiconicity отсутствует, но RTTI есть
  9. void*
  10. шаблоны являются отдельным мини-языком
  11. Логический/Haskell. Изначально инструментов для логического программирования не встроено, но есть сторонние библиотеки. Существует академический функционально-логический язык Curry, берущий Haskell за основу.
  12. Логический/Common Lisp. Логическая парадигма изначально в язык не встроена, но реализуется средствами языка.
  13. LINQ
  14. В языке существует множество декларативных конструкций, и, более того, возможность создавать свои, с помощью макросов.
  15. Декларативный/Perl. Только регулярные выражения.
  16. Распределённый/Ada. См. [www.adaic.com/standards/05rm/html/RM-E.html Annex E. Distributed Systems].
  17. 1 2 Распределённый/C и C++. Многие распространённые компиляторы поддерживают директивы для распараллеливания в рамках технологий MPI и OpenMP.
  18. Распределённый/C#. Существуют проекты распределённых модификаций языка, например [www.parallelcsharp.com/ Parallel C#].
  19. std.parallelism
  20. Распределённый/Haskell. Модель языка подразумевает распределённое использование, при этом не требуя от программиста усилий на реализацию распределённости. Один из поддерживающих эту возможность компиляторов — Glasgow Distributed Haskell.
  21. 1 2 ANSI стандарт языка предусматривает опциональные декларации типов, которые какие-либо конкретные реализации могут использовать по своему усмотрению. Большинство современных реализаций CL принимают декларации типов в расчет, и используют для статической проверки типов и в целях оптимизации.
  22. Статическая типизация/Perl. С версии 5.6. Только для не встроенных типов.
  23. Статическая типизация/Smalltalk. Возможность статической типизации есть в диалекте Smalltalk — Strongtalk'е.
  24. Динамическая типизация/C#. Посредством специального псевдо-типа dynamic с версии 4.0.
  25. Динамическая типизация/F#. Компилятор поддерживает синтаксический сахар в виде преобразования использования оператора (?) xml?name в вызов xml.op_Dynamic("name"), на базе чего может быть реализована имитация динамической типизации.
  26. Динамическая типизация/Haskell. Обеспечивается модулем Data.Dynamic.
  27. Динамическая типизация/VB.NET. Контролируемо с помощью Option Strict.
  28. Динамическая типизация/Delphi. Посредством специального типа Variant.
  29. [erlang.org/doc/reference_manual/expressions.html#6.24 Явная типизация/Erlang. Можно использовать т. н. type test BIFs. См]
  30. Явная типизация/Perl. См. Prototypes в man perlsub.
  31. Явная типизация/Python. Частично в Python 3.0.
  32. Явная типизация/Smalltalk. Есть в Strongtalk.
  33. var, dynamic etc.
  34. Неявное приведение типов/Ada. См. [www.adaic.com/standards/05rm/html/RM-4-6.html#I2822 4.6 Type Conversions].
  35. Расширение для примитивных типов, приведение к супертипу для классов.
  36. Неявное приведение с потерей данных/Perl. При сложении строки с числом: $a = '5aa'; print $a + 0; Напечатает: 5
  37. Неявное приведение в неоднозначных ситуациях/Perl. Не совсем корректно, так как в Perl эти ситуации однозначны: 1 + "2" # 3  и  1 . "2" # "12"
  38. Макрос [www.lispworks.com/documentation/HyperSpec/Body/m_deftp.htm DEFTYPE]
  39. [docs.scala-lang.org/tutorials/tour/abstract-types.html Abstract types]
  40. 1 2 Вывод типов/C++. Поддержка вывода типов имплементируется в C++11 с использованием ключевых слов auto и decltype.
  41. 1 2 3 4 Вывод типов/Common Lisp. Некоторые компиляторы Common Lisp, такие как SBCL, поддерживают частичный вывод типов.
  42. auto function = [&](int a){} в c++11
  43. Параметрический полиморфизм с ковариантностью/C#. Доступно начиная с C# 4.0 для типов интерфейсов и делегатов.
  44. Информация о типах в runtime/Ada. Точный тип узнать можно ([www.adaic.com/standards/05rm/html/RM-3-9.html#I2032 Ada.Tags]), но полной поддержки отражения в языке нет. Можно узнать имя, предков, интерфейсы, сериализовать объект, но нельзя запросить список методов.
  45. Информация о типах в runtime/С++. Можно сравнить типы на точное совпадение, узнать имя типа ([www.hep.wisc.edu/~pinghc/isocppstd/expr.html#expr.typeid typeid]), приводить типы вниз по иерархии наследования.
  46. См. встроенную функцию ref и метод isa
  47. см. TypeTags
  48. Open-source компилятор (интерпретатор)/Smalltalk. В любом диалекте Smalltalk исходники всего, кроме виртуальной машины, (то есть библиотека классов, компилятор в байткод, среда разработки, сторонние библиотеки и пр.) принципиально открыты — это свойство языка. Из основных диалектов исходники виртуальной машины открыты у GNU Smalltalk, Squeak и Strongtalk.
  49. Open-source компилятор (интерпретатор)/Delphi. FreePascal и Lazarus.
  50. Возможность компиляции/Erlang. [www.it.uu.se/research/group/hipe/ HiPE — High Performance Erlang]. Доступен только для *nix-систем.
  51. Существуют PHP-компиляторы, вполне корректно комилирующие любые PHP-скрипты. Например, [www.roadsend.com/home/index.php Roadsend PHP Compiler].
  52. Возможность компиляции/Smalltalk. Стандартная реализация в Smalltalk — это прозрачная компиляция в байт-код (в момент сохранения изменённого исходного кода) с последующим исполнением на виртуальной машине, часто с использованием JIT-компилятора. Однако некоторые диалекты поддерживают прямую компиляцию в машинные коды. В частности, к таким диалектам относятся Smalltalk MT и Smalltalk/X.
  53. Bootstrapping-компилятор/Java. Java Compiler API появилось в версии 6.0.
  54. Narcissus.
  55. Например, SBCL
  56. Bootstrapping-компилятор/Python. [codespeak.net/pypy/dist/pypy/doc/news.html Проект PyPy].
  57. Bootstrapping-компилятор/Smalltalk. Компилятор в байт-коды изначально написан на самом Smalltalk и исполняется внутри виртуальной машины. Кроме этого также есть примеры виртуальных машин Smalltalk, написанных на самом Smalltalk — к ним, в частности, относится виртуальная машина Squeak, написанная на подмножестве Smalltalk, которое потом транслируется в C и компилируется в машинные коды. При этом собственно разработка и отладка виртуальной машины Squeak осуществляется внутри работающей системы Squeak.
  58. Интерпретатор командной строки/Ada. [www.pegasoft.ca/bush.html Business Shell (BUSH)].
  59. 1 2 Интерпретатор командной строки/C++. [root.cern.ch/twiki/bin/view/ROOT/CINT C++ интерпретатор CINT].
  60. Планируется к версии 5.0 языка.
  61. компиляция на лету с помощью rdmd
  62. [developer.mozilla.org/en/docs/Rhino_Shell Rhino Shell].
  63. В диалекте GNU Smalltalk реализована поддержка командной строки.
  64. Интерпретатор командной строки/Delphi. [wiki.freepascal.org/Pascal_Script PascalScript.]
  65. Условная компиляция/Ada. Поскольку использование препроцессора существенно осложняет работу утилит, отличных от компилятора, работающих с исходными текстами, в стандарт эта возможность не входит. Здесь: [www.adacore.com/wp-content/files/auto_update/gnat-unw-docs/html/gnat_ugn_32.html Conditional Compilation] описывается, как можно организовать условно компилируемый код. В качестве резервного варианта предоставляется препроцессор gnatprep.
  66. Условная компиляция/Java. Утверждения (операторы assert) всегда включаются компилятором в байт-код и могут быть разрешены (по умолчанию запрещены, то есть игнорируются) при запуске виртуальной машины ключом -ea/-enableassertion.
  67. [wdh.suncloud.ru/js13.htm#ref3134].
  68. Макросы лиспа позволяют при компиляции вычислять произвольные выражения, включая, естественно, конструкции ветвлений. Кроме того, имеется также примерный аналог #ifdef из Си.[www.lispworks.com/documentation/HyperSpec/Body/02_dhq.htm][www.lispworks.com/documentation/HyperSpec/Body/02_dhr.htm]
  69. Компилятор должен решать, какие классы будут представлены «простыми» типами и будут, в том числе, размещаться в стеке.
  70. Создание объектов на стеке/Haskell. В GHC при помощи Unboxed Types / Unboxed Arrays.
  71. Стандарт языка предусматривает декларацию [www.lispworks.com/documentation/HyperSpec/Body/d_dynami.htm DYNAMIC-EXTENT], которая может трактоваться компилятором как указание выделить место под объект на стеке.
  72. Создание объектов на стеке/Delphi. В Delphi имеется 2 объектных модели — старая (унаследована из Turbo Pascal) и новая. Создание объектов на стеке возможно только в старой объектной модели.
  73. 1 2 3 4 5 6 7 Через FFI (foreign function interface)
  74. Можно с помощью модуля стандартной библиотеки — ctypes.
  75. Неуправляемые указатели/Smalltalk. В Smalltalk есть возможность низкоуровневой работы с памятью, но только в адресном пространстве, предоставляемом виртуальной машиной.
  76. unsafe + System.Runtime.InteropServices
  77. Ручное управление памятью/Smalltalk. При низкоуровневой работе в пространстве памяти, предоставляемом виртуальной машиной, можно вручную создавать и удалять объекты, записывая данные в соответствующие адреса памяти. Аналогично можно вручную управлять размещением объектов в памяти.
  78. Сборка мусора/Ada. Только на некоторых платформах (.NET и JVM) или при помощи библиотек ([adacl.sourceforge.net/pmwiki.php/Main/GarbageCollector AdaCL:GC]). Тем не менее, практически все программы на Ada могут работать как с ним, так и без него. В этом смысле к сборке мусора применительно к Аде следует относиться не как к инженерному решению, а как к оптимизации управления памятью.
  79. Сборка мусора/C. В стандарте языка и в стандартных библиотеках нет сборки мусора. Однако существуют сборщики мусора для C и C++ в виде библиотек. Например, BoehmGC (англоязычный раздел).
  80. В новом стандарте C++0x предполагается сборка мусора для интеллектуальных указателей
  81. Сборка мусора/Delphi. Если не считать Delphi.NET.
  82. Инструкция goto/Java. Является зарезервированным словом.
  83. Специальный оператор [www.lispworks.com/documentation/HyperSpec/Body/s_go.htm GO]. Все конструкции циклов в CL, фактически, являются макросами-надстройками над этой инструкцией.
  84. Целевая метка должна находиться в том же файле, в том же контексте. Имеется ввиду, что вы не можете ни перейти за границы функции или метода, ни перейти внутрь одной из них [php.net/manual/ru/control-structures.goto.php].
  85. Инструкция goto/Ruby. В языке goto нет, но есть [raa.ruby-lang.org/project/ruby-goto/ библиотека] реализующая его.
  86. Инструкция goto/Smalltalk. В стандарте языка goto нет, но существуют библиотеки, реализующие функциональность goto через управление стеком исполнения. Используются крайне редко, это скорее proof of concept (англ.).
  87. Макрос [www.lispworks.com/documentation/HyperSpec/Body/m_return.htm RETURN]. Фактически, является частным случаем [www.lispworks.com/documentation/HyperSpec/Body/s_ret_fr.htm RETURN-FROM].
  88. заменяется исключениями, также реализуется с помощью Camlp4 code.google.com/p/ocaml-break-continue/
  89. Специальный оператор [www.lispworks.com/documentation/HyperSpec/Body/s_ret_fr.htm RETURN-FROM]
  90. Принимает необязательный числовой аргумент, который сообщает ему выполнение какого количества вложенных структур необходимо прервать [php.net/manual/ru/control-structures.break.php].
  91. Есть возможность указать число вложенных циклов, которые нужно прервать
  92. Можно либо повторить выполнение метода, либо пробросить исключение далее
  93. Java-style try-catch блок реализуется макросом handler-case. Кроме того, в возможности системы обработки исключений Common Lisp входит система т. н. перезапусков(restarts), которые позволяют обрабатывать исключения «изнутри» без раскрутки стека вызовов функций
  94. При помощи оператора eval
  95. 1 2 3 При использовании библиотеки [pbosl.purearea.net PBOSL]
  96. Блок finally/Ada. В стандарте языка finally нет, но существуют [www.ada-ru.org/smpl-final библиотеки, реализующие функциональность finally]. Используются крайне редко, это скорее proof of concept (англ.).
  97. [developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Statements:try...catch MDN — MDC]
  98. Специальный оператор [www.lispworks.com/documentation/HyperSpec/Body/s_unwind.htm UNWIND-PROTECT]
  99. 1 2 Начиная с версии 5.5
  100. реализуется на camlp4 bluestorm.info/camlp4/dev/try/pa_tryfinally.ml.html
  101. При помощи нескольких последовательных catch
  102. Java-style try-catch блок реализуется макросом handler-case. Кроме того, в возможности системы обработки исключений Common Lisp входит система т. н. перезапусков(restarts), которые позволяют обрабатывать исключения «сверху» без раскрутки стека вызовов функций
  103. При помощи eval or {…}
  104. Реализован перезапуск тела активного объекта (активности), для этого тело объекта помечается модификатором {SAFE}
  105. Частично реализуются нестандартным модулем [use.perl.org/~chromatic/journal/27491 Runops::Resume]
  106. [www.ruby-doc.org/docs/ProgrammingRuby/html/tut_exceptions.html Ключевое слово retry]
  107. Конструкции yield return, запросы LINQ, в FCL 4.0 войдёт тип Lazy.
  108. Seq-генераторы, модуль Lazy стандартной библиотеки F#.
  109. Однако, данную возможность можно реализовать на макросах
  110. Данная возможность реализована на макросах
  111. Spl-интерфейсы итераторов и конструкция yield, начиная с версии 5.5.
  112. Ленивые вычисления/Ruby. В языке ленивых вычислений нет, но есть [moonbase.rydia.net/software/lazy.rb/ библиотека] реализующая их.
  113. Конструкции Linq.
  114. модуль Lazy стандартной библиотеки Ocaml.
  115. setcontext et al. (UNIX System V and GNU libc)
  116. Реазилуется сторонними библиотеками, например [common-lisp.net/project/cl-cont/ cl-cont]
  117. Только для байт-кода okmij.org/ftp/Computation/Continuations.html#caml-shift
  118. [ddili.org/ders/d.en/fibers.html Fibers]
  119. Легковесные процессы/Java. Вплоть до Java 1.1.
  120. Только в некоторых реализациях.
  121. [perldoc.perl.org/threads.html Следует заметить что это не стандартные легкие процессы]
  122. Легковесные процессы/Python. Используя [www.stackless.com/ Stackless Python].
  123. Класс Fiber в Руби 1.9+
  124. Монадические потоки выполнения, реализованы в библиотеке Lwt
  125. PHP позволяет возвращать из функции/метода массив и разворачивать его конструкцией list что работает также как кортежи, с версии 5.4 появилась возможность разворачивать возвращаемые массивы сразу(array dereferencing)
  126. Ошибка в сносках?: Неверный тег <ref>; для сносок dotnet-tuples не указан текст
  127. 1 2 Алгебраические типы данных/Ada и Delphi. Через механизм вариантных записей.
  128. 1 2 3 4 5 6 7 8 В динамических языках механизм алгебраических типов данных не имеет смысла.
  129. Через механизм case-классов
  130. 1 2 Массивы/Haskell. С помощью Data.Array.
  131. Динамические массивы/C. «Из коробки» данной возможности нет, однако похожий функциональность можно реализовать, используя функцию realloc.
  132. Динамические массивы/Java. С помощью java.util.Vector (в стандартной библиотеке).
  133. map и unordered_map в стандартной библиотеке
  134. Ассоциативные массивы/Java. С помощью java.util.HashMap (в стандартной библиотеке).
  135. Ассоциативные массивы/Haskell. С помощью Data.Map
  136. Контроль границы массивов/С++. Для массивов контроля нет, однако в контейнерах STL, таких как std::vector, std::array есть метод at с контролем границ.
  137. 1 2 Контроль границ массивов/Perl, PHP и JavaScript. В языке нет массивов со статическими границами, присваивание элементу за текущими границами массива просто расширяет границы массива.
  138. Существует только в виде SPL структуры данных. Стандартные массивы не предоставляют контроля границ — присваивание элементу за текущими границами массива — просто расширяет границы массива.
  139. Контроль границ массивов/Ocaml. Можно отключить на этапе компиляции с помощью ключа -unsafe
  140. Цикл foreach/Ada. Методы Iterate и Reverse_Iterate различных контейнеров, входящих в библиотеку Ada.Containers.
  141. Цикл foreach/C++. В C++11 for(auto x : some_array){} — не может изменять элементы, for(auto& x : some_array){} — может изменять элементы.
  142. Цикл foreach/Erlang. В виде функции foreach/3 из модуля lists.
  143. Цикл foreach/JavaScript. С версии 1.6 [developer.mozilla.org/en/docs/New_in_JavaScript_1.6].
  144. Цикл foreach/Lisp. Макрос [www.lispworks.com/documentation/HyperSpec/Body/m_loop.htm LOOP] в составе стандартной библиотеки. Представляет собой «язык в языке» с большим количеством возможностей.
  145. List comprehensions/C#. «Query Comprehension» можно считать за List Comprehension только с большой натяжкой.
  146. LOOP et al.
  147. 1 2 3 Целые числа произвольной длины/.NET. Посредством типа System.Numerics.BigInteger, включенного в FCL версии 4.0.
  148. Целые числа произвольной длины/Java. С помощью классов BigInteger и BigDecimal.
  149. Для вычислений с произвольной точностью PHP предоставляет Двоичный калькулятор, который поддерживает числа любого размера и точности, представленные в виде строк [php.net/manual/ru/book.bc.php] .
  150. Целые числа произвольной длины/Scala. С помощью классов BigInteger и BigDecimal.
  151. Целые числа произвольной длины/OCaml. В помощью модуля Num и Big_int.
  152. Пример: Тип (INTEGER 0 9) включает в себя все цифры от 0 до 9
  153. Целые числа произвольной длины/Perl. С помощью модуля Tie::Scalar.
  154. Интерфейсы традиционно реализуются структурами с указателями на функции, входящие в интерфейс. Пример реализации и использования — библиотеки OpenGL, OpenMAX AL и т. п..
  155. Множественное наследование абстрактных классов
  156. Похожая функциональность реализуется макросами и средствами CLOS.
  157. [perldesignpatterns.com/?AbstractClass Через множественное наследование от классов с методами-заготовками. См]
  158. Могут быть реализованы с помощью паттерна Visitor(Посетитель)
  159. Эмуляция через dynamic
  160. 1 2 3 4 Реализуется сторонними библиотеками
  161. появятся(?) в Perl 6
  162. Могут быть реализованы с помощью наследования шаблонов Примесь (программирование)#.D0.AD.D0.BC.D1.83.D0.BB.D1.8F.D1.86.D0.B8.D1.8F
  163. [groovy.codehaus.org/Category+and+Mixin+transformations Groovy — Category and Mixin transformations]
  164. Начиная с PHP версии 5.4 присутствует в виде trait
  165. Через множественное наследование и/или изменение атрибутов произвольного объекта во время выполнения
  166. Подмешивание реализации интерфейсов через ключевое слово implements. См. страницы 10-7 и 10-8 в [docs.embarcadero.com/products/rad_studio/cbuilder6/EN/CB6_ObjPascalLangGuide_EN.pdf Object Pascal Guide].
  167. Переименование членов при наследовании не поддерживается c++, однако можно сэмулировать через закрытое наследование, открывая члены, которые не нужно переименовать через директиву using, а если нужно переименовать — просто опредилить метод с новым названием и вызвать в нём метод родителя
  168. Только совместное использование посредством виртуального наследования
  169. Для каждого члена класса — выбор дублирование (через переименование), или слияние (иначе, если не было переопределения)
  170. [www.lispworks.com/documentation/HyperSpec/Body/04_ce.htm CLHS: Section 4.3.5]
  171. [www.digitalmars.com/d/2.0/function.html#pure-functions Functions — D Programming Language 2.0 — Digital Mars]
  172. в форме указателей на функции
  173. std::function в c++0x
  174. 1 2 Появились в Delphi2009, как анонимные функции. Ранее — через указатели.
  175. [blog.olendarenko.org.ua/2009/08/c0x.html C++0x. Лямбда-выражения в C++0x]
  176. Анонимные делегаты присутствуют в языке с версии 2.0. В C# 3.0 появились полноценные анонимные функции.
  177. Макрос [www.lispworks.com/documentation/HyperSpec/Body/m_lambda.htm LAMBDA]
  178. С существенными ограничениями
  179. lambda-функции в c++0x поддерживают замыкания как по ссылке, так и по значению
  180. Через анонимные классы
  181. Начиная с версии 5.3
  182. Появились в Delphi2009, как анонимные функции.
  183. boost::bind, std::bind1st, std::bind2nd или сэмулировать с помощью анонимных функций
  184. 1 2 с помощью возвращения делегата
  185. [msdn.microsoft.com/en-us/magazine/gg575560.aspx С помощью Function.prototype.bind]
  186. Реализуется сторонними библиотеками, например [search.cpan.org/~lodin/Sub-Curry-0.8/lib/Sub/Curry.pm Sub::Curry] и [search.cpan.org/~osfameron/Sub-Curried-0.11/lib/Sub/Curried.pm Sub::Curried]
  187. functools.partial в стандартной библиотеке начиная с Python 2.5
  188. с помощью lambda-функций в c++0x
  189. Proc#curry, появился в Ruby 1.9
  190. Начиная с Delphi 2009
  191. 1 2 Макросы/C. Посредством препроцессора C.
  192. Макросы/Haskell. Template Haskell — препроцессор, встроенный в GHC.
  193. Фильтры [perldoc.perl.org/perlfilter.html], в том числе, C/C++ препроцессор Filter::cpp
  194. Встроены в Visual Studio (нет в Express Edition)
  195. Штатный препроцессор camlp4
  196. 1 2 3 4 5 6 7 8 Неприменимо в языках с динамической типизацией.
  197. Generics/Haskell. Прямых аналогов шаблонов в языке нет, однако имеются не менее мощные средства обобщенного программирования.
  198. Generics/Delphi. Доступно начиная с Delphi 2009.
  199. Unicode в идентификаторах/C. Доступно в компиляторах gcc начиная с 4.2
  200. Unicode в идентификаторах/C++. Доступно в компиляторах от MS, начиная с MSVS++ 2005 и в gcc начиная с 4.2
  201. В большинстве современных реализаций
  202. Unicode в идентификаторах/Python. Доступно начиная с Python 3.0.
  203. Unicode в идентификаторах/Ruby. Доступно начиная с Ruby 1.9.
  204. Перегрузка функций/JavaScript. Можно сымитировать, используя проверку передаваемых параметров с помощью рефлексии.
  205. Обобщенные функции можно перегружать по типам или значениям нескольких параметров
  206. Только перегрузка операторов [perldoc.perl.org/overload.html].
  207. 1 2 Перегрузка функций и сопоставление с образцом/Python. Реализовано в сторонней библиотеке [pypi.python.org/pypi/PEAK-Rules PEAK-rules].
  208. [cvs.haskell.org/Hugs/pages/users_guide/implicit-parameters.html implicit-parameters]
  209. макросы [www.lispworks.com/documentation/HyperSpec/Body/m_defpar.htm DEFVAR] и [www.lispworks.com/documentation/HyperSpec/Body/m_defpar.htm DEFPARAMETER], а также декларация [www.lispworks.com/documentation/HyperSpec/Body/d_specia.htm SPECIAL], создают динамические биндинги.
  210. 1 2 Именованные аргументы и параметры по умолчанию/C#. Доступно начиная с C# 4.0.
  211. Именованные параметры/JavaScript. Можно сымитировать, передав в качестве параметра функции объект: f ({param1: "value1", param2: "value2"}).
  212. Спецификатор «&key» в списке аргументов объявляемой функции объявляет именованный параметр.
  213. Именованные параметры/Smalltalk. Можно называть методы в стиле сделатьЧтоНибудьС:используя:и: — в таком случае двоеточия обозначают места, куда будут подставляться параметры при вызове метода, например сделатьЧтоНибудьС: парам1 используя: парам2 и: парам3. Названия подбирают таким образом, чтобы при вызове было понятно, для чего будут использоваться параметры.
  214. Именованные параметры/Delphi: Могут использоваться при вызове OLE: Word.Openfile(filename='1.doc')
  215. Значения параметров по умолчанию/Erlang. Можно сымитировать с помощью арности функции.
  216. «&key» и «&optional» параметры допускают значения по умолчанию
  217. Значения параметров по умолчанию/Perl. Можно элементарно сымитировать, см. [www.devshed.com/c/a/Perl/Perl-Subroutines-Arguments-and-Values/1/].
  218. Локальные функции/С. Поддерживаются в компиляторе gcc как нестандартное расширение языка, см. [gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Nested-Functions.html].
  219. Локальные функции/С++. с помощью lambda-функций в c++0x
  220. Локальные функции/Java. Внутри метода можно определять безымянные (анонимные) локальные классы, которые фактически позволяют создавать экземпляры объектов, перекрывающие методы своего класса.
  221. Специальный оператор [www.lispworks.com/documentation/HyperSpec/Body/s_flet_.htm LABELS]
  222. Макрос [www.lispworks.com/documentation/HyperSpec/Body/m_destru.htm DESTRUCTURING-BIND] и [www.lispworks.com/documentation/HyperSpec/Body/t_eql.htm EQL спецификатор в обобщенных функциях] можно рассматривать как аналоги некоторых подмножеств функциональности сопоставления с образцом.
  223. 1 2 3 Посредством библиотеки [research.microsoft.com/en-us/projects/contracts/ Code Contracts] из состава FCL 4.0.
  224. Контрактное программирование/Java. На основе аннотаций Java 5, используя библиотеку [oval.sourceforge.net/ OVal] и аспектный компилятор [www.eclipse.org/aspectj/ AspectJ], а также iContract [www.javaworld.com/javaworld/jw-02-2001/jw-0216-cooltools.html] .
  225. Контрактное программирование/Haskell. Посредством библиотеки QuickCheck.
  226. 1 2 DirectX через Net, OpenGL через стороннюю библиотеку OpenTK
  227. большинство мультимедийных библиотек доступны через обёртку Derelict
  228. [lisper.ru/wiki/libraries:cl-opengl libraries: cl-opengl]
  229. Существует реализация OpenGL библиотеки для php — [sourceforge.net/projects/phpopengl/ phpOpenGL project] ([github.com/yoya/phpopengl/ Зеркало] на Github)
  230. Объявления структур данных, констант и интерфейсов DirectX, OpenGL присутствуют в стандартной библиотеке языка, есть сторонние врапперы для большинства используемых библиотек, в том числе — игровых, звуковых и физических движков.

Терминология

Парадигмы

Императивная

Противоположность декларативному. Императивный язык должен описывать не столько саму задачу (описание, «ЧТО» нужно получить), сколько её решение («КАК» получить). Некоторыми авторами считается, что данное определение скорее относится к «процедурной» парадигме, которая, помимо императивного, включает в себя функциональное программирование.

Объектно-ориентированная

Основана на представлении всего в виде объектов, являющихся экземплярами того или иного класса и воплощает применение концепции абстрагирования. Объект при этом соединяет внутри себя как данные, так и методы, их обрабатывающие. Как правило, поддерживаются характерные возможности: наследование, инкапсуляция и полиморфизм. Некоторые авторы языки без наследования относят к просто «объектным».

Рефлексивная

Наличие в языке мощных механизмов интроспекции, функции eval. Возможность программы на данном языке оперировать собственным кодом как данными.

Функциональная

Позволяет записывать программу как композицию функций. В чистом функциональном языке нет переменных. Так как функции не имеют побочных эффектов, они могут выполняться в любом порядке.

Обобщенное программирование

Обобщенное программирование позволяет записывать алгоритмы, принимающие данные любого типа.

Логическая

Программа представляет собой описание фактов и правил вывода в некотором логическом исчислении. Желаемый результат, который часто записывается как вопрос, получается системой в результате попытки применения описанных правил — путём логического вывода. Интересными особенностями являются отсутствие детерминированности в общем случае, внутренняя склонность к распараллеливанию.

Доказательная

Направлен на разработку алгоритмов и программ с доказательствами их правильности с использованием спецификаций программ.

Декларативная

Противоположность императивному. Декларативный язык описывает не столько решение задачи, сколько саму задачу («ЧТО» нужно получить), а каким образом получить решение, уже должен определять компьютер.

Распределенная

Язык, содержащий специальные конструкции для поддержки распараллеливания программы на несколько компьютеров.

Типизация

Статическая типизация

(См. статическая типизация). Переменные и параметры методов/функций связываются с типами в момент объявления и не могут быть изменены позже.

Динамическая типизация

(См. динамическая типизация). Переменные и параметры методов/функций связываются с типами в момент присваивания значения (или передачи параметра в метод/функцию), а не в момент объявления переменной или параметра. Одна и та же переменная в разные моменты может хранить значения разных типов.

Явная типизация

Типы переменных и параметров указываются явно.

Неявная типизация

Типы переменных и параметров не указываются явно. Неявная типизация может быть и статической, в таком случае типы переменных и параметров вычисляются компилятором.

Явное приведение типов

Для использования переменной какого-либо типа там, где предполагается использование переменной другого типа, нужно (возможно) явно выполнить преобразование типа.

Неявное приведение типов без потери данных

Неявное приведение типов в таких ситуациях, где не происходит потери данных — например, использование целого числа там, где предполагалось использование числа с плавающей точкой.

Неявное приведение типов с потерей данных

Неявное приведение типов в таких ситуациях, где может произойти потеря данных — например, использование числа с плавающей точкой там, где предполагалось использование целого числа.

Неявное приведение типов в неоднозначных ситуациях

Например, использование строки там, где предполагалось число или наоборот. Классический пример: сложить число 1 со строкой «2» — результат может быть как число 3, так и строка «12». Другой пример — использование целого числа там, где ожидается логическое значение (boolean).

Алиасы типов

Возможность определить видимый глобально (за пределами единицы компиляции) алиас типа, полностью эквивалентный исходному типу. Например, typedef в Си. Директива using в C# не подходит под этот критерий из-за локальной области действия.

Вывод типов переменных из инициализатора

Возможность не указывать явно тип переменной, если для неё задан инициализатор. Если возможность действует для локальных переменных, но не действует для полей класса, все равно ставьте +. Характеристика не применима к языкам с динамической типизацией.

Вывод типов переменных из использования

Возможность не указывать явно тип переменной, если её тип может быть выведен из дальнейшего использования. Если возможность действует для локальных переменных, но не действует для полей класса, все равно ставьте +. Характеристика не применима к языкам с динамической типизацией.

Вывод типов-аргументов при вызове метода

Возможность не указывать явно типы-аргументы при вызове generic-метода, если они могут быть выведены из типов обычных аргументов.

Вывод сигнатуры для локальных функций

Может ли сигнатура локальной функции быть выведена из использования. Неприменимо для языков с динамической типизацией. Ставьте -, если язык не поддерживает локальные функции.

Параметрический полиморфизм

Наличие типобезопасного параметрического полиморфизма (aka generic types). Подразумевает возможность указывать constraints или [en.wikipedia.org/wiki/Type_classes type classes] для типов-параметров.

Параметрический полиморфизм с ковариантностью

Наличие ко- и контравариантных type parameters. В некоторых языках может быть лишь частичная поддержка (например, только в интерфейсах и делегатах). В таком случае, отмечайте +/-.

Параметрический полиморфизм высших порядков

Возможность создавать type constructors высших порядков (как в Scala). См. [web.archive.org/web/20091229052347/www.cs.kuleuven.be/~adriaan/files/higher.pdf Towards Equal Rights for Higher-kinded Types]

Информация о типах в runtime

Возможность узнать точный тип объекта в runtime.

Информация о типах-параметрах в runtime

Возможность узнать в runtime информацию о типе, с которым инстанциирован generic-тип. Если язык не поддерживает generic-типы, то ставьте -. Если информация о типах стирается в runtime (используется erasure), то ставьте -.

Компилятор/интерпретатор

Open-source компилятор (интерпретатор)

Наличие полноценного open-source компилятора (для интерпретируемых языков — интерпретатора). Если существует open-source компилятор, но он поддерживает не все возможности языка, то ставьте +/- или -/+.

Возможность компиляции

Возможность компиляции в нативный код или в byte-код с возможностью JIT-компиляции. Если язык компилируется в код на другом языке (например, C), который потом компилируется в нативный код, то тоже ставьте +.

Bootstrapping

Наличие полноценного bootstrapping-компилятора (то есть компилятора, написанного на том же языке, который он компилирует, и успешно компилирующего самого себя). Если существует bootstrapping-компилятор, но он поддерживает не все возможности языка, то ставьте +/- или -/+.

Многопоточная компиляция

Возможность компилятора на многопроцессорных системах использовать несколько потоков для ускорения компиляции. Если язык не поддерживает компиляцию, то ставьте x (неприменимо).

Интерпретатор командной строки

Возможность вводить инструкции языка строка за строкой с их немедленным выполнением. Может использоваться в качестве калькулятора.

Условная компиляция

Возможность включать/выключать части кода в зависимости от значения символов условной компиляции (например, с помощью #if … #endif в C++)

Управление памятью

Объекты на стеке

Возможность создавать экземпляры объектов не в куче, а на стеке.

Неуправляемые указатели

Наличие неуправляемых указателей, адресная арифметика, прямой доступ к памяти.

Ручное управление памятью

Возможность явного выделения и освобождения памяти в куче (например, с помощью операторов new и delete в C++).

Сборка мусора

Возможность использовать автоматический процесс сборки мусора (освобождения памяти в куче, занятой неиспользуемыми объектами).

Управление потоком вычислений

Инструкция goto

Поддержка инструкции goto (безусловный переход на метку).

Инструкция break без метки

Поддержка инструкции break без метки (безусловный выход из ближайшего цикла), и соответствующей инструкции continue. Наличие в языке инструкции break, относящегося к switch или другой конструкции, не влияет на это поле.

Инструкция break с меткой

Поддержка инструкции break с меткой (безусловный выход из цикла, помеченного меткой), и соответствующей инструкции continue. Наличие в языке инструкции break, относящегося к switch или другой конструкции, не влияет на это поле.

Поддержка try/catch

Поддержка обработки исключений с помощью try/catch или эквивалентной конструкции.

Блок finally

Поддержка блока finally при обработке исключений или эквивалентной конструкции.

Блок else (исключения)

Поддержка блока else при обработке исключений (действия, выполняющиеся при завершении блока try без исключения).

Перезапуски

Исключения, не раскручивающие стек вызовов. Возможность из места перехвата исключения вернуться в место установки перезапуска.

Легковесные процессы

Эмуляция многопоточности рантаймом самого языка. В пределах одного потока ОС (или нескольких) выполняется множество потоков исходного кода

Типы и структуры данных

Многомерные массивы

Наличие встроенных в язык многомерных массивов. Если язык поддерживает только массивы массивов, ставьте +/-

Динамические массивы

Наличие встроенных в язык динамических массивов (способных изменять свой размер во время выполнения программы). Если динамические массивы представлены только векторами (то есть только одномерными массивами) или векторами векторов, ставьте +/-

Ассоциативные массивы

Наличие встроенных в язык ассоциативных массивов или хэш-таблиц.

Цикл foreach

Наличие возможности перебрать все элементы коллекции с помощью цикла foreach. Если в языке есть эквивалентная или более сильная возможность (наподобие list comprehensions), ставьте +.

Списковые включения

Наличие списковых включений (или их аналога).

Кортежи

Возможность вернуть из функции/метода кортеж (tuple) — неименованный тип данных, содержащий несколько безымянных полей произвольного типа.

Целые числа произвольной длины

Поддержка целых чисел неограниченной разрядности. Должна быть возможность записать сколь угодно большое целое число с помощью литерала.

Целые числа с контролем границ

Возможность определить тип, значениями которого могут быть целые числа только определенного интервала, например [-5..27], при этом присвоение переменной такого типа значения, выходящего за указанные рамки, должно вызывать ошибку.

Объектно-ориентированные возможности

Интерфейсы

Семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг, предоставляемых классом.

Множественное наследование

Возможность наследовать класс сразу от нескольких классов (не интерфейсов).

Мультиметоды

Динамическая (run time) диспетчеризация функции в зависимости от типов нескольких аргументов.
В языках с «message passing» ООП похожая функциональность реализуется паттерном «Visitor».

Переименование членов при наследовании

Возможность в наследнике изменить имя поля/метода предка.

Решение конфликта имен при множественном наследовании

При множественном наследовании — решение для случая ромбовидного наследования (B потомок A, C потомок A, D потомок B и C). Решение может приниматься как для всего класса, так и для каждого поля/метода в отдельности.

Функциональные возможности

First class functions

Функции в данном языке являются объектами первого класса.

Лексические замыкания

Возможность использовать локальную или лямбда-функцию (анонимный делегат) за пределами функции-контейнера с автоматическим сохранением контекста (локальных переменных) функции-контейнера

Частичное применение

Возможность фиксировать часть аргументов функции, то есть имея функцию <math> f \colon (A \times B) \to C </math>, создать функцию <math> P(f, a) \colon B \to C </math>, где <math>(P(f, a))(b) = f(a, b)</math>. Не следует путать с каррированием (оператор каррирования — один из вариантов реализации частичного применения).

Разное

Макросы

Наличие в языке макро-системы, обрабатывающей код программы до времени её компиляции и/или выполнения. Например, макросы Лиспа, препроцессор Си или шаблоны С++.

Шаблоны/Generics

Наличие в данном статически типизированном языке инструмента для обобщенного программирования, наподобие templates в C++ или generics в C#.

Поддержка Unicode в идентификаторах

Возможность включения Unicode-символов (например, букв национальных алфавитов) в идентификаторы.

Перегрузка функций

Возможность перегрузки функций/методов по количеству и типам параметров.

Динамические переменные

Возможность создавать переменные, имеющие динамическую область видимости (англ.).

Именованные параметры

Возможность при вызове функции/метода указывать имена параметров и менять их местами.

Значения параметров по умолчанию

Возможность при вызове функции/метода опускать некоторые параметры, чтобы при этом подставлялось значение по умолчанию, указанное при определении функции.

Локальные функции

Возможность определять локальную функцию внутри другой функции/метода. Подразумевается возможность использовать внутри локальной функции локальные переменные из внешнего блока.

Сопоставление с образцом

Наличие сопоставления с образцом.

Контрактное программирование

Возможность задавать пред- и пост-условия для методов и инварианты для классов.

Ссылки

  • [www.rsdn.ru/forum/message/1905860.1.aspx Таблица сравнения языков от создателей D (+ обсуждение на RSDN)]
  • [www.prowiki.org/wiki4d/wiki.cgi?LanguagesVersusD Созданная на её основе поклонниками других языков более объемлющая таблица] (англ.)
  • [www.drdobbs.com/article/printableArticle.jhtml;jsessionid=CWK4ZLY0DXK2JQE1GHRSKHWATMY32JVN?articleId=184401976 Microbenchmarking C++, C#, and Java]  (англ.)

Отрывок, характеризующий Сравнение языков программирования

К четвертому разряду, наконец, причислялось тоже большое количество братьев, в особенности в последнее время вступивших в братство. Это были люди, по наблюдениям Пьера, ни во что не верующие, ничего не желающие, и поступавшие в масонство только для сближения с молодыми богатыми и сильными по связям и знатности братьями, которых весьма много было в ложе.
Пьер начинал чувствовать себя неудовлетворенным своей деятельностью. Масонство, по крайней мере то масонство, которое он знал здесь, казалось ему иногда, основано было на одной внешности. Он и не думал сомневаться в самом масонстве, но подозревал, что русское масонство пошло по ложному пути и отклонилось от своего источника. И потому в конце года Пьер поехал за границу для посвящения себя в высшие тайны ордена.

Летом еще в 1809 году, Пьер вернулся в Петербург. По переписке наших масонов с заграничными было известно, что Безухий успел за границей получить доверие многих высокопоставленных лиц, проник многие тайны, был возведен в высшую степень и везет с собою многое для общего блага каменьщического дела в России. Петербургские масоны все приехали к нему, заискивая в нем, и всем показалось, что он что то скрывает и готовит.
Назначено было торжественное заседание ложи 2 го градуса, в которой Пьер обещал сообщить то, что он имеет передать петербургским братьям от высших руководителей ордена. Заседание было полно. После обыкновенных обрядов Пьер встал и начал свою речь.
– Любезные братья, – начал он, краснея и запинаясь и держа в руке написанную речь. – Недостаточно блюсти в тиши ложи наши таинства – нужно действовать… действовать. Мы находимся в усыплении, а нам нужно действовать. – Пьер взял свою тетрадь и начал читать.
«Для распространения чистой истины и доставления торжества добродетели, читал он, должны мы очистить людей от предрассудков, распространить правила, сообразные с духом времени, принять на себя воспитание юношества, соединиться неразрывными узами с умнейшими людьми, смело и вместе благоразумно преодолевать суеверие, неверие и глупость, образовать из преданных нам людей, связанных между собою единством цели и имеющих власть и силу.
«Для достижения сей цели должно доставить добродетели перевес над пороком, должно стараться, чтобы честный человек обретал еще в сем мире вечную награду за свои добродетели. Но в сих великих намерениях препятствуют нам весьма много – нынешние политические учреждения. Что же делать при таковом положении вещей? Благоприятствовать ли революциям, всё ниспровергнуть, изгнать силу силой?… Нет, мы весьма далеки от того. Всякая насильственная реформа достойна порицания, потому что ни мало не исправит зла, пока люди остаются таковы, каковы они есть, и потому что мудрость не имеет нужды в насилии.
«Весь план ордена должен быть основан на том, чтоб образовать людей твердых, добродетельных и связанных единством убеждения, убеждения, состоящего в том, чтобы везде и всеми силами преследовать порок и глупость и покровительствовать таланты и добродетель: извлекать из праха людей достойных, присоединяя их к нашему братству. Тогда только орден наш будет иметь власть – нечувствительно вязать руки покровителям беспорядка и управлять ими так, чтоб они того не примечали. Одним словом, надобно учредить всеобщий владычествующий образ правления, который распространялся бы над целым светом, не разрушая гражданских уз, и при коем все прочие правления могли бы продолжаться обыкновенным своим порядком и делать всё, кроме того только, что препятствует великой цели нашего ордена, то есть доставлению добродетели торжества над пороком. Сию цель предполагало само христианство. Оно учило людей быть мудрыми и добрыми, и для собственной своей выгоды следовать примеру и наставлениям лучших и мудрейших человеков.
«Тогда, когда всё погружено было во мраке, достаточно было, конечно, одного проповедания: новость истины придавала ей особенную силу, но ныне потребны для нас гораздо сильнейшие средства. Теперь нужно, чтобы человек, управляемый своими чувствами, находил в добродетели чувственные прелести. Нельзя искоренить страстей; должно только стараться направить их к благородной цели, и потому надобно, чтобы каждый мог удовлетворять своим страстям в пределах добродетели, и чтобы наш орден доставлял к тому средства.
«Как скоро будет у нас некоторое число достойных людей в каждом государстве, каждый из них образует опять двух других, и все они тесно между собой соединятся – тогда всё будет возможно для ордена, который втайне успел уже сделать многое ко благу человечества».
Речь эта произвела не только сильное впечатление, но и волнение в ложе. Большинство же братьев, видевшее в этой речи опасные замыслы иллюминатства, с удивившею Пьера холодностью приняло его речь. Великий мастер стал возражать Пьеру. Пьер с большим и большим жаром стал развивать свои мысли. Давно не было столь бурного заседания. Составились партии: одни обвиняли Пьера, осуждая его в иллюминатстве; другие поддерживали его. Пьера в первый раз поразило на этом собрании то бесконечное разнообразие умов человеческих, которое делает то, что никакая истина одинаково не представляется двум людям. Даже те из членов, которые казалось были на его стороне, понимали его по своему, с ограничениями, изменениями, на которые он не мог согласиться, так как главная потребность Пьера состояла именно в том, чтобы передать свою мысль другому точно так, как он сам понимал ее.
По окончании заседания великий мастер с недоброжелательством и иронией сделал Безухому замечание о его горячности и о том, что не одна любовь к добродетели, но и увлечение борьбы руководило им в споре. Пьер не отвечал ему и коротко спросил, будет ли принято его предложение. Ему сказали, что нет, и Пьер, не дожидаясь обычных формальностей, вышел из ложи и уехал домой.


На Пьера опять нашла та тоска, которой он так боялся. Он три дня после произнесения своей речи в ложе лежал дома на диване, никого не принимая и никуда не выезжая.
В это время он получил письмо от жены, которая умоляла его о свидании, писала о своей грусти по нем и о желании посвятить ему всю свою жизнь.
В конце письма она извещала его, что на днях приедет в Петербург из за границы.
Вслед за письмом в уединение Пьера ворвался один из менее других уважаемых им братьев масонов и, наведя разговор на супружеские отношения Пьера, в виде братского совета, высказал ему мысль о том, что строгость его к жене несправедлива, и что Пьер отступает от первых правил масона, не прощая кающуюся.
В это же самое время теща его, жена князя Василья, присылала за ним, умоляя его хоть на несколько минут посетить ее для переговоров о весьма важном деле. Пьер видел, что был заговор против него, что его хотели соединить с женою, и это было даже не неприятно ему в том состоянии, в котором он находился. Ему было всё равно: Пьер ничто в жизни не считал делом большой важности, и под влиянием тоски, которая теперь овладела им, он не дорожил ни своею свободою, ни своим упорством в наказании жены.
«Никто не прав, никто не виноват, стало быть и она не виновата», думал он. – Ежели Пьер не изъявил тотчас же согласия на соединение с женою, то только потому, что в состоянии тоски, в котором он находился, он не был в силах ничего предпринять. Ежели бы жена приехала к нему, он бы теперь не прогнал ее. Разве не всё равно было в сравнении с тем, что занимало Пьера, жить или не жить с женою?
Не отвечая ничего ни жене, ни теще, Пьер раз поздним вечером собрался в дорогу и уехал в Москву, чтобы повидаться с Иосифом Алексеевичем. Вот что писал Пьер в дневнике своем.
«Москва, 17 го ноября.
Сейчас только приехал от благодетеля, и спешу записать всё, что я испытал при этом. Иосиф Алексеевич живет бедно и страдает третий год мучительною болезнью пузыря. Никто никогда не слыхал от него стона, или слова ропота. С утра и до поздней ночи, за исключением часов, в которые он кушает самую простую пищу, он работает над наукой. Он принял меня милостиво и посадил на кровати, на которой он лежал; я сделал ему знак рыцарей Востока и Иерусалима, он ответил мне тем же, и с кроткой улыбкой спросил меня о том, что я узнал и приобрел в прусских и шотландских ложах. Я рассказал ему всё, как умел, передав те основания, которые я предлагал в нашей петербургской ложе и сообщил о дурном приеме, сделанном мне, и о разрыве, происшедшем между мною и братьями. Иосиф Алексеевич, изрядно помолчав и подумав, на всё это изложил мне свой взгляд, который мгновенно осветил мне всё прошедшее и весь будущий путь, предлежащий мне. Он удивил меня, спросив о том, помню ли я, в чем состоит троякая цель ордена: 1) в хранении и познании таинства; 2) в очищении и исправлении себя для воспринятия оного и 3) в исправлении рода человеческого чрез стремление к таковому очищению. Какая есть главнейшая и первая цель из этих трех? Конечно собственное исправление и очищение. Только к этой цели мы можем всегда стремиться независимо от всех обстоятельств. Но вместе с тем эта то цель и требует от нас наиболее трудов, и потому, заблуждаясь гордостью, мы, упуская эту цель, беремся либо за таинство, которое недостойны воспринять по нечистоте своей, либо беремся за исправление рода человеческого, когда сами из себя являем пример мерзости и разврата. Иллюминатство не есть чистое учение именно потому, что оно увлеклось общественной деятельностью и преисполнено гордости. На этом основании Иосиф Алексеевич осудил мою речь и всю мою деятельность. Я согласился с ним в глубине души своей. По случаю разговора нашего о моих семейных делах, он сказал мне: – Главная обязанность истинного масона, как я сказал вам, состоит в совершенствовании самого себя. Но часто мы думаем, что, удалив от себя все трудности нашей жизни, мы скорее достигнем этой цели; напротив, государь мой, сказал он мне, только в среде светских волнений можем мы достигнуть трех главных целей: 1) самопознания, ибо человек может познавать себя только через сравнение, 2) совершенствования, только борьбой достигается оно, и 3) достигнуть главной добродетели – любви к смерти. Только превратности жизни могут показать нам тщету ее и могут содействовать – нашей врожденной любви к смерти или возрождению к новой жизни. Слова эти тем более замечательны, что Иосиф Алексеевич, несмотря на свои тяжкие физические страдания, никогда не тяготится жизнию, а любит смерть, к которой он, несмотря на всю чистоту и высоту своего внутреннего человека, не чувствует еще себя достаточно готовым. Потом благодетель объяснил мне вполне значение великого квадрата мироздания и указал на то, что тройственное и седьмое число суть основание всего. Он советовал мне не отстраняться от общения с петербургскими братьями и, занимая в ложе только должности 2 го градуса, стараться, отвлекая братьев от увлечений гордости, обращать их на истинный путь самопознания и совершенствования. Кроме того для себя лично советовал мне первее всего следить за самим собою, и с этою целью дал мне тетрадь, ту самую, в которой я пишу и буду вписывать впредь все свои поступки».
«Петербург, 23 го ноября.
«Я опять живу с женой. Теща моя в слезах приехала ко мне и сказала, что Элен здесь и что она умоляет меня выслушать ее, что она невинна, что она несчастна моим оставлением, и многое другое. Я знал, что ежели я только допущу себя увидать ее, то не в силах буду более отказать ей в ее желании. В сомнении своем я не знал, к чьей помощи и совету прибегнуть. Ежели бы благодетель был здесь, он бы сказал мне. Я удалился к себе, перечел письма Иосифа Алексеевича, вспомнил свои беседы с ним, и из всего вывел то, что я не должен отказывать просящему и должен подать руку помощи всякому, тем более человеку столь связанному со мною, и должен нести крест свой. Но ежели я для добродетели простил ее, то пускай и будет мое соединение с нею иметь одну духовную цель. Так я решил и так написал Иосифу Алексеевичу. Я сказал жене, что прошу ее забыть всё старое, прошу простить мне то, в чем я мог быть виноват перед нею, а что мне прощать ей нечего. Мне радостно было сказать ей это. Пусть она не знает, как тяжело мне было вновь увидать ее. Устроился в большом доме в верхних покоях и испытываю счастливое чувство обновления».


Как и всегда, и тогда высшее общество, соединяясь вместе при дворе и на больших балах, подразделялось на несколько кружков, имеющих каждый свой оттенок. В числе их самый обширный был кружок французский, Наполеоновского союза – графа Румянцева и Caulaincourt'a. В этом кружке одно из самых видных мест заняла Элен, как только она с мужем поселилась в Петербурге. У нее бывали господа французского посольства и большое количество людей, известных своим умом и любезностью, принадлежавших к этому направлению.
Элен была в Эрфурте во время знаменитого свидания императоров, и оттуда привезла эти связи со всеми Наполеоновскими достопримечательностями Европы. В Эрфурте она имела блестящий успех. Сам Наполеон, заметив ее в театре, сказал про нее: «C'est un superbe animal». [Это прекрасное животное.] Успех ее в качестве красивой и элегантной женщины не удивлял Пьера, потому что с годами она сделалась еще красивее, чем прежде. Но удивляло его то, что за эти два года жена его успела приобрести себе репутацию
«d'une femme charmante, aussi spirituelle, que belle». [прелестной женщины, столь же умной, сколько красивой.] Известный рrince de Ligne [князь де Линь] писал ей письма на восьми страницах. Билибин приберегал свои mots [словечки], чтобы в первый раз сказать их при графине Безуховой. Быть принятым в салоне графини Безуховой считалось дипломом ума; молодые люди прочитывали книги перед вечером Элен, чтобы было о чем говорить в ее салоне, и секретари посольства, и даже посланники, поверяли ей дипломатические тайны, так что Элен была сила в некотором роде. Пьер, который знал, что она была очень глупа, с странным чувством недоуменья и страха иногда присутствовал на ее вечерах и обедах, где говорилось о политике, поэзии и философии. На этих вечерах он испытывал чувство подобное тому, которое должен испытывать фокусник, ожидая всякий раз, что вот вот обман его откроется. Но оттого ли, что для ведения такого салона именно нужна была глупость, или потому что сами обманываемые находили удовольствие в этом обмане, обман не открывался, и репутация d'une femme charmante et spirituelle так непоколебимо утвердилась за Еленой Васильевной Безуховой, что она могла говорить самые большие пошлости и глупости, и всё таки все восхищались каждым ее словом и отыскивали в нем глубокий смысл, которого она сама и не подозревала.
Пьер был именно тем самым мужем, который нужен был для этой блестящей, светской женщины. Он был тот рассеянный чудак, муж grand seigneur [большой барин], никому не мешающий и не только не портящий общего впечатления высокого тона гостиной, но, своей противоположностью изяществу и такту жены, служащий выгодным для нее фоном. Пьер, за эти два года, вследствие своего постоянного сосредоточенного занятия невещественными интересами и искреннего презрения ко всему остальному, усвоил себе в неинтересовавшем его обществе жены тот тон равнодушия, небрежности и благосклонности ко всем, который не приобретается искусственно и который потому то и внушает невольное уважение. Он входил в гостиную своей жены как в театр, со всеми был знаком, всем был одинаково рад и ко всем был одинаково равнодушен. Иногда он вступал в разговор, интересовавший его, и тогда, без соображений о том, были ли тут или нет les messieurs de l'ambassade [служащие при посольстве], шамкая говорил свои мнения, которые иногда были совершенно не в тоне настоящей минуты. Но мнение о чудаке муже de la femme la plus distinguee de Petersbourg [самой замечательной женщины в Петербурге] уже так установилось, что никто не принимал au serux [всерьез] его выходок.
В числе многих молодых людей, ежедневно бывавших в доме Элен, Борис Друбецкой, уже весьма успевший в службе, был после возвращения Элен из Эрфурта, самым близким человеком в доме Безуховых. Элен называла его mon page [мой паж] и обращалась с ним как с ребенком. Улыбка ее в отношении его была та же, как и ко всем, но иногда Пьеру неприятно было видеть эту улыбку. Борис обращался с Пьером с особенной, достойной и грустной почтительностию. Этот оттенок почтительности тоже беспокоил Пьера. Пьер так больно страдал три года тому назад от оскорбления, нанесенного ему женой, что теперь он спасал себя от возможности подобного оскорбления во первых тем, что он не был мужем своей жены, во вторых тем, что он не позволял себе подозревать.
– Нет, теперь сделавшись bas bleu [синим чулком], она навсегда отказалась от прежних увлечений, – говорил он сам себе. – Не было примера, чтобы bas bleu имели сердечные увлечения, – повторял он сам себе неизвестно откуда извлеченное правило, которому несомненно верил. Но, странное дело, присутствие Бориса в гостиной жены (а он был почти постоянно), физически действовало на Пьера: оно связывало все его члены, уничтожало бессознательность и свободу его движений.
– Такая странная антипатия, – думал Пьер, – а прежде он мне даже очень нравился.
В глазах света Пьер был большой барин, несколько слепой и смешной муж знаменитой жены, умный чудак, ничего не делающий, но и никому не вредящий, славный и добрый малый. В душе же Пьера происходила за всё это время сложная и трудная работа внутреннего развития, открывшая ему многое и приведшая его ко многим духовным сомнениям и радостям.


Он продолжал свой дневник, и вот что он писал в нем за это время:
«24 ro ноября.
«Встал в восемь часов, читал Св. Писание, потом пошел к должности (Пьер по совету благодетеля поступил на службу в один из комитетов), возвратился к обеду, обедал один (у графини много гостей, мне неприятных), ел и пил умеренно и после обеда списывал пиесы для братьев. Ввечеру сошел к графине и рассказал смешную историю о Б., и только тогда вспомнил, что этого не должно было делать, когда все уже громко смеялись.
«Ложусь спать с счастливым и спокойным духом. Господи Великий, помоги мне ходить по стезям Твоим, 1) побеждать часть гневну – тихостью, медлением, 2) похоть – воздержанием и отвращением, 3) удаляться от суеты, но не отлучать себя от а) государственных дел службы, b) от забот семейных, с) от дружеских сношений и d) экономических занятий».
«27 го ноября.
«Встал поздно и проснувшись долго лежал на постели, предаваясь лени. Боже мой! помоги мне и укрепи меня, дабы я мог ходить по путям Твоим. Читал Св. Писание, но без надлежащего чувства. Пришел брат Урусов, беседовали о суетах мира. Рассказывал о новых предначертаниях государя. Я начал было осуждать, но вспомнил о своих правилах и слова благодетеля нашего о том, что истинный масон должен быть усердным деятелем в государстве, когда требуется его участие, и спокойным созерцателем того, к чему он не призван. Язык мой – враг мой. Посетили меня братья Г. В. и О., была приуготовительная беседа для принятия нового брата. Они возлагают на меня обязанность ритора. Чувствую себя слабым и недостойным. Потом зашла речь об объяснении семи столбов и ступеней храма. 7 наук, 7 добродетелей, 7 пороков, 7 даров Святого Духа. Брат О. был очень красноречив. Вечером совершилось принятие. Новое устройство помещения много содействовало великолепию зрелища. Принят был Борис Друбецкой. Я предлагал его, я и был ритором. Странное чувство волновало меня во всё время моего пребывания с ним в темной храмине. Я застал в себе к нему чувство ненависти, которое я тщетно стремлюсь преодолеть. И потому то я желал бы истинно спасти его от злого и ввести его на путь истины, но дурные мысли о нем не оставляли меня. Мне думалось, что его цель вступления в братство состояла только в желании сблизиться с людьми, быть в фаворе у находящихся в нашей ложе. Кроме тех оснований, что он несколько раз спрашивал, не находится ли в нашей ложе N. и S. (на что я не мог ему отвечать), кроме того, что он по моим наблюдениям не способен чувствовать уважения к нашему святому Ордену и слишком занят и доволен внешним человеком, чтобы желать улучшения духовного, я не имел оснований сомневаться в нем; но он мне казался неискренним, и всё время, когда я стоял с ним с глазу на глаз в темной храмине, мне казалось, что он презрительно улыбается на мои слова, и хотелось действительно уколоть его обнаженную грудь шпагой, которую я держал, приставленною к ней. Я не мог быть красноречив и не мог искренно сообщить своего сомнения братьям и великому мастеру. Великий Архитектон природы, помоги мне находить истинные пути, выводящие из лабиринта лжи».
После этого в дневнике было пропущено три листа, и потом было написано следующее:
«Имел поучительный и длинный разговор наедине с братом В., который советовал мне держаться брата А. Многое, хотя и недостойному, мне было открыто. Адонаи есть имя сотворившего мир. Элоим есть имя правящего всем. Третье имя, имя поизрекаемое, имеющее значение Всего . Беседы с братом В. подкрепляют, освежают и утверждают меня на пути добродетели. При нем нет места сомнению. Мне ясно различие бедного учения наук общественных с нашим святым, всё обнимающим учением. Науки человеческие всё подразделяют – чтобы понять, всё убивают – чтобы рассмотреть. В святой науке Ордена всё едино, всё познается в своей совокупности и жизни. Троица – три начала вещей – сера, меркурий и соль. Сера елейного и огненного свойства; она в соединении с солью, огненностью своей возбуждает в ней алкание, посредством которого притягивает меркурий, схватывает его, удерживает и совокупно производит отдельные тела. Меркурий есть жидкая и летучая духовная сущность – Христос, Дух Святой, Он».
«3 го декабря.
«Проснулся поздно, читал Св. Писание, но был бесчувствен. После вышел и ходил по зале. Хотел размышлять, но вместо того воображение представило одно происшествие, бывшее четыре года тому назад. Господин Долохов, после моей дуэли встретясь со мной в Москве, сказал мне, что он надеется, что я пользуюсь теперь полным душевным спокойствием, несмотря на отсутствие моей супруги. Я тогда ничего не отвечал. Теперь я припомнил все подробности этого свидания и в душе своей говорил ему самые злобные слова и колкие ответы. Опомнился и бросил эту мысль только тогда, когда увидал себя в распалении гнева; но недостаточно раскаялся в этом. После пришел Борис Друбецкой и стал рассказывать разные приключения; я же с самого его прихода сделался недоволен его посещением и сказал ему что то противное. Он возразил. Я вспыхнул и наговорил ему множество неприятного и даже грубого. Он замолчал и я спохватился только тогда, когда было уже поздно. Боже мой, я совсем не умею с ним обходиться. Этому причиной мое самолюбие. Я ставлю себя выше его и потому делаюсь гораздо его хуже, ибо он снисходителен к моим грубостям, а я напротив того питаю к нему презрение. Боже мой, даруй мне в присутствии его видеть больше мою мерзость и поступать так, чтобы и ему это было полезно. После обеда заснул и в то время как засыпал, услыхал явственно голос, сказавший мне в левое ухо: – „Твой день“.
«Я видел во сне, что иду я в темноте, и вдруг окружен собаками, но иду без страха; вдруг одна небольшая схватила меня за левое стегно зубами и не выпускает. Я стал давить ее руками. И только что я оторвал ее, как другая, еще большая, стала грызть меня. Я стал поднимать ее и чем больше поднимал, тем она становилась больше и тяжеле. И вдруг идет брат А. и взяв меня под руку, повел с собою и привел к зданию, для входа в которое надо было пройти по узкой доске. Я ступил на нее и доска отогнулась и упала, и я стал лезть на забор, до которого едва достигал руками. После больших усилий я перетащил свое тело так, что ноги висели на одной, а туловище на другой стороне. Я оглянулся и увидал, что брат А. стоит на заборе и указывает мне на большую аллею и сад, и в саду большое и прекрасное здание. Я проснулся. Господи, Великий Архитектон природы! помоги мне оторвать от себя собак – страстей моих и последнюю из них, совокупляющую в себе силы всех прежних, и помоги мне вступить в тот храм добродетели, коего лицезрения я во сне достигнул».
«7 го декабря.
«Видел сон, будто Иосиф Алексеевич в моем доме сидит, я рад очень, и желаю угостить его. Будто я с посторонними неумолчно болтаю и вдруг вспомнил, что это ему не может нравиться, и желаю к нему приблизиться и его обнять. Но только что приблизился, вижу, что лицо его преобразилось, стало молодое, и он мне тихо что то говорит из ученья Ордена, так тихо, что я не могу расслышать. Потом, будто, вышли мы все из комнаты, и что то тут случилось мудреное. Мы сидели или лежали на полу. Он мне что то говорил. А мне будто захотелось показать ему свою чувствительность и я, не вслушиваясь в его речи, стал себе воображать состояние своего внутреннего человека и осенившую меня милость Божию. И появились у меня слезы на глазах, и я был доволен, что он это приметил. Но он взглянул на меня с досадой и вскочил, пресекши свой разговор. Я обробел и спросил, не ко мне ли сказанное относилось; но он ничего не отвечал, показал мне ласковый вид, и после вдруг очутились мы в спальне моей, где стоит двойная кровать. Он лег на нее на край, и я будто пылал к нему желанием ласкаться и прилечь тут же. И он будто у меня спрашивает: „Скажите по правде, какое вы имеете главное пристрастие? Узнали ли вы его? Я думаю, что вы уже его узнали“. Я, смутившись сим вопросом, отвечал, что лень мое главное пристрастие. Он недоверчиво покачал головой. И я ему, еще более смутившись, отвечал, что я, хотя и живу с женою, по его совету, но не как муж жены своей. На это он возразил, что не должно жену лишать своей ласки, дал чувствовать, что в этом была моя обязанность. Но я отвечал, что я стыжусь этого, и вдруг всё скрылось. И я проснулся, и нашел в мыслях своих текст Св. Писания: Живот бе свет человеком, и свет во тме светит и тма его не объят . Лицо у Иосифа Алексеевича было моложавое и светлое. В этот день получил письмо от благодетеля, в котором он пишет об обязанностях супружества».
«9 го декабря.
«Видел сон, от которого проснулся с трепещущимся сердцем. Видел, будто я в Москве, в своем доме, в большой диванной, и из гостиной выходит Иосиф Алексеевич. Будто я тотчас узнал, что с ним уже совершился процесс возрождения, и бросился ему на встречу. Я будто его целую, и руки его, а он говорит: „Приметил ли ты, что у меня лицо другое?“ Я посмотрел на него, продолжая держать его в своих объятиях, и будто вижу, что лицо его молодое, но волос на голове нет, и черты совершенно другие. И будто я ему говорю: „Я бы вас узнал, ежели бы случайно с вами встретился“, и думаю между тем: „Правду ли я сказал?“ И вдруг вижу, что он лежит как труп мертвый; потом понемногу пришел в себя и вошел со мной в большой кабинет, держа большую книгу, писанную, в александрийский лист. И будто я говорю: „это я написал“. И он ответил мне наклонением головы. Я открыл книгу, и в книге этой на всех страницах прекрасно нарисовано. И я будто знаю, что эти картины представляют любовные похождения души с ее возлюбленным. И на страницах будто я вижу прекрасное изображение девицы в прозрачной одежде и с прозрачным телом, возлетающей к облакам. И будто я знаю, что эта девица есть ничто иное, как изображение Песни песней. И будто я, глядя на эти рисунки, чувствую, что я делаю дурно, и не могу оторваться от них. Господи, помоги мне! Боже мой, если это оставление Тобою меня есть действие Твое, то да будет воля Твоя; но ежели же я сам причинил сие, то научи меня, что мне делать. Я погибну от своей развратности, буде Ты меня вовсе оставишь».


Денежные дела Ростовых не поправились в продолжение двух лет, которые они пробыли в деревне.
Несмотря на то, что Николай Ростов, твердо держась своего намерения, продолжал темно служить в глухом полку, расходуя сравнительно мало денег, ход жизни в Отрадном был таков, и в особенности Митенька так вел дела, что долги неудержимо росли с каждым годом. Единственная помощь, которая очевидно представлялась старому графу, это была служба, и он приехал в Петербург искать места; искать места и вместе с тем, как он говорил, в последний раз потешить девчат.
Вскоре после приезда Ростовых в Петербург, Берг сделал предложение Вере, и предложение его было принято.
Несмотря на то, что в Москве Ростовы принадлежали к высшему обществу, сами того не зная и не думая о том, к какому они принадлежали обществу, в Петербурге общество их было смешанное и неопределенное. В Петербурге они были провинциалы, до которых не спускались те самые люди, которых, не спрашивая их к какому они принадлежат обществу, в Москве кормили Ростовы.
Ростовы в Петербурге жили так же гостеприимно, как и в Москве, и на их ужинах сходились самые разнообразные лица: соседи по Отрадному, старые небогатые помещики с дочерьми и фрейлина Перонская, Пьер Безухов и сын уездного почтмейстера, служивший в Петербурге. Из мужчин домашними людьми в доме Ростовых в Петербурге очень скоро сделались Борис, Пьер, которого, встретив на улице, затащил к себе старый граф, и Берг, который целые дни проводил у Ростовых и оказывал старшей графине Вере такое внимание, которое может оказывать молодой человек, намеревающийся сделать предложение.
Берг недаром показывал всем свою раненую в Аустерлицком сражении правую руку и держал совершенно не нужную шпагу в левой. Он так упорно и с такою значительностью рассказывал всем это событие, что все поверили в целесообразность и достоинство этого поступка, и Берг получил за Аустерлиц две награды.
В Финляндской войне ему удалось также отличиться. Он поднял осколок гранаты, которым был убит адъютант подле главнокомандующего и поднес начальнику этот осколок. Так же как и после Аустерлица, он так долго и упорно рассказывал всем про это событие, что все поверили тоже, что надо было это сделать, и за Финляндскую войну Берг получил две награды. В 19 м году он был капитан гвардии с орденами и занимал в Петербурге какие то особенные выгодные места.
Хотя некоторые вольнодумцы и улыбались, когда им говорили про достоинства Берга, нельзя было не согласиться, что Берг был исправный, храбрый офицер, на отличном счету у начальства, и нравственный молодой человек с блестящей карьерой впереди и даже прочным положением в обществе.
Четыре года тому назад, встретившись в партере московского театра с товарищем немцем, Берг указал ему на Веру Ростову и по немецки сказал: «Das soll mein Weib werden», [Она должна быть моей женой,] и с той минуты решил жениться на ней. Теперь, в Петербурге, сообразив положение Ростовых и свое, он решил, что пришло время, и сделал предложение.
Предложение Берга было принято сначала с нелестным для него недоумением. Сначала представилось странно, что сын темного, лифляндского дворянина делает предложение графине Ростовой; но главное свойство характера Берга состояло в таком наивном и добродушном эгоизме, что невольно Ростовы подумали, что это будет хорошо, ежели он сам так твердо убежден, что это хорошо и даже очень хорошо. Притом же дела Ростовых были очень расстроены, чего не мог не знать жених, а главное, Вере было 24 года, она выезжала везде, и, несмотря на то, что она несомненно была хороша и рассудительна, до сих пор никто никогда ей не сделал предложения. Согласие было дано.
– Вот видите ли, – говорил Берг своему товарищу, которого он называл другом только потому, что он знал, что у всех людей бывают друзья. – Вот видите ли, я всё это сообразил, и я бы не женился, ежели бы не обдумал всего, и это почему нибудь было бы неудобно. А теперь напротив, папенька и маменька мои теперь обеспечены, я им устроил эту аренду в Остзейском крае, а мне прожить можно в Петербурге при моем жалованьи, при ее состоянии и при моей аккуратности. Прожить можно хорошо. Я не из за денег женюсь, я считаю это неблагородно, но надо, чтоб жена принесла свое, а муж свое. У меня служба – у нее связи и маленькие средства. Это в наше время что нибудь такое значит, не так ли? А главное она прекрасная, почтенная девушка и любит меня…
Берг покраснел и улыбнулся.
– И я люблю ее, потому что у нее характер рассудительный – очень хороший. Вот другая ее сестра – одной фамилии, а совсем другое, и неприятный характер, и ума нет того, и эдакое, знаете?… Неприятно… А моя невеста… Вот будете приходить к нам… – продолжал Берг, он хотел сказать обедать, но раздумал и сказал: «чай пить», и, проткнув его быстро языком, выпустил круглое, маленькое колечко табачного дыма, олицетворявшее вполне его мечты о счастьи.
Подле первого чувства недоуменья, возбужденного в родителях предложением Берга, в семействе водворилась обычная в таких случаях праздничность и радость, но радость была не искренняя, а внешняя. В чувствах родных относительно этой свадьбы были заметны замешательство и стыдливость. Как будто им совестно было теперь за то, что они мало любили Веру, и теперь так охотно сбывали ее с рук. Больше всех смущен был старый граф. Он вероятно не умел бы назвать того, что было причиной его смущенья, а причина эта была его денежные дела. Он решительно не знал, что у него есть, сколько у него долгов и что он в состоянии будет дать в приданое Вере. Когда родились дочери, каждой было назначено по 300 душ в приданое; но одна из этих деревень была уж продана, другая заложена и так просрочена, что должна была продаваться, поэтому отдать имение было невозможно. Денег тоже не было.
Берг уже более месяца был женихом и только неделя оставалась до свадьбы, а граф еще не решил с собой вопроса о приданом и не говорил об этом с женою. Граф то хотел отделить Вере рязанское именье, то хотел продать лес, то занять денег под вексель. За несколько дней до свадьбы Берг вошел рано утром в кабинет к графу и с приятной улыбкой почтительно попросил будущего тестя объявить ему, что будет дано за графиней Верой. Граф так смутился при этом давно предчувствуемом вопросе, что сказал необдуманно первое, что пришло ему в голову.
– Люблю, что позаботился, люблю, останешься доволен…
И он, похлопав Берга по плечу, встал, желая прекратить разговор. Но Берг, приятно улыбаясь, объяснил, что, ежели он не будет знать верно, что будет дано за Верой, и не получит вперед хотя части того, что назначено ей, то он принужден будет отказаться.
– Потому что рассудите, граф, ежели бы я теперь позволил себе жениться, не имея определенных средств для поддержания своей жены, я поступил бы подло…
Разговор кончился тем, что граф, желая быть великодушным и не подвергаться новым просьбам, сказал, что он выдает вексель в 80 тысяч. Берг кротко улыбнулся, поцеловал графа в плечо и сказал, что он очень благодарен, но никак не может теперь устроиться в новой жизни, не получив чистыми деньгами 30 тысяч. – Хотя бы 20 тысяч, граф, – прибавил он; – а вексель тогда только в 60 тысяч.
– Да, да, хорошо, – скороговоркой заговорил граф, – только уж извини, дружок, 20 тысяч я дам, а вексель кроме того на 80 тысяч дам. Так то, поцелуй меня.


Наташе было 16 лет, и был 1809 год, тот самый, до которого она четыре года тому назад по пальцам считала с Борисом после того, как она с ним поцеловалась. С тех пор она ни разу не видала Бориса. Перед Соней и с матерью, когда разговор заходил о Борисе, она совершенно свободно говорила, как о деле решенном, что всё, что было прежде, – было ребячество, про которое не стоило и говорить, и которое давно было забыто. Но в самой тайной глубине ее души, вопрос о том, было ли обязательство к Борису шуткой или важным, связывающим обещанием, мучил ее.
С самых тех пор, как Борис в 1805 году из Москвы уехал в армию, он не видался с Ростовыми. Несколько раз он бывал в Москве, проезжал недалеко от Отрадного, но ни разу не был у Ростовых.
Наташе приходило иногда к голову, что он не хотел видеть ее, и эти догадки ее подтверждались тем грустным тоном, которым говаривали о нем старшие:
– В нынешнем веке не помнят старых друзей, – говорила графиня вслед за упоминанием о Борисе.
Анна Михайловна, в последнее время реже бывавшая у Ростовых, тоже держала себя как то особенно достойно, и всякий раз восторженно и благодарно говорила о достоинствах своего сына и о блестящей карьере, на которой он находился. Когда Ростовы приехали в Петербург, Борис приехал к ним с визитом.
Он ехал к ним не без волнения. Воспоминание о Наташе было самым поэтическим воспоминанием Бориса. Но вместе с тем он ехал с твердым намерением ясно дать почувствовать и ей, и родным ее, что детские отношения между ним и Наташей не могут быть обязательством ни для нее, ни для него. У него было блестящее положение в обществе, благодаря интимности с графиней Безуховой, блестящее положение на службе, благодаря покровительству важного лица, доверием которого он вполне пользовался, и у него были зарождающиеся планы женитьбы на одной из самых богатых невест Петербурга, которые очень легко могли осуществиться. Когда Борис вошел в гостиную Ростовых, Наташа была в своей комнате. Узнав о его приезде, она раскрасневшись почти вбежала в гостиную, сияя более чем ласковой улыбкой.
Борис помнил ту Наташу в коротеньком платье, с черными, блестящими из под локон глазами и с отчаянным, детским смехом, которую он знал 4 года тому назад, и потому, когда вошла совсем другая Наташа, он смутился, и лицо его выразило восторженное удивление. Это выражение его лица обрадовало Наташу.
– Что, узнаешь свою маленькую приятельницу шалунью? – сказала графиня. Борис поцеловал руку Наташи и сказал, что он удивлен происшедшей в ней переменой.
– Как вы похорошели!
«Еще бы!», отвечали смеющиеся глаза Наташи.
– А папа постарел? – спросила она. Наташа села и, не вступая в разговор Бориса с графиней, молча рассматривала своего детского жениха до малейших подробностей. Он чувствовал на себе тяжесть этого упорного, ласкового взгляда и изредка взглядывал на нее.
Мундир, шпоры, галстук, прическа Бориса, всё это было самое модное и сomme il faut [вполне порядочно]. Это сейчас заметила Наташа. Он сидел немножко боком на кресле подле графини, поправляя правой рукой чистейшую, облитую перчатку на левой, говорил с особенным, утонченным поджатием губ об увеселениях высшего петербургского света и с кроткой насмешливостью вспоминал о прежних московских временах и московских знакомых. Не нечаянно, как это чувствовала Наташа, он упомянул, называя высшую аристократию, о бале посланника, на котором он был, о приглашениях к NN и к SS.
Наташа сидела всё время молча, исподлобья глядя на него. Взгляд этот всё больше и больше, и беспокоил, и смущал Бориса. Он чаще оглядывался на Наташу и прерывался в рассказах. Он просидел не больше 10 минут и встал, раскланиваясь. Всё те же любопытные, вызывающие и несколько насмешливые глаза смотрели на него. После первого своего посещения, Борис сказал себе, что Наташа для него точно так же привлекательна, как и прежде, но что он не должен отдаваться этому чувству, потому что женитьба на ней – девушке почти без состояния, – была бы гибелью его карьеры, а возобновление прежних отношений без цели женитьбы было бы неблагородным поступком. Борис решил сам с собою избегать встреч с Наташей, нo, несмотря на это решение, приехал через несколько дней и стал ездить часто и целые дни проводить у Ростовых. Ему представлялось, что ему необходимо было объясниться с Наташей, сказать ей, что всё старое должно быть забыто, что, несмотря на всё… она не может быть его женой, что у него нет состояния, и ее никогда не отдадут за него. Но ему всё не удавалось и неловко было приступить к этому объяснению. С каждым днем он более и более запутывался. Наташа, по замечанию матери и Сони, казалась по старому влюбленной в Бориса. Она пела ему его любимые песни, показывала ему свой альбом, заставляла его писать в него, не позволяла поминать ему о старом, давая понимать, как прекрасно было новое; и каждый день он уезжал в тумане, не сказав того, что намерен был сказать, сам не зная, что он делал и для чего он приезжал, и чем это кончится. Борис перестал бывать у Элен, ежедневно получал укоризненные записки от нее и всё таки целые дни проводил у Ростовых.


Однажды вечером, когда старая графиня, вздыхая и крехтя, в ночном чепце и кофточке, без накладных буклей, и с одним бедным пучком волос, выступавшим из под белого, коленкорового чепчика, клала на коврике земные поклоны вечерней молитвы, ее дверь скрипнула, и в туфлях на босу ногу, тоже в кофточке и в папильотках, вбежала Наташа. Графиня оглянулась и нахмурилась. Она дочитывала свою последнюю молитву: «Неужели мне одр сей гроб будет?» Молитвенное настроение ее было уничтожено. Наташа, красная, оживленная, увидав мать на молитве, вдруг остановилась на своем бегу, присела и невольно высунула язык, грозясь самой себе. Заметив, что мать продолжала молитву, она на цыпочках подбежала к кровати, быстро скользнув одной маленькой ножкой о другую, скинула туфли и прыгнула на тот одр, за который графиня боялась, как бы он не был ее гробом. Одр этот был высокий, перинный, с пятью всё уменьшающимися подушками. Наташа вскочила, утонула в перине, перевалилась к стенке и начала возиться под одеялом, укладываясь, подгибая коленки к подбородку, брыкая ногами и чуть слышно смеясь, то закрываясь с головой, то взглядывая на мать. Графиня кончила молитву и с строгим лицом подошла к постели; но, увидав, что Наташа закрыта с головой, улыбнулась своей доброй, слабой улыбкой.
– Ну, ну, ну, – сказала мать.
– Мама, можно поговорить, да? – сказала Hаташa. – Ну, в душку один раз, ну еще, и будет. – И она обхватила шею матери и поцеловала ее под подбородок. В обращении своем с матерью Наташа выказывала внешнюю грубость манеры, но так была чутка и ловка, что как бы она ни обхватила руками мать, она всегда умела это сделать так, чтобы матери не было ни больно, ни неприятно, ни неловко.
– Ну, об чем же нынче? – сказала мать, устроившись на подушках и подождав, пока Наташа, также перекатившись раза два через себя, не легла с ней рядом под одним одеялом, выпростав руки и приняв серьезное выражение.
Эти ночные посещения Наташи, совершавшиеся до возвращения графа из клуба, были одним из любимейших наслаждений матери и дочери.
– Об чем же нынче? А мне нужно тебе сказать…
Наташа закрыла рукою рот матери.
– О Борисе… Я знаю, – сказала она серьезно, – я затем и пришла. Не говорите, я знаю. Нет, скажите! – Она отпустила руку. – Скажите, мама. Он мил?
– Наташа, тебе 16 лет, в твои года я была замужем. Ты говоришь, что Боря мил. Он очень мил, и я его люблю как сына, но что же ты хочешь?… Что ты думаешь? Ты ему совсем вскружила голову, я это вижу…
Говоря это, графиня оглянулась на дочь. Наташа лежала, прямо и неподвижно глядя вперед себя на одного из сфинксов красного дерева, вырезанных на углах кровати, так что графиня видела только в профиль лицо дочери. Лицо это поразило графиню своей особенностью серьезного и сосредоточенного выражения.
Наташа слушала и соображала.
– Ну так что ж? – сказала она.
– Ты ему вскружила совсем голову, зачем? Что ты хочешь от него? Ты знаешь, что тебе нельзя выйти за него замуж.
– Отчего? – не переменяя положения, сказала Наташа.
– Оттого, что он молод, оттого, что он беден, оттого, что он родня… оттого, что ты и сама не любишь его.
– А почему вы знаете?
– Я знаю. Это не хорошо, мой дружок.
– А если я хочу… – сказала Наташа.
– Перестань говорить глупости, – сказала графиня.
– А если я хочу…
– Наташа, я серьезно…
Наташа не дала ей договорить, притянула к себе большую руку графини и поцеловала ее сверху, потом в ладонь, потом опять повернула и стала целовать ее в косточку верхнего сустава пальца, потом в промежуток, потом опять в косточку, шопотом приговаривая: «январь, февраль, март, апрель, май».
– Говорите, мама, что же вы молчите? Говорите, – сказала она, оглядываясь на мать, которая нежным взглядом смотрела на дочь и из за этого созерцания, казалось, забыла всё, что она хотела сказать.
– Это не годится, душа моя. Не все поймут вашу детскую связь, а видеть его таким близким с тобой может повредить тебе в глазах других молодых людей, которые к нам ездят, и, главное, напрасно мучает его. Он, может быть, нашел себе партию по себе, богатую; а теперь он с ума сходит.
– Сходит? – повторила Наташа.
– Я тебе про себя скажу. У меня был один cousin…
– Знаю – Кирилла Матвеич, да ведь он старик?
– Не всегда был старик. Но вот что, Наташа, я поговорю с Борей. Ему не надо так часто ездить…
– Отчего же не надо, коли ему хочется?
– Оттого, что я знаю, что это ничем не кончится.
– Почему вы знаете? Нет, мама, вы не говорите ему. Что за глупости! – говорила Наташа тоном человека, у которого хотят отнять его собственность.
– Ну не выйду замуж, так пускай ездит, коли ему весело и мне весело. – Наташа улыбаясь поглядела на мать.
– Не замуж, а так , – повторила она.
– Как же это, мой друг?
– Да так . Ну, очень нужно, что замуж не выйду, а… так .
– Так, так, – повторила графиня и, трясясь всем своим телом, засмеялась добрым, неожиданным старушечьим смехом.
– Полноте смеяться, перестаньте, – закричала Наташа, – всю кровать трясете. Ужасно вы на меня похожи, такая же хохотунья… Постойте… – Она схватила обе руки графини, поцеловала на одной кость мизинца – июнь, и продолжала целовать июль, август на другой руке. – Мама, а он очень влюблен? Как на ваши глаза? В вас были так влюблены? И очень мил, очень, очень мил! Только не совсем в моем вкусе – он узкий такой, как часы столовые… Вы не понимаете?…Узкий, знаете, серый, светлый…
– Что ты врешь! – сказала графиня.
Наташа продолжала:
– Неужели вы не понимаете? Николенька бы понял… Безухий – тот синий, темно синий с красным, и он четвероугольный.
– Ты и с ним кокетничаешь, – смеясь сказала графиня.
– Нет, он франмасон, я узнала. Он славный, темно синий с красным, как вам растолковать…
– Графинюшка, – послышался голос графа из за двери. – Ты не спишь? – Наташа вскочила босиком, захватила в руки туфли и убежала в свою комнату.
Она долго не могла заснуть. Она всё думала о том, что никто никак не может понять всего, что она понимает, и что в ней есть.
«Соня?» подумала она, глядя на спящую, свернувшуюся кошечку с ее огромной косой. «Нет, куда ей! Она добродетельная. Она влюбилась в Николеньку и больше ничего знать не хочет. Мама, и та не понимает. Это удивительно, как я умна и как… она мила», – продолжала она, говоря про себя в третьем лице и воображая, что это говорит про нее какой то очень умный, самый умный и самый хороший мужчина… «Всё, всё в ней есть, – продолжал этот мужчина, – умна необыкновенно, мила и потом хороша, необыкновенно хороша, ловка, – плавает, верхом ездит отлично, а голос! Можно сказать, удивительный голос!» Она пропела свою любимую музыкальную фразу из Херубиниевской оперы, бросилась на постель, засмеялась от радостной мысли, что она сейчас заснет, крикнула Дуняшу потушить свечку, и еще Дуняша не успела выйти из комнаты, как она уже перешла в другой, еще более счастливый мир сновидений, где всё было так же легко и прекрасно, как и в действительности, но только было еще лучше, потому что было по другому.

На другой день графиня, пригласив к себе Бориса, переговорила с ним, и с того дня он перестал бывать у Ростовых.


31 го декабря, накануне нового 1810 года, le reveillon [ночной ужин], был бал у Екатерининского вельможи. На бале должен был быть дипломатический корпус и государь.
На Английской набережной светился бесчисленными огнями иллюминации известный дом вельможи. У освещенного подъезда с красным сукном стояла полиция, и не одни жандармы, но полицеймейстер на подъезде и десятки офицеров полиции. Экипажи отъезжали, и всё подъезжали новые с красными лакеями и с лакеями в перьях на шляпах. Из карет выходили мужчины в мундирах, звездах и лентах; дамы в атласе и горностаях осторожно сходили по шумно откладываемым подножкам, и торопливо и беззвучно проходили по сукну подъезда.
Почти всякий раз, как подъезжал новый экипаж, в толпе пробегал шопот и снимались шапки.
– Государь?… Нет, министр… принц… посланник… Разве не видишь перья?… – говорилось из толпы. Один из толпы, одетый лучше других, казалось, знал всех, и называл по имени знатнейших вельмож того времени.
Уже одна треть гостей приехала на этот бал, а у Ростовых, долженствующих быть на этом бале, еще шли торопливые приготовления одевания.
Много было толков и приготовлений для этого бала в семействе Ростовых, много страхов, что приглашение не будет получено, платье не будет готово, и не устроится всё так, как было нужно.
Вместе с Ростовыми ехала на бал Марья Игнатьевна Перонская, приятельница и родственница графини, худая и желтая фрейлина старого двора, руководящая провинциальных Ростовых в высшем петербургском свете.
В 10 часов вечера Ростовы должны были заехать за фрейлиной к Таврическому саду; а между тем было уже без пяти минут десять, а еще барышни не были одеты.
Наташа ехала на первый большой бал в своей жизни. Она в этот день встала в 8 часов утра и целый день находилась в лихорадочной тревоге и деятельности. Все силы ее, с самого утра, были устремлены на то, чтобы они все: она, мама, Соня были одеты как нельзя лучше. Соня и графиня поручились вполне ей. На графине должно было быть масака бархатное платье, на них двух белые дымковые платья на розовых, шелковых чехлах с розанами в корсаже. Волоса должны были быть причесаны a la grecque [по гречески].
Все существенное уже было сделано: ноги, руки, шея, уши были уже особенно тщательно, по бальному, вымыты, надушены и напудрены; обуты уже были шелковые, ажурные чулки и белые атласные башмаки с бантиками; прически были почти окончены. Соня кончала одеваться, графиня тоже; но Наташа, хлопотавшая за всех, отстала. Она еще сидела перед зеркалом в накинутом на худенькие плечи пеньюаре. Соня, уже одетая, стояла посреди комнаты и, нажимая до боли маленьким пальцем, прикалывала последнюю визжавшую под булавкой ленту.
– Не так, не так, Соня, – сказала Наташа, поворачивая голову от прически и хватаясь руками за волоса, которые не поспела отпустить державшая их горничная. – Не так бант, поди сюда. – Соня присела. Наташа переколола ленту иначе.
– Позвольте, барышня, нельзя так, – говорила горничная, державшая волоса Наташи.
– Ах, Боже мой, ну после! Вот так, Соня.
– Скоро ли вы? – послышался голос графини, – уж десять сейчас.
– Сейчас, сейчас. – А вы готовы, мама?
– Только току приколоть.
– Не делайте без меня, – крикнула Наташа: – вы не сумеете!
– Да уж десять.
На бале решено было быть в половине одиннадцатого, a надо было еще Наташе одеться и заехать к Таврическому саду.
Окончив прическу, Наташа в коротенькой юбке, из под которой виднелись бальные башмачки, и в материнской кофточке, подбежала к Соне, осмотрела ее и потом побежала к матери. Поворачивая ей голову, она приколола току, и, едва успев поцеловать ее седые волосы, опять побежала к девушкам, подшивавшим ей юбку.
Дело стояло за Наташиной юбкой, которая была слишком длинна; ее подшивали две девушки, обкусывая торопливо нитки. Третья, с булавками в губах и зубах, бегала от графини к Соне; четвертая держала на высоко поднятой руке всё дымковое платье.
– Мавруша, скорее, голубушка!
– Дайте наперсток оттуда, барышня.
– Скоро ли, наконец? – сказал граф, входя из за двери. – Вот вам духи. Перонская уж заждалась.
– Готово, барышня, – говорила горничная, двумя пальцами поднимая подшитое дымковое платье и что то обдувая и потряхивая, высказывая этим жестом сознание воздушности и чистоты того, что она держала.
Наташа стала надевать платье.
– Сейчас, сейчас, не ходи, папа, – крикнула она отцу, отворившему дверь, еще из под дымки юбки, закрывавшей всё ее лицо. Соня захлопнула дверь. Через минуту графа впустили. Он был в синем фраке, чулках и башмаках, надушенный и припомаженный.
– Ах, папа, ты как хорош, прелесть! – сказала Наташа, стоя посреди комнаты и расправляя складки дымки.
– Позвольте, барышня, позвольте, – говорила девушка, стоя на коленях, обдергивая платье и с одной стороны рта на другую переворачивая языком булавки.
– Воля твоя! – с отчаянием в голосе вскрикнула Соня, оглядев платье Наташи, – воля твоя, опять длинно!
Наташа отошла подальше, чтоб осмотреться в трюмо. Платье было длинно.
– Ей Богу, сударыня, ничего не длинно, – сказала Мавруша, ползавшая по полу за барышней.
– Ну длинно, так заметаем, в одну минутую заметаем, – сказала решительная Дуняша, из платочка на груди вынимая иголку и опять на полу принимаясь за работу.
В это время застенчиво, тихими шагами, вошла графиня в своей токе и бархатном платье.
– Уу! моя красавица! – закричал граф, – лучше вас всех!… – Он хотел обнять ее, но она краснея отстранилась, чтоб не измяться.
– Мама, больше на бок току, – проговорила Наташа. – Я переколю, и бросилась вперед, а девушки, подшивавшие, не успевшие за ней броситься, оторвали кусочек дымки.
– Боже мой! Что ж это такое? Я ей Богу не виновата…
– Ничего, заметаю, не видно будет, – говорила Дуняша.
– Красавица, краля то моя! – сказала из за двери вошедшая няня. – А Сонюшка то, ну красавицы!…
В четверть одиннадцатого наконец сели в кареты и поехали. Но еще нужно было заехать к Таврическому саду.
Перонская была уже готова. Несмотря на ее старость и некрасивость, у нее происходило точно то же, что у Ростовых, хотя не с такой торопливостью (для нее это было дело привычное), но также было надушено, вымыто, напудрено старое, некрасивое тело, также старательно промыто за ушами, и даже, и так же, как у Ростовых, старая горничная восторженно любовалась нарядом своей госпожи, когда она в желтом платье с шифром вышла в гостиную. Перонская похвалила туалеты Ростовых.
Ростовы похвалили ее вкус и туалет, и, бережа прически и платья, в одиннадцать часов разместились по каретам и поехали.


Наташа с утра этого дня не имела ни минуты свободы, и ни разу не успела подумать о том, что предстоит ей.
В сыром, холодном воздухе, в тесноте и неполной темноте колыхающейся кареты, она в первый раз живо представила себе то, что ожидает ее там, на бале, в освещенных залах – музыка, цветы, танцы, государь, вся блестящая молодежь Петербурга. То, что ее ожидало, было так прекрасно, что она не верила даже тому, что это будет: так это было несообразно с впечатлением холода, тесноты и темноты кареты. Она поняла всё то, что ее ожидает, только тогда, когда, пройдя по красному сукну подъезда, она вошла в сени, сняла шубу и пошла рядом с Соней впереди матери между цветами по освещенной лестнице. Только тогда она вспомнила, как ей надо было себя держать на бале и постаралась принять ту величественную манеру, которую она считала необходимой для девушки на бале. Но к счастью ее она почувствовала, что глаза ее разбегались: она ничего не видела ясно, пульс ее забил сто раз в минуту, и кровь стала стучать у ее сердца. Она не могла принять той манеры, которая бы сделала ее смешною, и шла, замирая от волнения и стараясь всеми силами только скрыть его. И эта то была та самая манера, которая более всего шла к ней. Впереди и сзади их, так же тихо переговариваясь и так же в бальных платьях, входили гости. Зеркала по лестнице отражали дам в белых, голубых, розовых платьях, с бриллиантами и жемчугами на открытых руках и шеях.
Наташа смотрела в зеркала и в отражении не могла отличить себя от других. Всё смешивалось в одну блестящую процессию. При входе в первую залу, равномерный гул голосов, шагов, приветствий – оглушил Наташу; свет и блеск еще более ослепил ее. Хозяин и хозяйка, уже полчаса стоявшие у входной двери и говорившие одни и те же слова входившим: «charme de vous voir», [в восхищении, что вижу вас,] так же встретили и Ростовых с Перонской.
Две девочки в белых платьях, с одинаковыми розами в черных волосах, одинаково присели, но невольно хозяйка остановила дольше свой взгляд на тоненькой Наташе. Она посмотрела на нее, и ей одной особенно улыбнулась в придачу к своей хозяйской улыбке. Глядя на нее, хозяйка вспомнила, может быть, и свое золотое, невозвратное девичье время, и свой первый бал. Хозяин тоже проводил глазами Наташу и спросил у графа, которая его дочь?
– Charmante! [Очаровательна!] – сказал он, поцеловав кончики своих пальцев.
В зале стояли гости, теснясь у входной двери, ожидая государя. Графиня поместилась в первых рядах этой толпы. Наташа слышала и чувствовала, что несколько голосов спросили про нее и смотрели на нее. Она поняла, что она понравилась тем, которые обратили на нее внимание, и это наблюдение несколько успокоило ее.
«Есть такие же, как и мы, есть и хуже нас» – подумала она.
Перонская называла графине самых значительных лиц, бывших на бале.
– Вот это голландский посланик, видите, седой, – говорила Перонская, указывая на старичка с серебряной сединой курчавых, обильных волос, окруженного дамами, которых он чему то заставлял смеяться.
– А вот она, царица Петербурга, графиня Безухая, – говорила она, указывая на входившую Элен.
– Как хороша! Не уступит Марье Антоновне; смотрите, как за ней увиваются и молодые и старые. И хороша, и умна… Говорят принц… без ума от нее. А вот эти две, хоть и нехороши, да еще больше окружены.
Она указала на проходивших через залу даму с очень некрасивой дочерью.
– Это миллионерка невеста, – сказала Перонская. – А вот и женихи.
– Это брат Безуховой – Анатоль Курагин, – сказала она, указывая на красавца кавалергарда, который прошел мимо их, с высоты поднятой головы через дам глядя куда то. – Как хорош! неправда ли? Говорят, женят его на этой богатой. .И ваш то соusin, Друбецкой, тоже очень увивается. Говорят, миллионы. – Как же, это сам французский посланник, – отвечала она о Коленкуре на вопрос графини, кто это. – Посмотрите, как царь какой нибудь. А всё таки милы, очень милы французы. Нет милей для общества. А вот и она! Нет, всё лучше всех наша Марья то Антоновна! И как просто одета. Прелесть! – А этот то, толстый, в очках, фармазон всемирный, – сказала Перонская, указывая на Безухова. – С женою то его рядом поставьте: то то шут гороховый!
Пьер шел, переваливаясь своим толстым телом, раздвигая толпу, кивая направо и налево так же небрежно и добродушно, как бы он шел по толпе базара. Он продвигался через толпу, очевидно отыскивая кого то.
Наташа с радостью смотрела на знакомое лицо Пьера, этого шута горохового, как называла его Перонская, и знала, что Пьер их, и в особенности ее, отыскивал в толпе. Пьер обещал ей быть на бале и представить ей кавалеров.
Но, не дойдя до них, Безухой остановился подле невысокого, очень красивого брюнета в белом мундире, который, стоя у окна, разговаривал с каким то высоким мужчиной в звездах и ленте. Наташа тотчас же узнала невысокого молодого человека в белом мундире: это был Болконский, который показался ей очень помолодевшим, повеселевшим и похорошевшим.
– Вот еще знакомый, Болконский, видите, мама? – сказала Наташа, указывая на князя Андрея. – Помните, он у нас ночевал в Отрадном.
– А, вы его знаете? – сказала Перонская. – Терпеть не могу. Il fait a present la pluie et le beau temps. [От него теперь зависит дождливая или хорошая погода. (Франц. пословица, имеющая значение, что он имеет успех.)] И гордость такая, что границ нет! По папеньке пошел. И связался с Сперанским, какие то проекты пишут. Смотрите, как с дамами обращается! Она с ним говорит, а он отвернулся, – сказала она, указывая на него. – Я бы его отделала, если бы он со мной так поступил, как с этими дамами.


Вдруг всё зашевелилось, толпа заговорила, подвинулась, опять раздвинулась, и между двух расступившихся рядов, при звуках заигравшей музыки, вошел государь. За ним шли хозяин и хозяйка. Государь шел быстро, кланяясь направо и налево, как бы стараясь скорее избавиться от этой первой минуты встречи. Музыканты играли Польской, известный тогда по словам, сочиненным на него. Слова эти начинались: «Александр, Елизавета, восхищаете вы нас…» Государь прошел в гостиную, толпа хлынула к дверям; несколько лиц с изменившимися выражениями поспешно прошли туда и назад. Толпа опять отхлынула от дверей гостиной, в которой показался государь, разговаривая с хозяйкой. Какой то молодой человек с растерянным видом наступал на дам, прося их посторониться. Некоторые дамы с лицами, выражавшими совершенную забывчивость всех условий света, портя свои туалеты, теснились вперед. Мужчины стали подходить к дамам и строиться в пары Польского.
Всё расступилось, и государь, улыбаясь и не в такт ведя за руку хозяйку дома, вышел из дверей гостиной. За ним шли хозяин с М. А. Нарышкиной, потом посланники, министры, разные генералы, которых не умолкая называла Перонская. Больше половины дам имели кавалеров и шли или приготовлялись итти в Польской. Наташа чувствовала, что она оставалась с матерью и Соней в числе меньшей части дам, оттесненных к стене и не взятых в Польской. Она стояла, опустив свои тоненькие руки, и с мерно поднимающейся, чуть определенной грудью, сдерживая дыхание, блестящими, испуганными глазами глядела перед собой, с выражением готовности на величайшую радость и на величайшее горе. Ее не занимали ни государь, ни все важные лица, на которых указывала Перонская – у ней была одна мысль: «неужели так никто не подойдет ко мне, неужели я не буду танцовать между первыми, неужели меня не заметят все эти мужчины, которые теперь, кажется, и не видят меня, а ежели смотрят на меня, то смотрят с таким выражением, как будто говорят: А! это не она, так и нечего смотреть. Нет, это не может быть!» – думала она. – «Они должны же знать, как мне хочется танцовать, как я отлично танцую, и как им весело будет танцовать со мною».
Звуки Польского, продолжавшегося довольно долго, уже начинали звучать грустно, – воспоминанием в ушах Наташи. Ей хотелось плакать. Перонская отошла от них. Граф был на другом конце залы, графиня, Соня и она стояли одни как в лесу в этой чуждой толпе, никому неинтересные и ненужные. Князь Андрей прошел с какой то дамой мимо них, очевидно их не узнавая. Красавец Анатоль, улыбаясь, что то говорил даме, которую он вел, и взглянул на лицо Наташе тем взглядом, каким глядят на стены. Борис два раза прошел мимо них и всякий раз отворачивался. Берг с женою, не танцовавшие, подошли к ним.
Наташе показалось оскорбительно это семейное сближение здесь, на бале, как будто не было другого места для семейных разговоров, кроме как на бале. Она не слушала и не смотрела на Веру, что то говорившую ей про свое зеленое платье.
Наконец государь остановился подле своей последней дамы (он танцовал с тремя), музыка замолкла; озабоченный адъютант набежал на Ростовых, прося их еще куда то посторониться, хотя они стояли у стены, и с хор раздались отчетливые, осторожные и увлекательно мерные звуки вальса. Государь с улыбкой взглянул на залу. Прошла минута – никто еще не начинал. Адъютант распорядитель подошел к графине Безуховой и пригласил ее. Она улыбаясь подняла руку и положила ее, не глядя на него, на плечо адъютанта. Адъютант распорядитель, мастер своего дела, уверенно, неторопливо и мерно, крепко обняв свою даму, пустился с ней сначала глиссадом, по краю круга, на углу залы подхватил ее левую руку, повернул ее, и из за всё убыстряющихся звуков музыки слышны были только мерные щелчки шпор быстрых и ловких ног адъютанта, и через каждые три такта на повороте как бы вспыхивало развеваясь бархатное платье его дамы. Наташа смотрела на них и готова была плакать, что это не она танцует этот первый тур вальса.
Князь Андрей в своем полковничьем, белом (по кавалерии) мундире, в чулках и башмаках, оживленный и веселый, стоял в первых рядах круга, недалеко от Ростовых. Барон Фиргоф говорил с ним о завтрашнем, предполагаемом первом заседании государственного совета. Князь Андрей, как человек близкий Сперанскому и участвующий в работах законодательной комиссии, мог дать верные сведения о заседании завтрашнего дня, о котором ходили различные толки. Но он не слушал того, что ему говорил Фиргоф, и глядел то на государя, то на сбиравшихся танцовать кавалеров, не решавшихся вступить в круг.
Князь Андрей наблюдал этих робевших при государе кавалеров и дам, замиравших от желания быть приглашенными.
Пьер подошел к князю Андрею и схватил его за руку.
– Вы всегда танцуете. Тут есть моя protegee [любимица], Ростова молодая, пригласите ее, – сказал он.
– Где? – спросил Болконский. – Виноват, – сказал он, обращаясь к барону, – этот разговор мы в другом месте доведем до конца, а на бале надо танцовать. – Он вышел вперед, по направлению, которое ему указывал Пьер. Отчаянное, замирающее лицо Наташи бросилось в глаза князю Андрею. Он узнал ее, угадал ее чувство, понял, что она была начинающая, вспомнил ее разговор на окне и с веселым выражением лица подошел к графине Ростовой.
– Позвольте вас познакомить с моей дочерью, – сказала графиня, краснея.
– Я имею удовольствие быть знакомым, ежели графиня помнит меня, – сказал князь Андрей с учтивым и низким поклоном, совершенно противоречащим замечаниям Перонской о его грубости, подходя к Наташе, и занося руку, чтобы обнять ее талию еще прежде, чем он договорил приглашение на танец. Он предложил тур вальса. То замирающее выражение лица Наташи, готовое на отчаяние и на восторг, вдруг осветилось счастливой, благодарной, детской улыбкой.
«Давно я ждала тебя», как будто сказала эта испуганная и счастливая девочка, своей проявившейся из за готовых слез улыбкой, поднимая свою руку на плечо князя Андрея. Они были вторая пара, вошедшая в круг. Князь Андрей был одним из лучших танцоров своего времени. Наташа танцовала превосходно. Ножки ее в бальных атласных башмачках быстро, легко и независимо от нее делали свое дело, а лицо ее сияло восторгом счастия. Ее оголенные шея и руки были худы и некрасивы. В сравнении с плечами Элен, ее плечи были худы, грудь неопределенна, руки тонки; но на Элен был уже как будто лак от всех тысяч взглядов, скользивших по ее телу, а Наташа казалась девочкой, которую в первый раз оголили, и которой бы очень стыдно это было, ежели бы ее не уверили, что это так необходимо надо.
Князь Андрей любил танцовать, и желая поскорее отделаться от политических и умных разговоров, с которыми все обращались к нему, и желая поскорее разорвать этот досадный ему круг смущения, образовавшегося от присутствия государя, пошел танцовать и выбрал Наташу, потому что на нее указал ему Пьер и потому, что она первая из хорошеньких женщин попала ему на глаза; но едва он обнял этот тонкий, подвижной стан, и она зашевелилась так близко от него и улыбнулась так близко ему, вино ее прелести ударило ему в голову: он почувствовал себя ожившим и помолодевшим, когда, переводя дыханье и оставив ее, остановился и стал глядеть на танцующих.


После князя Андрея к Наташе подошел Борис, приглашая ее на танцы, подошел и тот танцор адъютант, начавший бал, и еще молодые люди, и Наташа, передавая своих излишних кавалеров Соне, счастливая и раскрасневшаяся, не переставала танцовать целый вечер. Она ничего не заметила и не видала из того, что занимало всех на этом бале. Она не только не заметила, как государь долго говорил с французским посланником, как он особенно милостиво говорил с такой то дамой, как принц такой то и такой то сделали и сказали то то, как Элен имела большой успех и удостоилась особенного внимания такого то; она не видала даже государя и заметила, что он уехал только потому, что после его отъезда бал более оживился. Один из веселых котильонов, перед ужином, князь Андрей опять танцовал с Наташей. Он напомнил ей о их первом свиданьи в отрадненской аллее и о том, как она не могла заснуть в лунную ночь, и как он невольно слышал ее. Наташа покраснела при этом напоминании и старалась оправдаться, как будто было что то стыдное в том чувстве, в котором невольно подслушал ее князь Андрей.
Князь Андрей, как все люди, выросшие в свете, любил встречать в свете то, что не имело на себе общего светского отпечатка. И такова была Наташа, с ее удивлением, радостью и робостью и даже ошибками во французском языке. Он особенно нежно и бережно обращался и говорил с нею. Сидя подле нее, разговаривая с ней о самых простых и ничтожных предметах, князь Андрей любовался на радостный блеск ее глаз и улыбки, относившейся не к говоренным речам, а к ее внутреннему счастию. В то время, как Наташу выбирали и она с улыбкой вставала и танцовала по зале, князь Андрей любовался в особенности на ее робкую грацию. В середине котильона Наташа, окончив фигуру, еще тяжело дыша, подходила к своему месту. Новый кавалер опять пригласил ее. Она устала и запыхалась, и видимо подумала отказаться, но тотчас опять весело подняла руку на плечо кавалера и улыбнулась князю Андрею.
«Я бы рада была отдохнуть и посидеть с вами, я устала; но вы видите, как меня выбирают, и я этому рада, и я счастлива, и я всех люблю, и мы с вами всё это понимаем», и еще многое и многое сказала эта улыбка. Когда кавалер оставил ее, Наташа побежала через залу, чтобы взять двух дам для фигур.
«Ежели она подойдет прежде к своей кузине, а потом к другой даме, то она будет моей женой», сказал совершенно неожиданно сам себе князь Андрей, глядя на нее. Она подошла прежде к кузине.
«Какой вздор иногда приходит в голову! подумал князь Андрей; но верно только то, что эта девушка так мила, так особенна, что она не протанцует здесь месяца и выйдет замуж… Это здесь редкость», думал он, когда Наташа, поправляя откинувшуюся у корсажа розу, усаживалась подле него.
В конце котильона старый граф подошел в своем синем фраке к танцующим. Он пригласил к себе князя Андрея и спросил у дочери, весело ли ей? Наташа не ответила и только улыбнулась такой улыбкой, которая с упреком говорила: «как можно было спрашивать об этом?»
– Так весело, как никогда в жизни! – сказала она, и князь Андрей заметил, как быстро поднялись было ее худые руки, чтобы обнять отца и тотчас же опустились. Наташа была так счастлива, как никогда еще в жизни. Она была на той высшей ступени счастия, когда человек делается вполне доверчив и не верит в возможность зла, несчастия и горя.

Пьер на этом бале в первый раз почувствовал себя оскорбленным тем положением, которое занимала его жена в высших сферах. Он был угрюм и рассеян. Поперек лба его была широкая складка, и он, стоя у окна, смотрел через очки, никого не видя.
Наташа, направляясь к ужину, прошла мимо его.
Мрачное, несчастное лицо Пьера поразило ее. Она остановилась против него. Ей хотелось помочь ему, передать ему излишек своего счастия.
– Как весело, граф, – сказала она, – не правда ли?
Пьер рассеянно улыбнулся, очевидно не понимая того, что ему говорили.
– Да, я очень рад, – сказал он.
«Как могут они быть недовольны чем то, думала Наташа. Особенно такой хороший, как этот Безухов?» На глаза Наташи все бывшие на бале были одинаково добрые, милые, прекрасные люди, любящие друг друга: никто не мог обидеть друг друга, и потому все должны были быть счастливы.


На другой день князь Андрей вспомнил вчерашний бал, но не на долго остановился на нем мыслями. «Да, очень блестящий был бал. И еще… да, Ростова очень мила. Что то в ней есть свежее, особенное, не петербургское, отличающее ее». Вот всё, что он думал о вчерашнем бале, и напившись чаю, сел за работу.
Но от усталости или бессонницы (день был нехороший для занятий, и князь Андрей ничего не мог делать) он всё критиковал сам свою работу, как это часто с ним бывало, и рад был, когда услыхал, что кто то приехал.
Приехавший был Бицкий, служивший в различных комиссиях, бывавший во всех обществах Петербурга, страстный поклонник новых идей и Сперанского и озабоченный вестовщик Петербурга, один из тех людей, которые выбирают направление как платье – по моде, но которые по этому то кажутся самыми горячими партизанами направлений. Он озабоченно, едва успев снять шляпу, вбежал к князю Андрею и тотчас же начал говорить. Он только что узнал подробности заседания государственного совета нынешнего утра, открытого государем, и с восторгом рассказывал о том. Речь государя была необычайна. Это была одна из тех речей, которые произносятся только конституционными монархами. «Государь прямо сказал, что совет и сенат суть государственные сословия ; он сказал, что правление должно иметь основанием не произвол, а твердые начала . Государь сказал, что финансы должны быть преобразованы и отчеты быть публичны», рассказывал Бицкий, ударяя на известные слова и значительно раскрывая глаза.
– Да, нынешнее событие есть эра, величайшая эра в нашей истории, – заключил он.
Князь Андрей слушал рассказ об открытии государственного совета, которого он ожидал с таким нетерпением и которому приписывал такую важность, и удивлялся, что событие это теперь, когда оно совершилось, не только не трогало его, но представлялось ему более чем ничтожным. Он с тихой насмешкой слушал восторженный рассказ Бицкого. Самая простая мысль приходила ему в голову: «Какое дело мне и Бицкому, какое дело нам до того, что государю угодно было сказать в совете! Разве всё это может сделать меня счастливее и лучше?»
И это простое рассуждение вдруг уничтожило для князя Андрея весь прежний интерес совершаемых преобразований. В этот же день князь Андрей должен был обедать у Сперанского «en petit comite«, [в маленьком собрании,] как ему сказал хозяин, приглашая его. Обед этот в семейном и дружеском кругу человека, которым он так восхищался, прежде очень интересовал князя Андрея, тем более что до сих пор он не видал Сперанского в его домашнем быту; но теперь ему не хотелось ехать.
В назначенный час обеда, однако, князь Андрей уже входил в собственный, небольшой дом Сперанского у Таврического сада. В паркетной столовой небольшого домика, отличавшегося необыкновенной чистотой (напоминающей монашескую чистоту) князь Андрей, несколько опоздавший, уже нашел в пять часов собравшееся всё общество этого petit comite, интимных знакомых Сперанского. Дам не было никого кроме маленькой дочери Сперанского (с длинным лицом, похожим на отца) и ее гувернантки. Гости были Жерве, Магницкий и Столыпин. Еще из передней князь Андрей услыхал громкие голоса и звонкий, отчетливый хохот – хохот, похожий на тот, каким смеются на сцене. Кто то голосом, похожим на голос Сперанского, отчетливо отбивал: ха… ха… ха… Князь Андрей никогда не слыхал смеха Сперанского, и этот звонкий, тонкий смех государственного человека странно поразил его.
Князь Андрей вошел в столовую. Всё общество стояло между двух окон у небольшого стола с закуской. Сперанский в сером фраке с звездой, очевидно в том еще белом жилете и высоком белом галстухе, в которых он был в знаменитом заседании государственного совета, с веселым лицом стоял у стола. Гости окружали его. Магницкий, обращаясь к Михайлу Михайловичу, рассказывал анекдот. Сперанский слушал, вперед смеясь тому, что скажет Магницкий. В то время как князь Андрей вошел в комнату, слова Магницкого опять заглушились смехом. Громко басил Столыпин, пережевывая кусок хлеба с сыром; тихим смехом шипел Жерве, и тонко, отчетливо смеялся Сперанский.
Сперанский, всё еще смеясь, подал князю Андрею свою белую, нежную руку.
– Очень рад вас видеть, князь, – сказал он. – Минутку… обратился он к Магницкому, прерывая его рассказ. – У нас нынче уговор: обед удовольствия, и ни слова про дела. – И он опять обратился к рассказчику, и опять засмеялся.
Князь Андрей с удивлением и грустью разочарования слушал его смех и смотрел на смеющегося Сперанского. Это был не Сперанский, а другой человек, казалось князю Андрею. Всё, что прежде таинственно и привлекательно представлялось князю Андрею в Сперанском, вдруг стало ему ясно и непривлекательно.
За столом разговор ни на мгновение не умолкал и состоял как будто бы из собрания смешных анекдотов. Еще Магницкий не успел докончить своего рассказа, как уж кто то другой заявил свою готовность рассказать что то, что было еще смешнее. Анекдоты большею частью касались ежели не самого служебного мира, то лиц служебных. Казалось, что в этом обществе так окончательно было решено ничтожество этих лиц, что единственное отношение к ним могло быть только добродушно комическое. Сперанский рассказал, как на совете сегодняшнего утра на вопрос у глухого сановника о его мнении, сановник этот отвечал, что он того же мнения. Жерве рассказал целое дело о ревизии, замечательное по бессмыслице всех действующих лиц. Столыпин заикаясь вмешался в разговор и с горячностью начал говорить о злоупотреблениях прежнего порядка вещей, угрожая придать разговору серьезный характер. Магницкий стал трунить над горячностью Столыпина, Жерве вставил шутку и разговор принял опять прежнее, веселое направление.
Очевидно, Сперанский после трудов любил отдохнуть и повеселиться в приятельском кружке, и все его гости, понимая его желание, старались веселить его и сами веселиться. Но веселье это казалось князю Андрею тяжелым и невеселым. Тонкий звук голоса Сперанского неприятно поражал его, и неумолкавший смех своей фальшивой нотой почему то оскорблял чувство князя Андрея. Князь Андрей не смеялся и боялся, что он будет тяжел для этого общества. Но никто не замечал его несоответственности общему настроению. Всем было, казалось, очень весело.
Он несколько раз желал вступить в разговор, но всякий раз его слово выбрасывалось вон, как пробка из воды; и он не мог шутить с ними вместе.
Ничего не было дурного или неуместного в том, что они говорили, всё было остроумно и могло бы быть смешно; но чего то, того самого, что составляет соль веселья, не только не было, но они и не знали, что оно бывает.
После обеда дочь Сперанского с своей гувернанткой встали. Сперанский приласкал дочь своей белой рукой, и поцеловал ее. И этот жест показался неестественным князю Андрею.
Мужчины, по английски, остались за столом и за портвейном. В середине начавшегося разговора об испанских делах Наполеона, одобряя которые, все были одного и того же мнения, князь Андрей стал противоречить им. Сперанский улыбнулся и, очевидно желая отклонить разговор от принятого направления, рассказал анекдот, не имеющий отношения к разговору. На несколько мгновений все замолкли.
Посидев за столом, Сперанский закупорил бутылку с вином и сказав: «нынче хорошее винцо в сапожках ходит», отдал слуге и встал. Все встали и также шумно разговаривая пошли в гостиную. Сперанскому подали два конверта, привезенные курьером. Он взял их и прошел в кабинет. Как только он вышел, общее веселье замолкло и гости рассудительно и тихо стали переговариваться друг с другом.
– Ну, теперь декламация! – сказал Сперанский, выходя из кабинета. – Удивительный талант! – обратился он к князю Андрею. Магницкий тотчас же стал в позу и начал говорить французские шутливые стихи, сочиненные им на некоторых известных лиц Петербурга, и несколько раз был прерываем аплодисментами. Князь Андрей, по окончании стихов, подошел к Сперанскому, прощаясь с ним.
– Куда вы так рано? – сказал Сперанский.
– Я обещал на вечер…
Они помолчали. Князь Андрей смотрел близко в эти зеркальные, непропускающие к себе глаза и ему стало смешно, как он мог ждать чего нибудь от Сперанского и от всей своей деятельности, связанной с ним, и как мог он приписывать важность тому, что делал Сперанский. Этот аккуратный, невеселый смех долго не переставал звучать в ушах князя Андрея после того, как он уехал от Сперанского.
Вернувшись домой, князь Андрей стал вспоминать свою петербургскую жизнь за эти четыре месяца, как будто что то новое. Он вспоминал свои хлопоты, искательства, историю своего проекта военного устава, который был принят к сведению и о котором старались умолчать единственно потому, что другая работа, очень дурная, была уже сделана и представлена государю; вспомнил о заседаниях комитета, членом которого был Берг; вспомнил, как в этих заседаниях старательно и продолжительно обсуживалось всё касающееся формы и процесса заседаний комитета, и как старательно и кратко обходилось всё что касалось сущности дела. Он вспомнил о своей законодательной работе, о том, как он озабоченно переводил на русский язык статьи римского и французского свода, и ему стало совестно за себя. Потом он живо представил себе Богучарово, свои занятия в деревне, свою поездку в Рязань, вспомнил мужиков, Дрона старосту, и приложив к ним права лиц, которые он распределял по параграфам, ему стало удивительно, как он мог так долго заниматься такой праздной работой.


На другой день князь Андрей поехал с визитами в некоторые дома, где он еще не был, и в том числе к Ростовым, с которыми он возобновил знакомство на последнем бале. Кроме законов учтивости, по которым ему нужно было быть у Ростовых, князю Андрею хотелось видеть дома эту особенную, оживленную девушку, которая оставила ему приятное воспоминание.
Наташа одна из первых встретила его. Она была в домашнем синем платье, в котором она показалась князю Андрею еще лучше, чем в бальном. Она и всё семейство Ростовых приняли князя Андрея, как старого друга, просто и радушно. Всё семейство, которое строго судил прежде князь Андрей, теперь показалось ему составленным из прекрасных, простых и добрых людей. Гостеприимство и добродушие старого графа, особенно мило поразительное в Петербурге, было таково, что князь Андрей не мог отказаться от обеда. «Да, это добрые, славные люди, думал Болконский, разумеется, не понимающие ни на волос того сокровища, которое они имеют в Наташе; но добрые люди, которые составляют наилучший фон для того, чтобы на нем отделялась эта особенно поэтическая, переполненная жизни, прелестная девушка!»
Князь Андрей чувствовал в Наташе присутствие совершенно чуждого для него, особенного мира, преисполненного каких то неизвестных ему радостей, того чуждого мира, который еще тогда, в отрадненской аллее и на окне, в лунную ночь, так дразнил его. Теперь этот мир уже более не дразнил его, не был чуждый мир; но он сам, вступив в него, находил в нем новое для себя наслаждение.
После обеда Наташа, по просьбе князя Андрея, пошла к клавикордам и стала петь. Князь Андрей стоял у окна, разговаривая с дамами, и слушал ее. В середине фразы князь Андрей замолчал и почувствовал неожиданно, что к его горлу подступают слезы, возможность которых он не знал за собой. Он посмотрел на поющую Наташу, и в душе его произошло что то новое и счастливое. Он был счастлив и ему вместе с тем было грустно. Ему решительно не об чем было плакать, но он готов был плакать. О чем? О прежней любви? О маленькой княгине? О своих разочарованиях?… О своих надеждах на будущее?… Да и нет. Главное, о чем ему хотелось плакать, была вдруг живо сознанная им страшная противуположность между чем то бесконечно великим и неопределимым, бывшим в нем, и чем то узким и телесным, чем он был сам и даже была она. Эта противуположность томила и радовала его во время ее пения.
Только что Наташа кончила петь, она подошла к нему и спросила его, как ему нравится ее голос? Она спросила это и смутилась уже после того, как она это сказала, поняв, что этого не надо было спрашивать. Он улыбнулся, глядя на нее, и сказал, что ему нравится ее пение так же, как и всё, что она делает.
Князь Андрей поздно вечером уехал от Ростовых. Он лег спать по привычке ложиться, но увидал скоро, что он не может спать. Он то, зажжа свечку, сидел в постели, то вставал, то опять ложился, нисколько не тяготясь бессонницей: так радостно и ново ему было на душе, как будто он из душной комнаты вышел на вольный свет Божий. Ему и в голову не приходило, чтобы он был влюблен в Ростову; он не думал о ней; он только воображал ее себе, и вследствие этого вся жизнь его представлялась ему в новом свете. «Из чего я бьюсь, из чего я хлопочу в этой узкой, замкнутой рамке, когда жизнь, вся жизнь со всеми ее радостями открыта мне?» говорил он себе. И он в первый раз после долгого времени стал делать счастливые планы на будущее. Он решил сам собою, что ему надо заняться воспитанием своего сына, найдя ему воспитателя и поручив ему; потом надо выйти в отставку и ехать за границу, видеть Англию, Швейцарию, Италию. «Мне надо пользоваться своей свободой, пока так много в себе чувствую силы и молодости, говорил он сам себе. Пьер был прав, говоря, что надо верить в возможность счастия, чтобы быть счастливым, и я теперь верю в него. Оставим мертвым хоронить мертвых, а пока жив, надо жить и быть счастливым», думал он.


В одно утро полковник Адольф Берг, которого Пьер знал, как знал всех в Москве и Петербурге, в чистеньком с иголочки мундире, с припомаженными наперед височками, как носил государь Александр Павлович, приехал к нему.
– Я сейчас был у графини, вашей супруги, и был так несчастлив, что моя просьба не могла быть исполнена; надеюсь, что у вас, граф, я буду счастливее, – сказал он, улыбаясь.
– Что вам угодно, полковник? Я к вашим услугам.
– Я теперь, граф, уж совершенно устроился на новой квартире, – сообщил Берг, очевидно зная, что это слышать не могло не быть приятно; – и потому желал сделать так, маленький вечерок для моих и моей супруги знакомых. (Он еще приятнее улыбнулся.) Я хотел просить графиню и вас сделать мне честь пожаловать к нам на чашку чая и… на ужин.
– Только графиня Елена Васильевна, сочтя для себя унизительным общество каких то Бергов, могла иметь жестокость отказаться от такого приглашения. – Берг так ясно объяснил, почему он желает собрать у себя небольшое и хорошее общество, и почему это ему будет приятно, и почему он для карт и для чего нибудь дурного жалеет деньги, но для хорошего общества готов и понести расходы, что Пьер не мог отказаться и обещался быть.
– Только не поздно, граф, ежели смею просить, так без 10 ти минут в восемь, смею просить. Партию составим, генерал наш будет. Он очень добр ко мне. Поужинаем, граф. Так сделайте одолжение.
Противно своей привычке опаздывать, Пьер в этот день вместо восьми без 10 ти минут, приехал к Бергам в восемь часов без четверти.
Берги, припася, что нужно было для вечера, уже готовы были к приему гостей.
В новом, чистом, светлом, убранном бюстиками и картинками и новой мебелью, кабинете сидел Берг с женою. Берг, в новеньком, застегнутом мундире сидел возле жены, объясняя ей, что всегда можно и должно иметь знакомства людей, которые выше себя, потому что тогда только есть приятность от знакомств. – «Переймешь что нибудь, можешь попросить о чем нибудь. Вот посмотри, как я жил с первых чинов (Берг жизнь свою считал не годами, а высочайшими наградами). Мои товарищи теперь еще ничто, а я на ваканции полкового командира, я имею счастье быть вашим мужем (он встал и поцеловал руку Веры, но по пути к ней отогнул угол заворотившегося ковра). И чем я приобрел всё это? Главное умением выбирать свои знакомства. Само собой разумеется, что надо быть добродетельным и аккуратным».
Берг улыбнулся с сознанием своего превосходства над слабой женщиной и замолчал, подумав, что всё таки эта милая жена его есть слабая женщина, которая не может постигнуть всего того, что составляет достоинство мужчины, – ein Mann zu sein [быть мужчиной]. Вера в то же время также улыбнулась с сознанием своего превосходства над добродетельным, хорошим мужем, но который всё таки ошибочно, как и все мужчины, по понятию Веры, понимал жизнь. Берг, судя по своей жене, считал всех женщин слабыми и глупыми. Вера, судя по одному своему мужу и распространяя это замечание, полагала, что все мужчины приписывают только себе разум, а вместе с тем ничего не понимают, горды и эгоисты.
Берг встал и, обняв свою жену осторожно, чтобы не измять кружевную пелеринку, за которую он дорого заплатил, поцеловал ее в середину губ.
– Одно только, чтобы у нас не было так скоро детей, – сказал он по бессознательной для себя филиации идей.
– Да, – отвечала Вера, – я совсем этого не желаю. Надо жить для общества.
– Точно такая была на княгине Юсуповой, – сказал Берг, с счастливой и доброй улыбкой, указывая на пелеринку.
В это время доложили о приезде графа Безухого. Оба супруга переглянулись самодовольной улыбкой, каждый себе приписывая честь этого посещения.
«Вот что значит уметь делать знакомства, подумал Берг, вот что значит уметь держать себя!»
– Только пожалуйста, когда я занимаю гостей, – сказала Вера, – ты не перебивай меня, потому что я знаю чем занять каждого, и в каком обществе что надо говорить.
Берг тоже улыбнулся.
– Нельзя же: иногда с мужчинами мужской разговор должен быть, – сказал он.
Пьер был принят в новенькой гостиной, в которой нигде сесть нельзя было, не нарушив симметрии, чистоты и порядка, и потому весьма понятно было и не странно, что Берг великодушно предлагал разрушить симметрию кресла, или дивана для дорогого гостя, и видимо находясь сам в этом отношении в болезненной нерешительности, предложил решение этого вопроса выбору гостя. Пьер расстроил симметрию, подвинув себе стул, и тотчас же Берг и Вера начали вечер, перебивая один другого и занимая гостя.
Вера, решив в своем уме, что Пьера надо занимать разговором о французском посольстве, тотчас же начала этот разговор. Берг, решив, что надобен и мужской разговор, перебил речь жены, затрогивая вопрос о войне с Австриею и невольно с общего разговора соскочил на личные соображения о тех предложениях, которые ему были деланы для участия в австрийском походе, и о тех причинах, почему он не принял их. Несмотря на то, что разговор был очень нескладный, и что Вера сердилась за вмешательство мужского элемента, оба супруга с удовольствием чувствовали, что, несмотря на то, что был только один гость, вечер был начат очень хорошо, и что вечер был, как две капли воды похож на всякий другой вечер с разговорами, чаем и зажженными свечами.
Вскоре приехал Борис, старый товарищ Берга. Он с некоторым оттенком превосходства и покровительства обращался с Бергом и Верой. За Борисом приехала дама с полковником, потом сам генерал, потом Ростовы, и вечер уже совершенно, несомненно стал похож на все вечера. Берг с Верой не могли удерживать радостной улыбки при виде этого движения по гостиной, при звуке этого бессвязного говора, шуршанья платьев и поклонов. Всё было, как и у всех, особенно похож был генерал, похваливший квартиру, потрепавший по плечу Берга, и с отеческим самоуправством распорядившийся постановкой бостонного стола. Генерал подсел к графу Илье Андреичу, как к самому знатному из гостей после себя. Старички с старичками, молодые с молодыми, хозяйка у чайного стола, на котором были точно такие же печенья в серебряной корзинке, какие были у Паниных на вечере, всё было совершенно так же, как у других.


Пьер, как один из почетнейших гостей, должен был сесть в бостон с Ильей Андреичем, генералом и полковником. Пьеру за бостонным столом пришлось сидеть против Наташи и странная перемена, происшедшая в ней со дня бала, поразила его. Наташа была молчалива, и не только не была так хороша, как она была на бале, но она была бы дурна, ежели бы она не имела такого кроткого и равнодушного ко всему вида.
«Что с ней?» подумал Пьер, взглянув на нее. Она сидела подле сестры у чайного стола и неохотно, не глядя на него, отвечала что то подсевшему к ней Борису. Отходив целую масть и забрав к удовольствию своего партнера пять взяток, Пьер, слышавший говор приветствий и звук чьих то шагов, вошедших в комнату во время сбора взяток, опять взглянул на нее.
«Что с ней сделалось?» еще удивленнее сказал он сам себе.
Князь Андрей с бережливо нежным выражением стоял перед нею и говорил ей что то. Она, подняв голову, разрумянившись и видимо стараясь удержать порывистое дыхание, смотрела на него. И яркий свет какого то внутреннего, прежде потушенного огня, опять горел в ней. Она вся преобразилась. Из дурной опять сделалась такою же, какою она была на бале.
Князь Андрей подошел к Пьеру и Пьер заметил новое, молодое выражение и в лице своего друга.
Пьер несколько раз пересаживался во время игры, то спиной, то лицом к Наташе, и во всё продолжение 6 ти роберов делал наблюдения над ней и своим другом.
«Что то очень важное происходит между ними», думал Пьер, и радостное и вместе горькое чувство заставляло его волноваться и забывать об игре.
После 6 ти роберов генерал встал, сказав, что эдак невозможно играть, и Пьер получил свободу. Наташа в одной стороне говорила с Соней и Борисом, Вера о чем то с тонкой улыбкой говорила с князем Андреем. Пьер подошел к своему другу и спросив не тайна ли то, что говорится, сел подле них. Вера, заметив внимание князя Андрея к Наташе, нашла, что на вечере, на настоящем вечере, необходимо нужно, чтобы были тонкие намеки на чувства, и улучив время, когда князь Андрей был один, начала с ним разговор о чувствах вообще и о своей сестре. Ей нужно было с таким умным (каким она считала князя Андрея) гостем приложить к делу свое дипломатическое искусство.
Когда Пьер подошел к ним, он заметил, что Вера находилась в самодовольном увлечении разговора, князь Андрей (что с ним редко бывало) казался смущен.
– Как вы полагаете? – с тонкой улыбкой говорила Вера. – Вы, князь, так проницательны и так понимаете сразу характер людей. Что вы думаете о Натали, может ли она быть постоянна в своих привязанностях, может ли она так, как другие женщины (Вера разумела себя), один раз полюбить человека и навсегда остаться ему верною? Это я считаю настоящею любовью. Как вы думаете, князь?
– Я слишком мало знаю вашу сестру, – отвечал князь Андрей с насмешливой улыбкой, под которой он хотел скрыть свое смущение, – чтобы решить такой тонкий вопрос; и потом я замечал, что чем менее нравится женщина, тем она бывает постояннее, – прибавил он и посмотрел на Пьера, подошедшего в это время к ним.
– Да это правда, князь; в наше время, – продолжала Вера (упоминая о нашем времени, как вообще любят упоминать ограниченные люди, полагающие, что они нашли и оценили особенности нашего времени и что свойства людей изменяются со временем), в наше время девушка имеет столько свободы, что le plaisir d'etre courtisee [удовольствие иметь поклонников] часто заглушает в ней истинное чувство. Et Nathalie, il faut l'avouer, y est tres sensible. [И Наталья, надо признаться, на это очень чувствительна.] Возвращение к Натали опять заставило неприятно поморщиться князя Андрея; он хотел встать, но Вера продолжала с еще более утонченной улыбкой.
– Я думаю, никто так не был courtisee [предметом ухаживанья], как она, – говорила Вера; – но никогда, до самого последнего времени никто серьезно ей не нравился. Вот вы знаете, граф, – обратилась она к Пьеру, – даже наш милый cousin Борис, который был, entre nous [между нами], очень и очень dans le pays du tendre… [в стране нежностей…]
Князь Андрей нахмурившись молчал.
– Вы ведь дружны с Борисом? – сказала ему Вера.
– Да, я его знаю…
– Он верно вам говорил про свою детскую любовь к Наташе?
– А была детская любовь? – вдруг неожиданно покраснев, спросил князь Андрей.
– Да. Vous savez entre cousin et cousine cette intimite mene quelquefois a l'amour: le cousinage est un dangereux voisinage, N'est ce pas? [Знаете, между двоюродным братом и сестрой эта близость приводит иногда к любви. Такое родство – опасное соседство. Не правда ли?]
– О, без сомнения, – сказал князь Андрей, и вдруг, неестественно оживившись, он стал шутить с Пьером о том, как он должен быть осторожным в своем обращении с своими 50 ти летними московскими кузинами, и в середине шутливого разговора встал и, взяв под руку Пьера, отвел его в сторону.
– Ну что? – сказал Пьер, с удивлением смотревший на странное оживление своего друга и заметивший взгляд, который он вставая бросил на Наташу.
– Мне надо, мне надо поговорить с тобой, – сказал князь Андрей. – Ты знаешь наши женские перчатки (он говорил о тех масонских перчатках, которые давались вновь избранному брату для вручения любимой женщине). – Я… Но нет, я после поговорю с тобой… – И с странным блеском в глазах и беспокойством в движениях князь Андрей подошел к Наташе и сел подле нее. Пьер видел, как князь Андрей что то спросил у нее, и она вспыхнув отвечала ему.
Но в это время Берг подошел к Пьеру, настоятельно упрашивая его принять участие в споре между генералом и полковником об испанских делах.
Берг был доволен и счастлив. Улыбка радости не сходила с его лица. Вечер был очень хорош и совершенно такой, как и другие вечера, которые он видел. Всё было похоже. И дамские, тонкие разговоры, и карты, и за картами генерал, возвышающий голос, и самовар, и печенье; но одного еще недоставало, того, что он всегда видел на вечерах, которым он желал подражать.
Недоставало громкого разговора между мужчинами и спора о чем нибудь важном и умном. Генерал начал этот разговор и к нему то Берг привлек Пьера.


На другой день князь Андрей поехал к Ростовым обедать, так как его звал граф Илья Андреич, и провел у них целый день.