рдФрд░ рдПрдХ рдорд╛рдЙрд╕ рдФрд░ рдПрдХ рдореЗрдВрдврдХред рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдХрдВрдкрд╛рдЗрд▓рд░

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ [1], [реи] рд╕реНрд╡рд┐рдлреНрдЯ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд░реВрдк рд╕реЗ рднреВрд▓ рдЧрдПред рд╕рдЪ рдХрд╣реВрдВ рддреЛ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд╣реАрдВ рдорд╛рдирд╛, рдмрд▓реНрдХрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдХрдУрдПрд╕ / рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рд╕рдВрдпреЛрдЧ рд╕реЗ рд╣реБрдЖ рдХрд┐ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЛ рдПрдХ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдЬреИрд╕реЗ рд░реЗрдореЛрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рднреА рд╕рдорд░реНрдерди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдерд╛ред C #, Go, Java, Oxygene Object Pascal, Swift for: Android, Cocoa (MacOS, iOS, tvOS), JVM, Linux (x64, armv6, anarch64), .NET / .NET Core / Mono, Native Windows рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (x86 / x64), WebAssemblyред

рдФрд░ рдпрд╣ рднрд╛рд╖рд╛ рдХреЗ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ тЖТ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА! рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд▓рдХреНрд╖реНрдп .NET рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП WPF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рдЙрди рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╣реИ рдЬреЛ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд░реЗрдореЛрдмреНрдЬреЗрдХреНрдЯреНрд╕ рддрддреНрд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдорд┐рдиреА-рдиреЛрдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рд╕рд╛рде рд╣реА рдЗрд╕рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рджреЛ рднрд╛рд╖рд╛рдУрдВ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рд╕реНрд╡рд┐рдлреНрдЯ рдФрд░ рдСрдХреНрд╕реАрдЬрд┐рдиред

рд░реЗрдбрд┐рдпреЛрдиреЛрдЯрдкреНрд▓рд╕ рд╕реЗ рдЪрд┐рддреНрд░рд╛


рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд░рдирдЯрд╛рдЗрдореНрд╕ - рджреЗрд╢реА, рдЬреЗрд╡реАрдПрдо, .NET, рдЬреАрд╕реА, рдПрдЖрд░рд╕реА рдХреА рдЕрдВрддрд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмрд╕ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдмрджрд▓ рдЧрдпрд╛, рдФрд░ рджреЛрдиреЛрдВ рдЗрдВрджреНрд░рд┐рдпреЛрдВ рдореЗрдВ - рдЪрд░реНрдЪрд╛ рдХреЗ рджреМрд░рд╛рди рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдЖрдИрдУ рдЕрд╕рдВрднрд╡ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ RemObjects рддрддреНрд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдпрд╣ рдпрд╛ рддреЛ рдПрдХ рдбрд┐рдмрдЧрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд░рд┐рдореЛрдЯ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдпрд╛ рдореИрдХрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреВрд░рд╛ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╛ рдпрд╣ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдХреЛ рдХреЛ рдПрдХреНрд╕рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ, рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП $ 199 рд╕реЗ рдЦрд░реНрдЪ рд╣реЛрддрд╛ рд╣реИ, рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд▓рд┐рдП $ 799 рддрдХред рдХреНрд▓рд╛рдЗрдВрдЯ - рд╕рд░реНрд╡рд░ рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдкрд╛рдиреА рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд╛рдо рд╣реИ, рдпрд╣ рдХрд╛рдлреА рддрдкрд╕реНрд╡реА рд╣реИ, рдЗрд╕рдореЗрдВ рджреГрд╢реНрдп рд░реВрдк рд╕рдВрдкрд╛рджрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдЦреНрддреА рдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд╣реИ, рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗрд╡рд▓ 700MB рд▓реЗрддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ JRE, .NET, Android NDK рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред

рдЙрд╕реЗ рдбрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдореИрдВ рдмрд╣реБрдд рдкреНрд░рд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛, рд╡рд╣ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рддреА рд╣реИ, рд╡рд╣ рдХрднреА рдирд╣реАрдВ рдЧрд┐рд░рддреА рд╣реИ (рд▓реЗрдХрд┐рди рд╕реНрдореГрддрд┐ рдмрд╣ рд░рд╣реА рд╣реИ)ред

рдЖрдИрдбреАрдИ рдХреЛ рдмреЛрдирд╕ рдмрд╣реБрдд рд╣реИ:

  • ( Water , -)
  • -
  • C#, Swift, Java, Delphi, C, Obj-C Oxygene, C#, Swift, Java, Go
  • Go- . Go
  • -
  • Delphi/VCL


рдмреЗрд╢рдХ, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рд╕реА рдкрдХрдбрд╝ рд╣реИ рдЬреЛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ (рд╕реА) рдЖрдк рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд▓реЗ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ OI рдпрд╣ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗрд╡рд▓ рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ RTL _and_ рд▓рдХреНрд╖реНрдп рдордВрдЪ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣реА рд╣реИред .NET рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рдЖрдк WPF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди rt.jar рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдореВрд▓, рдХреЗрд╡рд▓ WinAPI рдпрд╛ GTK рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдСрдХреНрд╕реАрдЬреАрди рдореЗрдВ рд▓рд┐рдЦреА рдЖрдзрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣рд░ рдЬрдЧрд╣ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдбреЗрд▓реНрдлреА рдХреЗ рд╕рд╛рде рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдкрд░рдд - рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡реЗ рдЧреАрдердм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ ред

рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ RO рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЙрдкрдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИрдВред

рдХреЛрдХреЛ рдХреЗ рд▓рд┐рдП рдПрдЖрд░рд╕реА рдЬреИрд╕реЗ рд▓рдХреНрд╖реНрдп рдордВрдЪ рд╕реЗ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдЬреАрд╕реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рдпрд╣ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреАрдердм рдкрд░ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣реИ ред

рдПрдХ рдЕрд╡рд▓реЛрдХрди рдЬреЛрдбрд╝реЗрдВред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореИрдиреНрдпреБрдЕрд▓ рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрдореЗрдВрдЯ (рдореЙрд▓реЛрдХ / рдлреНрд░реА) рдХреЗ рддрд╣рдд рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдпрд╣ рдПрдЖрд░рд╕реА рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдЖрд░рд╕реА рдХреЗ рддрд╣рдд рдерд╛, рддреЛ рдпрд╣ рдЬреАрд╕реА (рддрддреНрдХрд╛рд▓ рд╡рд┐рдирд╛рд╢ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рддрд╣рдд рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛


Oxygene


рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдкреБрд░рд╛рдирд╛ рдкрд░рд┐рдЪрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕реНрдХрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░ред .NET рдХреЗ рд▓рд┐рдП рдСрдХреНрд╕реАрдЬрд┐рди рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рднреА рдбреЗрд▓реНрдлреА рдкреНрд░рд┐рдЬреНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛ рдЧрдпрд╛ред

рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рджрд┐рдЦрддрд╛ рд╣реИ:

  • рдЬреАрд╕реА
  • рдЕрд╢рдХреНрдд рдирд┐рдпрдВрддреНрд░рдг рд╕рдорд░реНрдерди
  • рдЕрдиреБрдмрдВрдзреЛрдВ рдФрд░ рдЪрд╛рд▓рд╛рдиреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛
  • рдкрд╣рдЪрд╛рди рд░рдЬрд┐рд╕реНрдЯрд░ рдирд┐рдпрдВрддреНрд░рдг
  • рд╢реБрд░реВ / рдЕрдВрдд рдЬреЛрдбрд╝реЗ рдХреЗ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ)
  • рдмрдВрдж / рдЖрд▓рд╕реА рдзрд╛рдЧрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд░реНрдЧ рддрд░реАрдХреЗ
  • рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, RAII рдХреЗ рдЕрд░реНрде рдореЗрдВ

Minusesред рдЬреАрд╕реА рдХрд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рднреА рд╣реИ - рдЕрд╕реНрдерд╛рдпреА рдЧреИрд░-рдирд┐рд░реНрдзрд╛рд░рдгрд╡рд╛рдж, рд╕реНрдореГрддрд┐ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЦрдкрддред рдЖрдк рдЙрди рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЛ рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрдВрдкрдиреА рдФрд░ рд╕рдореБрджрд╛рдп рдХрд╛ рдкреИрдорд╛рдирд╛ рдЫреЛрдЯрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЯреЗрдХреНрдиреАрд╢рд┐рдпрди рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдВрднрд╡рддрдГ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрдзрд┐рдХ рд╣реИрдВ ред рдкреНрд░рд▓реЗрдЦрди рдХрдордЬреЛрд░ рд╣реИ, рдФрд░ рдореВрд▓ рдврд╛рдВрдЪрд╛ рдиреНрдпреВрдирддрдо рд╣реИ, рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ "рдмрд╛рдЗрдХ" рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЦреАрдВрдЪ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХрд╛ рд▓рдХреНрд╖реНрдп .NET рдпрд╛ JRE рдирд╣реАрдВ рд╣реИред

рддрдХрдиреАрдХреА рдкрдХреНрд╖ рдореЗрдВ, рдЗрд╕рдиреЗ рдбреЗрд▓реНрдлреА рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЪреАрдиреА рдХреЛ рдЬреЛрдбрд╝рд╛:

  • async / рдкреНрд░рддреАрдХреНрд╖рд╛ / рднрд╡рд┐рд╖реНрдп, рдЗрдВрддрдЬрд╛рд░ - рдЕрдм рдХреЗрд╡рд▓ .NET рдХреЗ рд▓рд┐рдП
  • LINQ
  • рдЬреЗрдиреЗрд░рд┐рдХ / рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХрд╛рд░ (рдбреЗрд▓реНрдлреА рд╕реЗ рдЕрд▓рдЧ)
  • tuples
  • рдЕрдиреБрдХреНрд░рдо / рдЙрдкрдЬ
  • рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХреНрд╖реЗрдк

рдЕрдиреНрддрд░рд╛рд▓ред рд╕реА #


рдЗрд╕реЗ рд╕реАрдорд┐рдд рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдХрд╛рд░рдг рдкрд╣рд▓реЗ рд╣реА рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди .NET рдХреЛрд░ 3 рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рд╕рд╛рде, рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдпрд╣ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рд╣реЛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рднрд╛рд╖рд╛ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд▓рдХреНрд╖реНрдп рдХреЗ рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЪрдпрди рдХреЗ рд╕рд╛рде рд░реЗрдореЛрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИред

рджрд░рдЕрд╕рд▓, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд╕рд╛рде, C # рдХрдореЛрдмреЗрд╢ рд╕рднреА рд╕рд╣реА рд╣реИред рдЬреАрд╕реА рд╕реБрдВрджрд░рддрд╛ рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЕрд╢рдХреНрдд рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдирд┐рдпрдорд┐рдд рдПрдирдкреАрдИ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдирд┐рд░реНрджреЛрд╖ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЕрдкрд╡рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ LINQ рдХреЗ рдЕрд╕рдлрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВред

рдЬреАрд╕реА рдФрд░ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдПрдВрдмреЗрдбреЗрдб рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, JIT .NET рдорд╛рдЗрдХреНрд░реЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд┐рдирд╛ рдХреЗрд╡рд▓ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ 2015 рд╕реЗ рдПрдВрдмреЗрдб рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдиреАрдПрд▓рдЖрд░рдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдЕрдм рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рджреНрд╡рд╛рд░рд╛ рдФрд░ рдмрдбрд╝реА, рдПрдХ рд╕реА-рдЬреИрд╕реА рдорд╢реАрди-рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛, рдирд╡реАрдирддрдо рдФрд░ рдЕрдкрдиреЗ рдкреВрд░реНрд╡рд╡рд░реНрддрд┐рдпреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдмрдирд╛рдИ рдЧрдИред Apple рджреНрд╡рд╛рд░рд╛ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдВрдХрд▓рдХ рдЕрднреА рднреА рдЙрдмрдВрдЯреВ рдХреЗ рдЕрдзреАрди рд╣реИ, рдЬрд┐рд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд╕реНрддрд░ рдкрд░ рдЕрд╡рд╕рд░реЛрдВ рдиреЗ рд╕рднреНрдп рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдФрд░ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджрд░реНрдн рд╡рд░реНрдЧ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рдПрдХ рдореВрд▓реНрдп, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рд╕реА # рдореЗрдВред

рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдореВрд▓ ARC рдореЗрдВ рд╣реИ, рдФрд░ Apple рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд░реЗрдореЛрдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ GC рд╣реИред
рдПрдВрдмреЗрдбреЗрдб, рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднрд╛рд░реАред

рдмрд╛рдХреА рдЬреЛ рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рд╣реИред рдХреЛрдИ рдЕрдиреБрдмрдВрдз рдирд╣реАрдВ рд╣реИ (рд░реЗрдореЛрдмреАрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЧреИрд░-рдорд╛рдирдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдВ), рд▓реЗрдХрд┐рди рд╕рдВрдкрддреНрддрд┐ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХреЛрдВ рдпрд╛ @propertyWrapper рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рд╕рдВрднрд╡ рд╣реИ рдЬреЛ 5.2 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ (рд░реЗрдореЛрдмрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдЖ )

рдЯреНрдпреВрдкрд▓ рдХреЛ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рдлрд╝рдВрдХреНрд╢рдВрд╕, array.insert(x, at: i)рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдкреВрд░реНрд╡рд╡рдд, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред

рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ, рдореИрдВ рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдХрд╣реВрдВрдЧрд╛ред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ (5.2) рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдХреЗрд╡рд▓ рдЙрд╕реА рд░реЗрдкреНрд▓рд┐рдЯ (5.0) рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд░реЗрдореЛрдмреАрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдмрд┐рд▓реНрдХреБрд▓ рдЕрдиреБрд░реВрдк рд╣реИрдВ ред

рд░реЗрдореЛрдмрд┐рдЬ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рд╕рдВрджрд░реНрдн рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ - рдПрд░реЗ рдХреЛ рдпрд╣рд╛рдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рднреА рдЕрд▓рдЧ рд╣реИрдВ, рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рди рдХреЗрд╡рд▓ рдЕрдкрдирд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдмреАрдЪ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЬреЛ рдмреЛрд░рд┐рдВрдЧ рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╡рд┐рдзрддрд╛ рд▓рд╛рддрд╛ рд╣реИ =)

рдЕрдВрддрд┐рдо рд╕рд╛рд░рд╛рдВрд╢ рдЕрджреНрдпрддрди рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рддрд╛рд▓рд┐рдХрд╛

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрджрд░реНрдн рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рддрд╣реА рд╣реИ, рдФрд░ рдЗрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЛ рдХрдард┐рди рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрдХрд▓рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛


рдЖрдЗрдП рд▓реЗрдЦ рдореЗрдВ рд▓реЗрд╡реЗрдВрд╕рд╣реЗрдЯрд┐рди рджреВрд░реА рдХреЗ рд╕рдорд╛рди рдПрдХ рд╕реНрд╡рд┐рдлреНрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ 0xd34df00d рдФрд░ рд╡рд╣рд╛рдБ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВред

рддреАрд╡реНрд░
/*    
	  Windows.Native, Elements.Island
*/

class Program {
	 public static func LevDist(_ s1: [UInt8], _ s2: [UInt8]) -> Int32! {
		 let m = s1.count
		 let n = s2.count
		 //  Edge cases.
		 if m == 0 {
			 return n
		 } else {
			 if n == 0 {
				 return m
			 }
		 }

		 var range = Range(0 ... (n + 1))
		 var v0: Swift.Array<Int64> = range.GetSequence()  //17ms

//         var v1 = v0;    // in Swift must copy, but RO make a ref
		 var v1 = Swift.Array<Int64>(v0);

		 var i = 0
		 while i < m {
			 v1[0] = i + 1
			 var j = 0
			 while j < n {
				 let substCost = (s1[i] == s2[j] ? v0[j] : v0[j] + 1)
				 let delCost = v0[j + 1] + 1
				 let insCost = v1[j] + 1
				 v1[j + 1] = substCost < delCost ? substCost : delCost
				 if insCost < v1[j + 1] {
					 v1[j + 1] = insCost
				 }
				 j += 1
			 }

			 let temp = v0; v0 = v1; v1 = temp // copy refs
			 i += 1
		 }
		 return v0[n]
	 }
 }


var b1 = [UInt8](repeating: 61 as! UInt8, count: 20000)
var b2: [UInt8] = b1
var b3 = Swift.Array<UInt8>(repeating: UInt8(63), count: 20000)

print("Start Distance");

var execTimer: StopWatch! = StopWatch()
execTimer.Start()

print(Program.LevDist(b1, b2))
print(Program.LevDist(b1, b3))

execTimer.Stop()

var execTime: Float64 = execTimer.ElapsedMilliseconds / 1000.0 / 10

print("\(execTime) s")
return 0


рдмрд╛рдХреА рдХрдо рд╕реЗ рдХрдо рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдмрд╕реЗ рдЧрдВрднреАрд░ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ, рдореИрдВ рдЬреАрдердм рдкрд░ рдЫрдВрдЯрдиреА рдХреА ред рдЬреЛ рд▓реЛрдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдореЗрдВ рдбрд░рддреЗ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВ, рд╡рд╣рд╛рдВ рднреА рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реБрд░рдХреНрд╖рд┐рдд рдЬреЗрд╡реАрдПрдо рдФрд░ рдиреЗрдЯ рд╡рд┐рдХрд▓реНрдк, рдпрд╛ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд░рд┐рд╡рд░реНрддрди рдЖрд░рдУ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдорд╛рдк рднрд╛рдЧ рд╕реЗ Encoding.UTF8.GetBytes рдХреЛ рд╣рдЯрд╛рдиреЗ, рдФрд░ рдпрд╣ рдирд┐рдХрд▓рд╛ рдХрд┐ рдкрд╛рд╕реНрдХрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреНрд░рдкрддреНрд░ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЧрдарди for i := 1 to 20000 do s1 := s1 + 'a';4 рдорд┐рдирдЯ (рдорд╛рдк рднрд╛рдЧ рдХреЗ рдмрд╛рд╣рд░) рддрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдо рддрд╛рд▓рд┐рдХрд╛ (рдЬрд╛рд╡рд╛ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░реВрдк рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд)
рдЬреБрдмрд╛рдирдордВрдЪрд╕рдВрдХрд▓рдХрд╕рдордп рдПрд╕рдЖрджрд░реНрд╢рдкреИрд░рд╛рдореАрдЯрд░
рд╕реА #NET4.7NET4.7.306213,075445%-рдУ +
рд╕реА #рдиреЗрдЯ рдХреЛрд░ 3.1рддрддреНрд╡ 10.011,327385%рд░рд┐рд▓реАрдЬ,> рдбреЙрдЯрдиреЗрдЯ cs.dll
рд╕реА #рд╡рд┐рди x64рддрддреНрд╡ 10.06312215%рд░рд┐рд╣рд╛рдИ
рдЬрд╛рд╡рд╛JVMJDK 1.8.0.2422,941100%-g: рдХреЛрдИ рдирд╣реАрдВ
$ рдЬрд╛рд╡рд╛ рд▓реЗрд╡рд╛рдбрд┐рд╕реНрдЯ
рдЬрд╛рд╡рд╛JVMрддрддреНрд╡ 10.02,85197%release
$java -jar java8.jar
OxygeneNET4.7Elements 10.022,079751%release, range checking off
OxygeneWin x64Elements 10.09,421320%release, range checking off
SwiftJVMElements 10.023,733807%release
$java -jar swiftjvm.jar
SwiftWin x64Elements 10.0131,4004468%release
Go (Beta)Win x64Elements 10.089,2433034%release
рдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдПрдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ рдЪреВрдХ рдЧрдпрд╛ред

Win7 рдХреЗ рд╕рд╛рде рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдореЗрдВ рдорд╛рдк рдХрд┐рдП рдЧрдП рдереЗ, рдЬрд┐рд╕рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдореЗрд░реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд▓рдЧрднрдЧ рддреАрди рдЧреБрдирд╛ рдзреАрдорд╛ рдХрд░ рджрд┐рдпрд╛ рдерд╛, рдФрд╕рдд 5 рдорд╛рдкреЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдм рддрдХ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ - рдРрдкреНрдкрд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реНрд╡рд┐рдлреНрдЯ рдкрд░ рдЬреАрд╡рди рднреА рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЙрдкрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрд╣ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд┐ Win7 рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Win10 SDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдореВрд▓ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ - рд╕рд░реНрд╡рд░ 2016 1607 рдкрд░ рд╕рдордп рдЙрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред

[рез] рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ - рдиреЙрдм рд░рд┐рд╡реНрдпреВред рднрд╛рдЧ 1
[2] рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧред рднрд╛рдЧ 2 - рдЪреИрд▓реЗрдВрдЬрд░реНрд╕

All Articles