рд╕реНрд░реЛрдд: рд╡рд╛рд░реНрдб рдХрдирд┐рдВрдШрдоTranspilation рдПрдХ рднрд╛рд╖рд╛ рд╕реЗ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдореЗрдВ рдХреЛрдб рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ (рдЯреНрд░рд╛рдВрд╕рдХрдореНрдкреЗрд▓рд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдкреНрд░рдпреЛрдЬрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреНрдп-рдкреНрд░рдпреЛрдЬрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЯреНрд░рд╛рдВрд╕рдкреЙрдпрд▓рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреВрд░реЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╕рд╣реЗрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдкрд╛рдпрдерди 2 рд╕реЗ рдкрд╛рдпрдерди 3 рддрдХ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛, рдпрд╛ рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рд╕реЗ рдирдП рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордпред
рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдХрдореНрдкрд╛рдпрд░ рд╢рдмреНрдж рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЕрдХреНрд╕рд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА
рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдорддрднреЗрдж рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ C ++ рдХреЛрдб рдХреЛ C, рдФрд░ Python-Ruby рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░рд╛рдВрд╕рдкреЗрдВрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП
рдмреИрдмреЗрд▓ рдПрдХ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ рд╣реИ, рдФрд░
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯреЗрдб рднрд╛рд╖рд╛ рд╣реИред
рдХрднреА-рдХрднреА, рдХреЛрдб рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдмрд╛рдж, рдореИрдиреНрдпреБрдЕрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯреЗрдб рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреЛрдб рдХреЛ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдЬ рд╣рдо рдЙрди рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рд╣рдо рдЙрди рд▓реЛрдХрдкреНрд░рд┐рдп рдЯреНрд░рд╛рдВрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдлреНрд░рдВрдЯ-рдПрдВрдб рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд┐рдХреЗрд╢рди
рд░реВрдкрд╛рдВрддрд░рдг рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ: рдЪреВрдВрдХрд┐ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ, рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХреНрд╖рдорддрд╛рдУрдВ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрдд рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреЗрд╡рд▓рдкрд░ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдмрдврд╝рддреА рдЯреНрд░рд╛рдВрд╕-рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдирддреАрдЬрддрди, рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рд╕реЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЧрддрд┐ рдкрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдкреВрд░реНрдг рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рдХрд░реАрдм рдЖрддреЗ рд╣реИрдВред
рд╕реИрд╕ ,
рдХрдо, рдФрд░
рд╕реНрдЯрд╛рдЗрд▓рд╕ рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВред рддреЛ Sass рдореЗрдВ рдПрдХ рд▓рдЪреАрд▓рд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕, рддрд░реНрдХ (@if, рдкреНрд░рддреНрдпреЗрдХ), рдЧрдгрд┐рдд (рдЖрдк рд╕рдВрдЦреНрдпрд╛рдУрдВ, рд░реЗрдЦрд╛рдУрдВ рдФрд░ рд░рдВрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ), рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдХреЛрдб рдХреА рд╕рднреА рд╕рдореГрджреНрдзрд┐ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реАрдПрд╕рдПрд╕ рд░реВрдмреА-рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред
рдХрдо (рд▓реАрдирд░ рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯреНрд╕) рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЬреЛрдбрд╝ рд╣реИрдВ: рдЪрд░, рдорд┐рд╢реНрд░рдг, рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди (рдЬреИрд╕реЗ рд╕реИрд╕), рдЖрджрд┐ред
рд╕реНрдЯрд╛рдЗрд▓рд╕ рдХреЛ Node.js рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд╕реНтАНрддреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ Sass рдФрд░ Less рд╕реЗ рдЕрд▓рдЧ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рддреАрдиреЛрдВ рднрд╛рд╖рд╛рдПрдБ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдмрд╣реБрдд рдорд┐рд▓рддреА-рдЬреБрд▓рддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рднреА рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрд╕реЗ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реЛрдЧреАред
рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ "рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб!" рдХрд╣реЗрдВ - рдЬреЛ рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
alert "Hello, World!"
CoffeeScript рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ: рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА (рдкреНрд░рд▓реЗрдЦрди рдПрдХ рдкреГрд╖реНрда рдкрд░ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ), рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рдХреЛрд╖реНрдардХ, рдЗрдВрдбреЗрдВрдЯреЗрд╢рди, рдЖрджрд┐) рдФрд░ рд╢реБрджреНрдз рд░реВрдмреА-рдкреНрд░реЗрд░рд┐рдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╕рдВрдпреЛрдЬрди, рдпрд╣ рднрд╛рд╖рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рдХрдИ рдбрд┐рдЧреНрд░реА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдФрд░ рдЬреЗрдПрд╕ рдХреЛ рдЕрдзрд┐рдХ рдЕрднрд┐рд╡реНрдпрдВрдЬрдХ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рдорд╛рд╕реНрдЯрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ:
let message:string = "Hello World" console.log(message)
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЖрдкрдХреЛ рдЬреЗрдПрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдПрдХ рд╡рд┐рдзрд┐ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рддрд░реНрдХреЛрдВ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд░рд╛рдп рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореВрд▓рднреВрдд рджреЛрд╖реЛрдВ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкрдиреА рдХрдорд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЯреНрд░рд╛рдВрд╕-рднрд╛рд╖рд╛рдУрдВ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЛ рд╕рдордЭрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд▓рдЪреАрд▓реА рд╡реЗрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛
рдбрд╛рд░реНрдЯ , рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдХреНрд▓реЛрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рднреА рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк "
рдЬреЗрдПрд╕ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕реВрдЪреА " рдкреГрд╖реНрда рдкрд░
рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ ред
рд╕реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ
2006 рдореЗрдВ,
Vala рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рджреЛ рднрд╛рд╖рд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рдереАрдВ: Vala рдФрд░ рдЬрд┐рдиреА, рдЬреЛ рд╕рдмрд╕реЗ рдЖрдо C рдХреЛрдб рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
Vala рд╕рд┐рдВрдЯреИрдХреНрд╕ C # рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди GObject рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ, рдЬрдмрдХрд┐ рдЬрд┐рдиреА рдореЗрдВ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрдЫ рд╣реИред рдкрд╣рд▓реА рднрд╛рд╖рд╛ рдЕрдм рдЬрд┐рдиреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рддреЛ рдЖрдЗрдП рдЗрд╕реЗ рдХрд░реАрдм рд╕реЗ рджреЗрдЦреЗрдВред
рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА? рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ GNOME рдХреЗ тАЛтАЛрд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ C # рдпрд╛ Java рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗред Vala рдЖрдкрдХреЛ рдХрдо рд╕реНрдореГрддрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорд╛рдирдХ C API рдФрд░ ABI рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реБрдП рдЬрд▓реНрджреА рд╕реЗ рдЬрдЯрд┐рд▓ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
C # рдФрд░ Java рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ C рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рджреЗрд╢реА GObject рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ GNOME рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Valac, Vala transcompiler, Vala рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ C рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реАрдзреЗ C. рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред C рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ Vala рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп GObject рдЖрдзрд╛рд░рд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред
рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ Vala рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
voidmain () { try { string filename = "data.txt";
рдЖрдк
рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдиреНрдп рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдлреНрд▓реИрд╢ рд╕реЗ рд▓реЗрдХрд░ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рддрдХ
Haxe рдХреЛ Vala рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп Flash, JavaScript рдФрд░ Neko рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд┐рдВрдЧ рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде, рднрд╛рд╖рд╛ рд╡рд┐рд▓реБрдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд░реНрдмрд╛рдж рд╣реЛ рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рди рдХреЗрд╡рд▓ рдЬреАрд╡рд┐рдд рд░рд╣реА, рдмрд▓реНрдХрд┐ рдорд╣рд╛рди рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рднреА рд╣рд╛рд╕рд┐рд▓ рдХреАред
рд╕рдлрд▓рддрд╛ рдХрд╛ рд░рд╣рд╕реНрдп рдмрд╣реБ-рдордВрдЪ рд╣реИред рд╕рдордп рдХреЗ рд╕рд╛рде, Haxe рдЯреВрд▓реНрд╕ рдХрд╛ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдореВрд╣ рдмрди рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, C ++, C #, Java, JVM, рдкрд╛рдпрдерди, рд▓реБрдЖ, рдкреАрдПрдЪрдкреА рдФрд░ рдлреНрд▓реИрд╢ рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓реАрдХреЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╣реИрдХреНрд╕ рдПрдХ рдЖрдзреБрдирд┐рдХ, рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп, рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ, рддрд╛рдХрд┐ рд╕рдВрдХрд▓рди рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореВрд▓ рд░реВрдк рд╕реЗ рдИрд╕реАрдПрдорд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд╛рдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣реИрдХреНрд╕ рдкрд░ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб":
class Main { static public function main():Void { trace("Hello World"); } }
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдХреЛрдб рдХреА рдпреЗ рд▓рд╛рдЗрдиреЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА:
haxe -main HelloWorld -js HelloWorld.js
рдФрд░ рдЗрд╕ рддрд░рд╣ рдЬрд╛рд╡рд╛ рдореЗрдВ:
haxe -main HelloWorld -java path/to/java/out
рдЕрдзрд┐рдХрд╛рдВрд╢ Haxe рдХреЛрдб рдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдПрдХ рдУрдУрдкреА рднрд╛рд╖рд╛ рдмрдирддреА рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛, рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ 3 рдФрд░ рд╕реА # рдЬреИрд╕реА рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣реЗрдХреНрд╕ рдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдФрд░ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдореЗрдВ рдЖрд╕рд╛рдиреА рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдФрд░ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
- C2Rust рдФрд░ Corrode C рд╕реЗ Rust рдореЗрдВ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдирд╣реАрдВ, рдкрд╛рдк рд░рд╣рд┐рдд рдЕрд╡рд╕рд░ рд╣реИрдВред
- VOC Python 3.4+ рд╕реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ Python рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
- рд▓рдВрдмреЛрдХ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЬрд╛рд╡рд╛ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛ рдореЗрдВ рдирдП "рдХреАрд╡рд░реНрдб" рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЬрд╛рд╡рд╛ рдХреЛрдб рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рдореЗрдВ рд╡реИрд▓ рдХреАрд╡рд░реНрдб (рд╕реА # рд╕реЗ var рдХрд╛ рдПрдирд╛рд▓реЙрдЧ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- Bridge.NET рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ C # рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА VisualStudio IDE рдФрд░ рдорд╛рдирдХ .NET рдЙрдкрдХрд░рдг (рдЬреИрд╕реЗ msbuild, Refactoring, рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдХреЛрдб рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, FxCop)ред
- рдХреНрд░реЛрдзреА рдкрд╛рдпрдерди рдХреЛрдб рдХреЛ рдЧреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЧреЛ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╡реИрд╢реНрд╡рд┐рдХ рд▓реЙрдХрд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдЬреЛ рдХреЛрдб рдХреЗ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред
рдмреЗрд╢рдХ, рдХрдИ рдЕрдиреНрдп рдЯреНрд░рд╛рдВрд╕рдкреЙрдпрд▓рд░ рд╣реИрдВред рдЖрдк рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рд╣рдореЗрд╢рд╛ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдПрдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЛрдб-рдЯреВ-рдХреЛрдб рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ C ++ рд╕реЗ C, PHP рд╕реЗ C ++ рдФрд░ "рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреБрдЫ рднреА" рдХреЗ рдмрд╛рдж рд╕реЗ рдХрдИ рдмрд╛рд░ рдЯреНрд░рд╛рдВрд╕рдлрд╝рд┐рд▓реЗрд╢рди рд╣реЛрддрд╛ рд╣реИред
рдПрдХ рднрд╛рд╖рд╛ рд╕реЗ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдореЗрдВ "рдЕрдиреБрд╡рд╛рджрдХ" рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдкрд░рд┐рдгрд╛рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдЬреЛрдЦрд┐рдо рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, COBOL рд╕реЗ Java рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдореБрд╢реНрдХрд┐рд▓ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ JDK 1.4 рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ
рдореЗрдореЛрд░реА-рдореИрдкреЗрдб рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рдереАрдВ ред рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд▓реЗрдЦ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд C2Rust рдФрд░ Corrode рдПрдХ рдЧреИрд░-рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рдХреЛрдб рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдФрд░ рдХрдЪреНрдЪреЗ рд╕рдВрдХреЗрдд рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИред