GNU Free Documentation License . .

: ,
   
+
-
+/-
-/+
 ?
x
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

. . , , , .

, , ,   .


[]

Ada C C++ C# D Eiffel Erlang Prolog F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
+ + + + + + - - + + + + +
[1]
+ + + + + + + + + + + + +
- + +/-[2] + + + + -
[3]
-
[3]
+ + + +
[4]
-
[5]
+ + + + + + + + + + + + -/+
- - +/- +/- +/- +/- + + + + - +/- + + + + +/- +/- + + + + +/- -/+ + +/-
- - - [6] -/+ -  ? + + -/+ -/+ -/+ + - + -/+ +/- + + + -/+ + + -/+ -/+ -  ?
+ - + + + +/- + + + + + + + + + + + + + + + - + + + -/+
- - - - - - - + - - - - +/-
[7]
+/-
[8]
+/- - - - -  ? +/- - - - -  ?
- - - -/+[9] -/+  ? + + + + - +/- + +[10] + -/+
[11]
+ + + + +/- - +/- - + +/-
+
[12]
+/-
[13]
+/-
[13]
-/+
[14]
- + + + - -/+ + - +
[15]
+/- - - - -/+ -/+  ? +/-  ? - - - -
Ada C C++ C# D Eiffel Erlang Prolog F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic

[]

Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
+ + + + + + - + + + - + +/-[16] + +/-
[17]
- - - + +/-
[18]
- + + + +
- - - -/+
[19]
- - + -/+[20] + - + -
[21]
+ - + + + + - + + +
[22]
-/+
[23]
- -
+ + + + + + -/+
[24]
+ + + - + +/-[16] + -/+
[25]
+/- +/-
[26]
- + +/-
[27]
- + + + +
- - -/+ -/+[28] + - + + + - + + + + + + + + + + + + - + +
-/+
[29]
+ + + + + - - + - + - + + + + + +  ? + + + + - +
- + + - + - - - - -  ? - -  ? +
[30]
+ - -  ? + + + + - -/+
- + + + + - - - - - + - - + +
[31]
+ - -  ? - + + - - -/+
+ + + + + - x + - - x + +[32] + x x x x  ?  ? x - + + -/+
- - +/-
[33]
+ + - x + - - x + +/-
[34]
+ x x x x +  ? x + - + +
- - +/-
[33]
- - - x + - - x + +/-
[34]
+ x x x x  ?  ? x  ? - + +/-
- - - + + + + x + + + x + +/-
[34]
+ x x x x +  ? x + - +  ?
- - - -  ? - x + - - x + +/-[34] + x  ? x x -  ? x  ? - +  ?
- x - + + + x + + + - + + + x + x x +  ? x + - +  ?
- x - +/-
[35]
 ? + x + - - - x + +/-  ?  ? x x +  ? x - -  ?  ?
- x - - -  ? x - - - - + + - x  ? x x +  ? x - -  ?  ?
runtime -/+
[36]
- -/+
[37]
+ + + + + + + -/+ - + + + + + + + + + + + - -
- runtime - - -/+ +  ?  ? - + - - -/+ - + + +
[38]
+ +  ? -  ? - + + - -
Ada C C++ C# D Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic

[] /

Ada C C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi Ocaml PureBasic
Open-source () + + + + + + + + + + + + + + + + + + + +
[39]
+ + +
[40]
+ -
+ + + + + + -/+
[41]
+ + + + + + + + +
[42]
+ + + +
[43]
- + + + +
Bootstrapping + + + + -  ? + + + +
[44]
+
[45]
+ +[46] +  ? x +
[47]
+ + +
[48]
x  ? + + +
+ + + - +  ? + + + +  ? + + -  ?  ? x x - - x +  ? + +
+/-
[49]
-/+
[50]
+/-
[50]
-
[51]
-  ? + + + - +
[52]
+ + + + + + + + +
[53]
+ + - + -
+/-
[54]
+ + + +  ? + +  ? -/+
[55]
-/+
[56]
+ +[57] + + + x x  ? + x + + x +
Ada C C++ C# D Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic

[]

Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
+ + + + + -/+
[58]
 ?  ? - - - +/-
[59]
+/-
[60]
+ - - - -  ?  ? - - -/+
[61]
 ? +
+ + + + + - - - - -[62] - -[62] -[62] - - - -
[63]
- - +
[64]
- - + - +
+ + + +[65] + - - - - -[62] - -[62] -[62] - - - -[62] - - +
[66]
- - + - +
-/+
[67]
-
[68]
-/+
[69]
+ + + + + + + + + + + + + + + + + + + -
[70]
+ -

[]

Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
goto + + + + + - - x - -
[71]
- x +[72] - + +/-
[73]
- -/+
[74]
- -/+
[75]
- + + - +
break + + + + + - - x + + + x +[76] + + + + + -  ? + + + +/-
[77]
+
break + - - - + - - x + + + x +[78] + + +/-
[79]
- + -  ? - + - x +/-[80]
try/catch + - + + + +
[81]
+ + + + + + +
[82]
+ +
[83]
+ + + + + + + + + +[84]
finally -/+
[85]
- - + + - - + + + +
[86]
+ +
[87]
+ - - + + + + + + + -
[88]
+[84]
else () - - - + - - + - + +
[89]
 ? + +
[90]
- +
[91]
- + + -  ? + + + + +[84]
 ? -  ? -  ?  ?
- -  ?  ?  ?  ? +
- -
[92]
 ?  ? +
[93]
 ?  ? - -  ?  ?  ?
 ? - -/+ -/+
[94]
+ -
- +/-[95] - - - + -
[96]
-
[97]
-
- + -/+
[98]
 ? - - -/+
[99]
- +[100] +
Continuations  ? -/+[101]  ? -  ?  ?
- -  ?  ?  ? + -[102]
-  ?
 ? - +  ? + - -  ? +/-
[103]
 ?
(oroutines) - - - - - + + -  ? +/-
[104]
- + +/-[105] - +
[106]
 ? +/-
[107]
 ?  ? + + - - +/-[108] -

[]

Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi OCaml PureBasic
- - +/-
[109]
+/-
[110]
+/- + + + + - - + + + + - + + + + +/-
[110]
- + -
-/+
[111]
- - -  ?  ? x
[112]
+  ? - x
[112]
+ x
[112]
+ x
[112]
x
[112]
x
[112]
x
[112]
 ? x
[112]
- -/+
[111]
+ -
 ? + + + +  ? - + + +/- +/- +
[113]
+ + +/- +/- +/- +/-  ?  ? + + + +
 ? -[114] + +/- +  ? - +/-  ? +/-[115] +/- - +  ? +/- +/- +/- +/-  ?  ? + +  ? +
 ? - +
[116]
+ +  ? - + + +/-[117] + +[118] + + + + + +  ?  ? + +/- + +
 ? - +/-
[119]
+ + + x +  ? + x
[120]
+
[113]
+ + x
[120]
x
[120]
+  ?  ?  ? + + +
[121]
-
foreach +/-
[122]
- +
[123]
+ + - +/-
[124]
+ + + +
[125]
+ +
[126]
+ + + + + + + + + + +
List comprehensions - - - -/+
[127]
- - + + - - - + +[128] +  ? - +  ? + + + - +/- -
- - - +
[129]
+  ? + + + +
[130]
- + + +
[129]
+ +/-
[131]
+ + +
[132]
+ +
[129]
- +
[133]
-
+ - - - -  ? - - - - - - +[134] - -
[135]
- -  ? -  ? - + - -

[] -

Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi OCaml PureBasic
 ? - + [136] + +  ? x +  ? +  ? x x[137] + +/-[138] + +  ?  ?  ? + + + x
- - -/+[139] -/+[140] - - x -  ? -
[141]
- x
+ - -
[141][142]
- -
[141]
-
[141]
- - - - - x
Mixins  ? - -/+[143] - +  ? x  ?  ? +
 ? x
+  ?  ?
 ? +
[144]
+
+ +  ? -/+[145]  ? x
 ? x -/+[146] -  ? + x - - -  ? x - - -/+ - -  ?  ? - - -  ? x
 ? x + - - + x - - -  ? x + - + - + -  ? - - - + x
 ? x -/+
[147]
x x +
[148]
x x  ? x  ? x +[149] x + x + x  ? x x x  ? x

[]

Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi OCaml PureBasic
- - - - +[150] - - - - - - + - - - - - - - - - - - -
First class functions  ? -/+[151] +[152] + +  ? + + + - +
+ + +
+ -
+
+ + +  ? +/-
[153]
+  ?
 ? - +[154] +[155] +  ? + + + - +
+ +[156] +
+ +
+/-[157]
+ + + + +/-
[153]
+ +
- - + [158] + + + + + + +[159] + + + + + +[160] + + + + + +/-
[161]
+ -
 ? - +/-
[162]
 ? -  ?  ? +  ? - - + - + -
[163]
- +
[164]
+ +  ?  ?  ? +  ?
- - +/- [165] + - - - + - - +
+ - -
+ -
+
+[166] + - - - + -

[]

Ada C C++ C# D Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk VB.NET Delphi Ocaml PureBasic
-/+ +
[167]
+
[167]
- - - -/+ - - - - +/-
[168]
+ +
+[169] - - +/- - - +
[170]
- -/+
[171]
+
/Generics + - + + + + x
[172]
+ + + x
[172]
-
[173]
x
[172]
+ x
[172]
x [172] x
[172]
x
[172]
+ x
[172]
+ +
[174]
+/-  ?
Unicode + +
[175]
+
[176]
+ +  ? - + + + + + +[177] + +/- -/+ +
[178]
+
[179]
+ + + + + +
+ - + + + - + + + + -/+
[180]
+ +[181] + -
[182]
- -
[183]
- +  ? + + + -
 ? - -  ?  ?  ?
-  ?  ?  ?  ? +/-[184]
+[185]
 ? +
- -  ?  ?  ? +  ?  ? -
+ - - +
[186]
- - - +/- + - -/+
[187]
- +[188] + + - + + + -/+
[189]
+ -/+
[190]
+ -
+ - + +
[186]
+ - +/-
[191]
- + - - - +[192] + +/-
[193]
+ + + + +/- + + + +
+ -/+
[194]
+
[195]
+/- + - + + - +/-
[196]
+ + +[197] + +/- + + + + - +/- + +  ?
- - - +/- - - + + - - - + +/-[198] + + - -
[183]
- +  ? - - +  ?
- - - +
[199]
+ +  ? +/-
[199]
+/- +/-
[200]
 ? +
[201]
+ +  ? - +/- +/-  ?  ? +
[199]
- -  ?
(OpenGL/WebGL/OpenML/OpenAL DirectX)  ? + + +  ?  ?  ?  ?  ? + + +  ?  ?  ? -/+[202] +  ?  ?  ? + +  ?  ?

[]

Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp 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 - - - - - - ANSI - - - -

[]

  1. /Haskell. .
  2. , - . OpenGL, OpenCL, OpenMAX AL .., .
  3. 1 2 /Erlang. [1].
  4. /Javascript. .
  5. /Haskell. .
  6. c++ , Qt
  7. /Haskell. , . - Curry, Haskell .
  8. /Common Lisp. , .
  9. LINQ
  10. , , , , .
  11. /Perl. .
  12. /Ada. . Annex E. Distributed Systems.
  13. 1 2 /C C++. MPI OpenMP.
  14. /C#. , Parallel C#.
  15. /Haskell. , .   Glasgow Distributed Haskell.
  16. 1 2 ANSI , - . CL , .
  17. /Perl. 5.6. .
  18. /Smalltalk. Smalltalk  Strongtalk'.
  19. /C#. - dynamic 4.0.
  20. /F#. (?) xml?name xml.op_Dynamic("name"), .
  21. /Haskell. Data.Dynamic.
  22. /VB.NET. Option Strict.
  23. /Delphi. Variant.
  24. /Erlang. . . type test BIFs. . [2]
  25. /Perl. . Prototypes man perlsub.
  26. /Python. Python 3.0.
  27. /Smalltalk. Strongtalk.
  28. var, dynamic etc.
  29. /Ada. . 4.6 Type Conversions.
  30. /Perl. : $a = '5aa'; print $a + 0; : 5
  31. /Perl. , Perl : 1 + "2" # 3    1 . "2" # "12"
  32. DEFTYPE
  33. 1 2 /C++. C++0x [code]auto[/code] [code]decltype[/code].
  34. 1 2 3 4 /Common Lisp. Common Lisp, SBCL, .
  35. /C#. C# 4.0 .
  36. runtime/Ada. (Ada.Tags), . , , , , .
  37. runtime/++. , (typeid), .
  38. . ref isa
  39. Open-source ()/Smalltalk. Smalltalk , , ( , , , .)   . GNU Smalltalk, Squeak Strongtalk.
  40. Open-source ()/Delphi. FreePascal Lazarus.
  41. /Erlang. HiPE  High Performance Erlang. *nix-.
  42. PHP-, PHP-. , Roadsend PHP Compiler.
  43. /Smalltalk. Smalltalk  - ( ) , JIT-. . , Smalltalk MT Smalltalk/X.
  44. Bootstrapping-/Java. Java Compiler API 6.0.
  45. Narcissus.
  46. , SBCL
  47. Bootstrapping-/Python. PyPy.
  48. Bootstrapping-/Smalltalk. - Smalltalk . Smalltalk, Smalltalk  , , Squeak, Smalltalk, C . Squeak Squeak.
  49. /Ada. Business Shell (BUSH).
  50. 1 2 /C++. C++ CINT.
  51. 5.0 .
  52. Rhino Shell.
  53. GNU Smalltalk .
  54. /Ada. , , , . : Conditional Compilation , . gnatprep.
  55. /Java. ( assert) - ( , ) -ea/-enableassertion.
  56. [3].
  57. , , , . , #ifdef .[4][5]
  58. , «» , , .
  59. /Haskell. GHC Unboxed Types / Unboxed Arrays.
  60. DYNAMIC-EXTENT, .
  61. /Delphi. Delphi 2   ( Turbo Pascal) . .
  62. 1 2 3 4 5 6 7 FFI (foreign function interface)
  63.   ctypes.
  64. /Smalltalk. Smalltalk , , .
  65. unsafe + System.Runtime.InteropServices
  66. /Smalltalk. , , , . .
  67. /Ada. (.NET JVM) (AdaCL:GC). , Ada , . , .
  68. /C. . C C++ . , BoehmGC ( ).
  69. C++0x
  70. /Delphi. Delphi.NET.
  71. goto/Java. .
  72. GO. CL, , - .
  73. , . , , [6].
  74. goto/Ruby. goto , .
  75. goto/Smalltalk. goto , , goto . , proof of concept (.).
  76. RETURN. , RETURN-FROM.
  77. , Camlp4 http://code.google.com/p/ocaml-break-continue/
  78. RETURN-FROM
  79. , [7].
  80. ,
  81. ,
  82. Java-style try-catch handler-case. , Common Lisp . . (restarts), «»
  83. eval
  84. 1 2 3 PBOSL
  85. finally/Ada. finally , , finally. , proof of concept (.).
  86. MDN  MDC
  87. UNWIND-PROTECT
  88. camlp4 http://bluestorm.info/camlp4/dev/try/pa_tryfinally.ml.html
  89. catch
  90. Java-style try-catch handler-case. , Common Lisp . . (restarts), «»
  91. eval or {}
  92. Runops::Resume
  93. retry [8]
  94. yield return, LINQ, FCL 4.0 Lazy.
  95. Seq-, Lazy F#.
  96. ,
  97. /Ruby. , .
  98. Linq.
  99. Lazy Ocaml.
  100. setcontext et al. (UNIX System V and GNU libc)
  101. , cl-cont
  102. - http://okmij.org/ftp/Computation/Continuations.html#caml-shift
  103. /Java. Java 1.1.
  104. .
  105. [9]
  106. /Python. Stackless Python.
  107. , Lwt
  108. /C++. ( TR1 ( ), boost). , C++0x
  109. 1 2 /.NET. System.Tuple<T,...> FCL 4.0.
  110. 1 2 /Ada Delphi. .
  111. 1 2 3 4 5 6 7 8 .
  112. 1 2 /Haskell. Data.Array.
  113. /C. « » , , realloc.
  114. /Java. java.util.Vector ( ).
  115. map unordered_map
  116. /Java. java.util.HashMap ( ).
  117. /Haskell. Data.Map
  118. /++. , STL, std::vector, std::array at .
  119. 1 2 3 /Perl, PHP JavaScript. , .
  120. /Ocaml. -unsafe
  121. foreach/Ada. Iterate Reverse_Iterate , Ada.Containers.
  122. foreach/C++. C++11 for(auto x : some_array){}  , for(auto& x : some_array){}  .
  123. foreach/Erlang. foreach/3 lists.
  124. foreach/JavaScript. 1.6[10].
  125. foreach/Lisp. LOOP . « » .
  126. List comprehensions/C#. «Query Comprehension» List Comprehension .
  127. LOOP et al.
  128. 1 2 3 /.NET. System.Numerics.BigInteger, FCL 4.0.
  129. /Java. BigInteger BigDecimal.
  130. PHP , , [11] .
  131. /Scala. BigInteger BigDecimal.
  132. /OCaml. Num Big_int.
  133. : (INTEGER 0 9) 0 9
  134. /Perl. Tie::Scalar.
  135. CLOS.
  136. -. . [12]
  137. Visitor()
  138. dynamic
  139. 1 2 3 4
  140. (?) Perl 6
  141. _()#.D0.AD.D0.BC.D1.83.D0.BB.D1.8F.D1.86.D0.B8.D1.8F
  142. /
  143. implements. . 10-7 10-8 Object Pascal Guide.
  144. c++, , , using,  
  145.   ( ), (, )
  146. CLHS: Section 4.3.5
  147. Functions  D Programming Language 2.0  Digital Mars
  148. std::function c++0x
  149. 1 2 Delphi2009, .   .
  150. C++0x. - C++0x
  151. 2.0. C# 3.0 .
  152. LAMBDA
  153. lambda- c++0x ,
  154. 5.3
  155. Delphi2009, .
  156. boost::bind, std::bind1st, std::bind2nd
  157. , Sub::Curry Sub::Curried
  158. functools.partial Python 2.5
  159. lambda- c++0x
  160. Proc#curry, Ruby 1.9
  161. 1 2 /C. C.
  162. /Haskell. Template Haskell  , GHC.
  163. [13], , C/C++ Filter::cpp
  164. Visual Studio ( Express Edition)
  165. camlp4
  166. 1 2 3 4 5 6 7 8 .
  167. Generics/Haskell. , .
  168. Generics/Delphi. Delphi 2009.
  169. Unicode /C. gcc 4.2
  170. Unicode /C++. MS, MSVS++ 2005 gcc 4.2
  171. Unicode /Python. Python 3.0.
  172. Unicode /Ruby. Ruby 1.9.
  173. /JavaScript. , .
  174. [14].
  175. 1 2 /Python. PEAK-rules.
  176. implicit-parameters
  177. DEFVAR DEFPARAMETER, SPECIAL, .
  178. 1 2 /C#. C# 4.0.
  179. /JavaScript. , : f ({param1: "value1", param2: "value2"}).
  180. «&key» .
  181. /Smalltalk. :::  , , : 1 : 2 : 3. , , .
  182. /Delphi: OLE: Word.Openfile(filename='1.doc')
  183. /Erlang. .
  184. «&key» «&optional»
  185. /Perl. , . [15].
  186. /. gcc , . [16].
  187. /++. lambda- c++0x
  188. /Java. () , , .
  189. C LABELS
  190. DESTRUCTURING-BIND EQL .
  191. 1 2 3 Code Contracts FCL 4.0.
  192. /Java. Java 5, OVal AspectJ, iContract [17] .
  193. /Haskell. QuickCheck.
  194. OpenGL php  phpOpenGL project ( Github)

[]

[]

[]

. (, «» ), («» ). , «» , , , .

[] -

, . , , . , :, . «».

[]

, eval. .

[]

. . , .

[]

, .

[]

. , ,   . , .

[]

.

[]

. , («» ), , .

[]

, .

[]

[]

(. ). / .

[]

(. ). / ( /), . .

[]

.

[]

. , .

[]

- , , () .

[]

,   , , .

[]

,   , , .

[]

, , . : 1 «2»  3, «12».   , (boolean).

[]

( ) , . , typedef . using C# - .

[]

, . , , +. ..

[]

, . , , +. .

[] -

- generic-, .

[]

. . -, .

[]

(aka generic types). constraints type classes -.

[]

- type parameters. (, ). , +/-.

[]

type constructors ( Scala). . 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), +.

[] List comprehensions

List comprehensions ( ).

[]

/ (tuple)  , .

[]

. .

[]

, , [-5..27], , , .

[] -

[]

, , . . .

[]

( ).

[]

(run time) .
«message passing» «Visitor».

[]

/ .

[]

  (B A, C A, D B C). , / .

[]

[] First class functions

.

[]

- ( ) - ( ) -

[]

,  f \colon (A \times B) \to C ,  P(f, a) \colon B \to C , (P(f, a))(b) = f(a, b). (   ).

[]

[]

-, / . , , ++.

[] /Generics

, templates C++ generics C#.

[] Unicode

Unicode- (, ) .

[]

(. ). / .

[]

,  (.).

[]

/ .

[]

/ , , .

[]

/. .

[]

.

[]

- - . . .

[]