рдЕрдЬрдЧрд░ рдЕрджреНрднреБрдд рд╣реИред
рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рд╣реИ, рдпрд╣ рдПрдХ рдорд┐рд╢реНрд░рд┐рдд рдмрдпрд╛рди рд╣реИред рдореБрдЭреЗ рдкрд╛рдпрдерди рд╕реЗ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рд╢рд╛рдпрдж рдПрдХ рдЕрдореВрд░реНрдд рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдлрд╝реЗрд╕? рдпрд╛ рд╕реАрдкреАрдереЙрди, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рд╕рдорд╛рди рд╕рд╛рдЗрдерди рдирд╛рдо рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛)? рдпрд╛ рдореИрдВ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдорддрд▓рдм рд╣реИ? рд╢рд╛рдпрдж рдореИрдВ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдЬрд╛рдЗрдерди, рдпрд╛ рдЖрдпрд░рдирдкреАрдереЙрди, рдпрд╛ PyPy рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрддрдирд╛ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реВрдБ рдХрд┐ рдореИрдВ RPython рдпрд╛ RubyPython (рдЬреЛ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рдЙрдкрд░реЛрдХреНрдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдореЗрдВ рд╕рдорд╛рдирддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдкрд╛рд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд╛рд░реНрдп рд╣реИрдВ (рдпрд╛, рдХрдо рд╕реЗ рдХрдо, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ)
рдЬрдм рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рднрд░ рдЖрдпрд╛ред рдЙрдкрдХрд░рдг * ythonред рд▓реЗрдХрд┐рди рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рд▓рд┐рдпрд╛ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВ рд╡реЗ (рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ) рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓реВрдВрдЧрд╛, рдФрд░ PyPy рдХреЗ рд╡рд┐рд╕реНрддреГрдд рдкрд░рд┐рдЪрдп рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдКрдВрдЧрд╛, рдЬреЛ рдХрд┐, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рднрд╛рд╖рд╛ рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╣реИред
рдпрд╣ рд╕рдм рд╕рдордЭрдиреЗ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдорд╢реАрди рдХреЛрдб, рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЖрджрд┐ рдХреА рдЕрдЪреНрдЫреА рд╕рдордЭ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдкрд╛рдпрдерди рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдпрд╛ рд╕рдВрдХрд▓рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдпрд╣ рдкрд╛рдпрдерди рдХреЗ рдирдП рд╢реМрдХ рдХреЗ рдмреАрдЪ рдЧрд▓рддрдлрд╣рдореА рдХрд╛ рдПрдХ рдЖрдо рд╕реНрд░реЛрдд рд╣реИред
рд╕рдордЭрдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдмрд╛рдд: "рдкрд╛рдпрдерди" рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдПрдХ
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЬреЛ рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИ)ред рдФрд░ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ (рдЬреЛ рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИ)ред
рджреВрд╕рд░рд╛: "рд╡реНрдпрд╛рдЦреНрдпрд╛" рдФрд░ "рд╕рдВрдХрд▓рд┐рдд" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЧреБрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд╣реАрдВред
рддреЛ рд╕рд╡рд╛рд▓ рд╣реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред
рд╕рдмрд╕реЗ рдЖрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рд╕реАрдкреАрдереЙрди: рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдХреНрд╕рд░ рдмрд╕ "рдкрд╛рдпрдерди" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) рддреЛ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╣реИ: рдХреБрдЫ рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИред CPython рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ * рдкрд╛рдпрдерди рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рдЙрд╕ рдмрд╛рдЗрдЯрдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
* рдиреЛрдЯ: рдпрд╣ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЕрд░реНрдереЛрдВ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ "рд╕рдВрдХрд▓рди" рдирд╣реАрдВ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ "рд╕рдВрдХрд▓рди" рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛ рд╕реЗ рдорд╢реАрди рдХреЛрдб рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ - рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдпрд╣ "рд╕рдВрдХрд▓рди" рд╣реИредрдЖрдЗрдП рдЗрд╕ рдЙрддреНрддрд░ рдХрд╛ рдмреЗрд╣рддрд░ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдмрд╛рдЗрдЯрдХреЛрдб рдпрд╛ рдорд╢реАрди рдХреЛрдб
рдмрд╛рдИрдЯреЗрдХреЛрдб рдФрд░ рдорд╢реАрди (рдпрд╛ рджреЗрд╢реА) рдХреЛрдб рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╢рд╛рдпрдж рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ:
- C рдХреЛ рдорд╢реАрди рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╕реАрдзреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрджреЗрд╢ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред
- рдЬрд╛рд╡рд╛ рдХреЛ рдмрд╛рдИрдЯреЗрдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (рдЬреЗрд╡реАрдПрдо) рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдПрдХ рд╕рд╛рд░ рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдПрдХ рдЬреЗрд╡реАрдПрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред
рдмрд╣реБрдд рд╕рд░рд▓ рдмрдирд╛рдирд╛:
рдорд╢реАрди рдХреЛрдб рдмрд╣реБрдд рддреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдпреЛрдЯреЗрдХ рдмреЗрд╣рддрд░ рдкреЛрд░реНрдЯреЗрдмрд▓ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИредрдорд╢реАрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╢реАрди рдХрд╛ рдХреЛрдб рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕рднреА рдорд╢реАрдиреЛрдВ рдкрд░ рдмрд╛рдЗрдЯрдХреЛрдб рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╢реАрди рдХреЛрдб рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред
CPython рдореЗрдВ рд▓реМрдЯрдХрд░, рд╕рдВрдЪрд╛рд▓рди рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
1. CPython рдЖрдкрдХреЗ рдкрд╛рдпрдерди рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ bytecode рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
2. рдпрд╣ рдмрд╛рдЗрдЯрдХреЛрдб CPython рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдЪрд▓рддрд╛ рд╣реИред
рд╢реБрд░реБрдЖрддреА рдЕрдХреНрд╕рд░ рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдЗрдХреЙрди .pyc рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рддреНрдп рд╣реИ: .pyc рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдЯреЗрдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдмрд╛рдж рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдкрд╛рдпрдерди рдореЗрдВ рдЕрдкрдирд╛ рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ .pyc рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ рджреВрд╕рд░реА рдмрд╛рд░ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрд╛рдпрдЯреЗрдХреЛрдб рдореЗрдВ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рд╡реИрдХрд▓реНрдкрд┐рдХ рдЖрднрд╛рд╕реА рдорд╢реАрдиреЗрдВ: рдЬреЗрдереЙрди, рдЖрдпрд░рдирдкрд┐рдереЙрди рдФрд░ рдЕрдиреНрдп
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, рдкрд╛рдпрдерди рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред рдлрд┐рд░, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реАрдкреАрдереЙрди рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред рдкрд╛рдпрдерди рдХреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ C рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рд╕рдмрд╕реЗ рдкреНрд░рдореБрдЦ рдореЗрдВ рд╕реЗ рдПрдХ
Jython рд╣реИ , рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ JVM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЬрдмрдХрд┐ CPython, CPython VM рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдпрдЯреЗрдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, Jython рдЬрд╛рд╡рд╛ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ JVM рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИ)ред

"рдЖрдкрдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ?", рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВред рдЦреИрд░, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП,
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдорд┐рд▓рддреЗ рд╣реИрдВ ред
CPython рдиреЗ Python рдХреЛрдб рдХреЗ рд▓рд┐рдП C рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ C рджреБрднрд╛рд╖рд┐рдП рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Jython, рдмрджрд▓реЗ рдореЗрдВ, рдЕрдиреНрдп Java рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ: рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, Jython рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рд╕реЗ рдЕрдкрдиреЗ Java рдХреНрд▓рд╛рд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред (рдзреНрдпрд╛рди рджреЗрдВ: рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдкрд╛рдЧрд▓ рд╣реИред рд╣рдо рдЙрд╕ рд╕рдордп рдХреЛ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ рдЬрдм рдЖрдк рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдорд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЗрдХрд╛рдИ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐
рд░реЛрд╕реНрдЯрд┐рди рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐, рдлреЛрд░рдЯреНрд░рд╛рди рдФрд░ рд╕реА рдХреЛрдб рдХреЛ рдорд┐рд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рдлреА рд╕рдордп рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдП рдереЗред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдардВрдбрд╛ рд╣реИред)
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдБ рд╕рд╣реА Jython рдХреЛрдб рд╣реИ:
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_51
>>> from java.util import HashSet
>>> s = HashSet(5)
>>> s.add("Foo")
>>> s.add("Bar")
>>> s
[Foo, Bar]
IronPython рдПрдХ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ .NET рдХреЗ рд▓рд┐рдП C # рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ .NET рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ Microsoft рд╕реЗ
JMM рдХреЗ
рд╕рдорд╛рди рдХреЙрдорди рд▓реИрдВрдЧреНрд╡реЗрдЬ рд░рдирдЯрд╛рдЗрдо (CLR) рдкрд░ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Jython: Java :: IronPython: C #ред рд╡реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЖрдпрд░рдирдкреАрдереЙрди рдХреЛрдб рдореЗрдВ рд╕реА # рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдЬреНрдпреЛрдирдЯ рдХреЛрдб рдореЗрдВ рдЬрд╛рд╡рд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рд╕реАрдкреАрдереЙрди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреБрдЫ рднреА рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЬреАрд╡рд┐рдд рд░рд╣рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдПрдХ рдлрд╛рдпрджрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЧрдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдЯреИрдХ рд╣реИред рдХрдИ JVM- рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛? Jython рдЖрдк рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред .NET рдкрд░ рд╕рдм рдХреБрдЫ рд╣реИ? рдпрд╣ рдЖрдпрд░рдирдкрд╛рдЗрдерди (рдФрд░ рд╢рд╛рдпрдж рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдерд╛) рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╡реИрд╕реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рди рдХреЗрд╡рд▓ рдкрд╛рдпрдерди рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпреЗ рдЕрдВрддрд░ рдЖрдорддреМрд░ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХрд╛рд░рдг рд╕рдордп рдХреЗ рд╕рд╛рде рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдпрд░рдирдкрд╛рдЗрдерди
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ; рд╣рд╛рд▓рд╛рдБрдХрд┐, CPython 2.x рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ
ASCII рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдЧреИрд░- ASCII рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдирд┐рдХреЛрдбреЗрдирд╛рдХреЛрдб рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХрдирд╛) рдФрд░ рдлрд┐рд░ рднреА
3.x рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИредрдордХреНрдЦреА рдкрд░ рд╕рдВрдХрд▓рди (рдЬрд╕реНрдЯ-рдЗрди-рдЯрд╛рдЗрдо рд╕рдВрдХрд▓рди): PyPy рдФрд░ рднрд╡рд┐рд╖реНрдп
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рдФрд░ рдПрдХ, рд╕реА # рдореЗрдВ рддреАрд╕рд░рд╛ рд╣реИред рдЕрдЧрд▓рд╛ рддрд╛рд░реНрдХрд┐рдХ рдХрджрдо: рдкрд╛рдпрдерди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ... рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред (рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдкрд╛рдардХ рдзреНрдпрд╛рди рджреЗрдЧрд╛ рдХрд┐ рдпрд╣ рдХрдерди рдереЛрдбрд╝рд╛ рднреНрд░рд╛рдордХ рд╣реИ)ред
рдЗрд╕рд▓рд┐рдП рдпрд╣ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдордХреНрдЦреА рдкрд░ рд╕рдВрдХрд▓рди (рд╕рд┐рд░реНрдл-рдЗрди-рдЯрд╛рдЗрдо рдпрд╛ рдЬреЗрдЖрдИрдЯреА) рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВред
JITред рдХреНрдпреЛрдВ рдФрд░ рдХреИрд╕реЗ
рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рджреЗрд╢реА рдорд╢реАрди рдХреЛрдб bytecode рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред рдареАрдХ рд╣реИ, рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдмрд╛рдпреЛрдЯреЗрдХ рдХреЗ рднрд╛рдЧ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдореВрд▓ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдмрд╛рдИрдЯреЗрдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреАрдордд (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ: рд╕рдордп) рджреЗрдиреА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкрд░рд┐рдгрд╛рдо рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ! рдпрд╣ рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рддрдХрдиреАрдХ рдЬреЛ рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдФрд░ рд╕рдВрдХрд▓рдХ рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рд╡реНрдпрд╛рдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП JIT рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп JIT рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ:
- рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдЪрд▓рддрд╛ рд╣реИред
- рдЗрд╕реЗ рджреЗрд╢реА рдорд╢реАрди рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред
- рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреИрд╢ рдХрд░реЗрдВред
- рдЬрдм рднреА рдЖрдкрдХреЛ рдПрдХ рд╣реА рдмрд╛рдпреЛрдЯреЗрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдорд╢реАрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЧрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐)ред
рдпрд╣ PyPy рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рд╣реИ: Python рдореЗрдВ JIT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ (рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдВ рдЖрдк рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпрд╛рд╕ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдмреЗрд╢рдХ, рдЕрдиреНрдп рд▓рдХреНрд╖реНрдп рд╣реИрдВ: PyPy рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ, рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдФрд░ рд╕реНрдЯреИрдХрд▓реЗрд╕ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ (рд╕реА рднрд╛рд╖рд╛ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЛ рдЕрдкрдиреЗ рд╕реНрдЯреИрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЫреЛрдбрд╝рдирд╛)ред рд▓реЗрдХрд┐рди JIT рдореБрдЦреНрдп рд▓рд╛рдн рд╣реИред рд╕рдордп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдФрд╕рдд рддреНрд╡рд░рдг рдХрд╛рд░рдХ
6.27 рд╣реИ ред рдпреЛрдЬрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдбреЗрдЯрд╛
PyPy Speed тАЛтАЛCenter рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

PyPy рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрдард┐рди рд╣реИ
PyPy рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╣ CPython (рддрд╛рдХрд┐
рдЖрдк рдЗрд╕ рдкрд░ рдлреНрд▓рд╛рд╕реНрдХ, Django , рдЖрджрд┐
рдЪрд▓рд╛ рд╕рдХреЗрдВ)
рдХреЗ рд╕рд╛рде
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реИ ред
рд▓реЗрдХрд┐рди PyPy рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рднреНрд░рдо рд╣реИред (рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PyPyPy рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрд░реНрдерд╣реАрди рдкреНрд░рд╕реНрддрд╛рд╡ ...)ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдореБрдЦреНрдп рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ PyPy рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣реИ:
1. рдкрд╛рдЗрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░
рдЖрд░рдкреАрдереЙрди рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ (рдкрд╛рдЗрдерди рдирд╣реАрдВ (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдзреЛрдЦрд╛ рджрд┐рдпрд╛))ред RPYthon рд╕реНрдереИрддрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди рдХрд╛ рд╕рдмрд╕реЗрдЯ рд╣реИред рдкрд╛рдпрдерди рдореЗрдВ, рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рддрдЪреАрдд
рдХрд░рдирд╛ "
рдЖрдо рддреМрд░ рдкрд░ рдЕрд╕рдВрднрд╡ рд╣реИ ", рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдХреНрдпреЛрдВ рд╣реИ? рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
x = random.choice([1, "foo"])
рдпрд╣ рд╕рд╣реА рдЕрдЬрдЧрд░ рдХреЛрдб рд╣реИ (
рдПрдбрдореИрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж)ред X рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ? рдЬрдм рдкреНрд░рдХрд╛рд░ рдХреЛ рднреА рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?)ред рдЖрд░рдкреАрдереЙрди рдореЗрдВ, рд╣рдо рдХреБрдЫ рд▓рдЪреАрд▓реЗрдкрди рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрджрд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рд╕реНрдореГрддрд┐ рдХреЛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рддрд╛ рд╣реИред
2. рдПрдХ рд╕рдВрдХрд▓рдХ рдЬреЛ рдЖрд░рдкреАрдереЙрди рдХреЛрдб рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЗрдЖрдИрдЯреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо C рд╣реИ, рдпрд╛рдиреА RPython-in-C рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк JVM рдФрд░ рдЕрдиреНрдп рдХреЛ рднреА рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд░реНрдгрди рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрдиреНрд╣реЗрдВ PyPy (1) рдФрд░ PyPy (2) рдХрд╣реВрдВрдЧрд╛ред
рдЖрдкрдХреЛ рдЗрди рджреЛ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдФрд░ рдХреНрдпреЛрдВ - рдПрдХ рд╕реЗрдЯ рдореЗрдВ? рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реЛрдЪреЗрдВ: PyPy (1) рдПрдХ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рд╣реИ рдЬрд┐рд╕реЗ RPython рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╡рд╣ рдкрд╛рдпрдерди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрд╛рдпрдЯреЗрдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рджреБрднрд╛рд╖рд┐рдпрд╛ рдЦреБрдж (рдЖрд░рдкреАрдереЙрди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛) рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЕрдиреНрдп рдкрд┐рдЯреЛрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рд╕рд╣реА рд╕рдордЭрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
рддреЛ, рдЖрдк рджреБрднрд╛рд╖рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕
рд╕реАрдкреАрдереЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рддреЗрдЬ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо PyPy (2) (рдЬрд┐рд╕реЗ
RPython Toolchain рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, PyPy рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рджреВрд╕рд░реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рдЬреИрд╕реЗ C, JVM рдпрд╛ CLI) рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, JIT рдХреЗ рд╕рд╛рде рдЧрдВрддрд╡реНрдп рдорд╢реАрди рдкрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рджреБрдИ рд╣реИ: PyPy рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ JIT рдХреЛ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрдирд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдмрдирд╛рддрд╛ рд╣реИ! (рдлрд┐рд░ рд╕реЗ, рдпрд╣ рдкрд╛рдЧрд▓ рд╣реИ: рд╣рдо рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдПрдХ рдФрд░ рдЕрд▓рдЧ, рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдХрдВрдкрд╛рдЗрд▓рд░ рдЬреЛрдбрд╝рдХрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ)ред
рдЕрдВрдд рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ рдЬреЛ рдкрд╛рдпрдерди рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЗрдЖрдИрдЯреА рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП! рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдпреЛрдЬрдирд╛ рдорджрдж рдХрд░реЗрдЧреА:

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ, PyPy рдХреА рдЕрд╕рд▓реА рд╕реБрдВрджрд░рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо JIT рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛ RPython рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ (
рд╡рд┐рд╡рд░рдг рдХреЗ рдПрдХ
рдЬреЛрдбрд╝реЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛)ред рдЙрд╕рдХреЗ рдмрд╛рдж, PyPy рдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП RPYthon Toolchain / PyPy (2) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ JIT рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдк рдЕрдореВрд░реНрдд рдореЗрдВ рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рджреБрднрд╛рд╖рд┐рдпрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ PyPy рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ JIT рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ PyPy рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рдЙрд╕ рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬрд┐рд╕реЗ рд╡рд╣ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЬреЗрдЖрдИрдЯреА рд╕реНрд╡рдпрдВ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИред рд╡рд╣ "рдЕрдиреБрд░реЗрдЦрдг" рдирд╛рдордХ рдПрдХ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ
рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо
рдХрд░рддрд╛ рд╣реИ :
- рджреБрднрд╛рд╖рд┐рдпрд╛ рдЪрд▓рд╛рдПрдВ рдФрд░ рд╕рдм рдХреБрдЫ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ (рдмрд┐рдирд╛ рдЬреЗрдЖрдИрдЯреА рдЬреЛрдбрд╝реЗ)ред
- рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреА рдЖрд╕рд╛рди рд░реВрдкрд░реЗрдЦрд╛ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдВред
- рдЙрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред
- рдХреЛрдб рдХреЗ рдЗрди рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдорд╢реАрди рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред
рдЖрдк рдЗрд╕ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрд▓рдмреНрдз рдФрд░ рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ
рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рд╣рдо RPYthon рдкрд░ рд▓рд╛рдЧреВ PyPu рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PyPy рд╕рдВрдХрд▓рдХ RPython-in-C (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓рдХреНрд╖реНрдп рдордВрдЪ рд░реВрдк) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣ рд╕рдм рдЗрддрдирд╛ рдЕрджреНрднреБрдд рдХреНрдпреЛрдВ рд╣реИ? рдЗрд╕ рдкрд╛рдЧрд▓ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдкреАрдЫрд╛ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдХреНрдпреЛрдВ рд╣реИ? рдореЗрд░реА рд░рд╛рдп рдореЗрдВ,
рдПрд▓реЗрдХреНрд╕ рдЧреЗрдиреНрдиреЛрд░ рдиреЗ рдЕрдкрдиреЗ
рдмреНрд▓реЙрдЧ рдкрд░ рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕рдордЭрд╛рдпрд╛: "[рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП] рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ [рддреЗрдЬрд╝] рдФрд░ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИ рдФрд░ рдкрд╛рдпрдерди рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдордВрдЪ рд╣реИред"
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:
- рдпрд╣ рддреЗрдЬрд╝ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдореВрд▓ рдХреЛрдб (JIT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдпрд╣ рд▓рдЪреАрд▓рд╛ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЬреЗрдЖрдИрдЯреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред
- рдпрд╣ рд▓рдЪреАрд▓рд╛ (рдлрд┐рд░ рд╕реЗ) рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдЖрдк RPython рдореЗрдВ рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдЙрд╕реА C рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢ рднреА рд╣реИ)ред
рдЬреЛрдбрд╝: рдЕрдиреНрдп рдирд╛рдо рдЬреЛ рдЖрдкрдиреЗ рд╕реБрдиреЗ рд╣реЛрдВрдЧреЗ
Python 3000 (Py3k) : Python 3.0 рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо,
рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде Python рдХреА рдореБрдЦреНрдп рд░рд┐рд▓реАрдЬрд╝, рдЬреЛ
2008 рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдИред рд╕рд╛рд▓ред Py3k рдЯреАрдо рдиреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдХрд┐ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрдбрд╝ рд▓реЗрдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ
рдкрд╛рдВрдЪ рд╕рд╛рд▓ рд▓рдЧреЗрдВрдЧреЗред рдФрд░ рдЬрдмрдХрд┐ рд╕рдмрд╕реЗ (рдзреНрдпрд╛рди: рджреВрд░ рдХреА рдХреМрдбрд╝реА) рдЕрдЬрдЧрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд╛рдпрдерди 2.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЛрдЧ Py3k рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╕рд╛рдЗрдерди : рдкрд╛рдпрдерди рдХрд╛ рдПрдХ рд╕реБрдкрд░рд╕реЗрдЯ рдЬрд┐рд╕рдореЗрдВ рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
- рдЙрджреНрджреЗрд╢реНрдп: рдЖрдЗрдП рд╣рдо рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП C рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВред
- рдпрд╣ рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рдкрд╛рдпрдерди рдХреЛрдб рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреБрди: рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реА-рдЬреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
- PyPy рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд╕рд╛рдЗрдерди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЗрд╕реЗ рдкрд░реЛрд╕рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпреВрдЬрд░ рдХреЛрдб рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред PyPy рдореЗрдВ рдЖрдк рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ Python рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд┐рд╕реА рднреА рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
Numba : рдПрдХ "рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрди-рдЯрд╛рдЗрдо рдХрдореНрдкрд╛рдЗрд▓рд░" рдЬреЛ JIT рдХреЛ рдкрд╛рдпрдерди рдХреЗ рдПрдиреЛрдЯреЗрдЯ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рддреЛ рдЖрдк рдЙрд╕реЗ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣ рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИред Numba рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ
рдПрдирд╛рдХреЛрдВрдбрд╛ рд╡рд┐рддрд░рдг рд╕реВрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
IPython : рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧред рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдгред рдЬреАрдпреВрдЖрдИ рдкреИрдХреЗрдЬ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЗрддрдиреЗ рдкрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ред
рд╕рд╛рдЗрдХреЛ :
рдкрд╛рдпрдерди рд╡рд┐рд╕реНрддрд╛рд░ рдореЙрдбреНрдпреВрд▓ , рдЬреЗрдЖрдИрдЯреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╛рдпрдерди рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХред рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ
"рдЕрд╕рдорд░реНрдерд┐рдд рдФрд░ рдореГрдд" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Psyco рдХреЗ рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛
Armin Rigo рд╡рд░реНрддрдорд╛рди рдореЗрдВ PyPy рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ ред
рднрд╛рд╖рд╛ рдмрд╛рдБрдзрддреА рд╣реИ
- RubyPython : Ruby рдФрд░ Python рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдкреБрд▓ред рдЖрдкрдХреЛ рд░реВрдмреА рдХреЛрдб рдореЗрдВ рдкрд╛рдпрдерди рдХреЛрдб рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдЗрдерди рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдФрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд░реВрдмреА рдкрд╛рдЗрдерди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- PyObjc : рдкрд╛рдпрдерди рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХреЗ рдмреАрдЪ рдПрдХ рднрд╛рд╖рд╛ рдХрдиреЗрдХреНрд╢рди рдЬреЛ рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдкреБрд▓ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ-рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рдм рдХреБрдЫ рд╕рд╣рд┐рдд рдЖрдкрдХреЛ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рдФрд░ рдкрд┐рдереЛрди рдХреЛрдбреНрд╕ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХреЛрдб рдореЗрдВ рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓ред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ CPython C рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХрд╛ рд╕рдмрд╕реЗрдЯ рд╣реИред
- PyQt : рдЬрдмрдХрд┐ PyObjc рдЖрдкрдХреЛ OS X GUI рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде Python рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, PyQt Qt рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рднреА рдРрд╕рд╛ рд╣реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, SQL рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдФрд░ рдЗрддрдиреЗ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рдпрдерди рд╕рд╛рджрдЧреА рдХреЛ рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдПрдХ рдФрд░ рдЙрдкрдХрд░рдгред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪреМрдЦрдЯреЗ
- рдкрд╛рдпрдЬ (рдкрдЬрд╛рдорд╛) : рдкрд╛рдпрдерди рдореЗрдВ рд╡реЗрдм рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ред рдЗрд╕рдореЗрдВ рдкрд╛рдпрдерди-рдЗрди-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░, рд╡рд┐рдЧреЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
- рдмреНрд░рд╛рдпрдерди : рдПрдХ рдкрд╛рдпрдерди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ Py3k рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред