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

рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реЗрдЧрд╛, рдФрд░ рдореБрдЭреЗ рднрд╛рд╖рд╛ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдХреБрдЫ рдЫреЛрдЯреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛ред рдпрд╣ рдЙрдмрд╛рдК рд╢реИрдХреНрд╖рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХрд┐рд╕реА рднреА рд╢реБрд░реБрдЖрддреА (рдореЗрд░реЗ рдЬреИрд╕реЗ) рдХреЛ рджреГрд╢реНрдп рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдФрд░ рдлрд┐рд░ рдЖрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдХреНрдпрд╛ рдЦреЛрджрдирд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рднрдЧреНрди рдирд┐рд░реНрдорд╛рдг, рдХрдг рдкреНрд░рддрд┐рдкрд╛рджрди рдпрд╛ рдбреЗрдЯрд╛ рджреГрд╢реНрдпред
рдореИрдВрдиреЗ рд╕реНрдХрд╛рд▓рд╛ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдФрд░ GitHub рдкрд░ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдкреЛрд╕реНрдЯ рдХрд┐рдПред рд╕реНрдХреНрд░реАрди рдкрд░, рдЙрдирдореЗрдВ рд╕реЗ рд╕рд┐рд░реНрдл рдПрдХ
рдПрдордПрд╕рдП рддрд░рд▓ рдкрджрд╛рд░реНрде рд╣реИ ред рд░реБрдЪрд┐ рдХреГрдкрдпрд╛ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред
рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рд╕реНрдХрд╛рд▓рд╛ рд╕реЗ рдорд┐рд▓рд╛, рдФрд░ рдореБрдЭреЗ рддреБрд░рдВрдд рдпрд╣ рднрд╛рд╖рд╛ рдкрд╕рдВрдж рдЖрдИред рдореИрдВ рд╕реНрдХреИрд▓рд╛
рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд╣рд┐рдд рдХрдИ рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝реНрд▓рд┐рдк рдХрд┐рдпрд╛, рдЬреЛ рдореИрдВ рд╕рднреА рдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ
рд╕реБрдЭрд╛рддрд╛ рд╣реВрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреЗрд╡рд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдиреЗ рдореБрдЭреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд░реВрдк рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрдХрд╛рд▓рд╛ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдореБрдЦреНрдп рдХрд╛рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд┐рд╕ рднрд╛рд╖рд╛ рдХреЛ рдореИрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реВрдВ, рд╡рд╣ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИред рдФрд░ рдпрд╣ рднрд╛рд╖рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИред
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдиреЗ рд╣реА рдЗрд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЫреБрдЖ рд╣реИред
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдЗрдХреНрд░реЛ рдЖрдИрдбреАрдИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдбреАрдПрд╕рдПрд▓ рд╣реИред рддрдерд╛рдХрдерд┐рдд рд╡рд┐рдЬрд╝реБрдЕрд▓ рдЖрд░реНрдЯрд┐рд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рднреА рд╕реБрдВрджрд░ рдереНрд░рд╢реИрдХ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдЯреИрдЧ
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде
Vimeo рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╕реБрдВрджрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╣реИрдВ:
рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмреЗ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:
рдФрд░ рдореИрдВ рдХреЗрд╡рд▓ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рдпрд╛рдж рд░рдЦреЗрдВ, рдмрдЪрдкрди рдореЗрдВ рдЖрдкрдиреЗ BASIC рдпрд╛
Logo рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реАрдЦреА рдереА, рдХрдЫреБрдП рдиреЗ рдХрд╣рд╛рдБ рд░реЗрдЦрд╛рдПрдБ рдЦреАрдВрдЪреА рдереАрдВ? рд╕реНрдЯрдВрдк рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдпрд╣рд╛рдВ рд╣рд░ рдХреЛрдИ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛ рдореЗрдВ рдЗрддрдиреА рд╕реБрдВрджрд░рддрд╛ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рдВ, рдЕрдореВрд░реНрдд рдХреА рддреАрд╕ рдкрд░рддреЗрдВ рднреА рд╕рдбрд╝рдХ рдХреЗ рд╕рд╛рде рд▓рд┐рдкрдЯреА рд░рд╣реЗрдВрдЧреАред рдФрд░ рдЖрдо рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдордЭрдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдУрдУрдкреА, рдХрдХреНрд╖рд╛рдПрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╕рд╛рдзрд╛рд░рдг рд╡рд┐рдЬрд╝реБрдЕрд▓ рдЖрд░реНрдЯрд┐рд╕реНрдЯреЛрдВ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реИрд▓реА рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реА рд╕рд░рд▓ рдЬрд╛рд╡рд╛-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЬреИрд╕реЗ, рдпрд╣рд╛рдБ рдПрдХ рд░реЗрдЦрд╛ рдЦреАрдВрдЪрдирд╛, рдФрд░ рдлрд┐рд░ рдПрдХ рд╡рд░реНрдЧред рдФрд░ рд╣рдо рдЪрд▓реЗред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдм рдмрд╣реБрдд рдмрдврд╝ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдХрдИ рдЙрддреНрдХреГрд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЧрд╛рдбрд╝реА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рд╕реНрдХрд╛рд▓рд╛ рдЬреЗрд╡реАрдПрдо рдкрд░ рднреА рдЪрд▓рддрд╛ рд╣реИ ... рдЕрдЪреНрдЫрд╛, рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЖрдИрдбреАрдИ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕реНрдХрд╛рд▓рд╛ -
рд╕реНрдкреЗрдб рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
scala-lang.org рдкрд░ рдкрд╣рд▓реЗ рд╣реА
рд▓рд┐рдЦрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдИрдбреАрдИ рдореБрдЭреЗ рдЫреЛрдЯрд╛ рдФрд░ рддреБрдЪреНрдЫ рд▓рдЧрддрд╛ рд╣реИред рдХреБрдЫ рдмрдбрд╝рд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рд╕реНрдордЯ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреАред рддреЛ рдЪрд▓реЛ рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд░ рд░реЛрдХреЗрдВред
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрдХрд╛рд▓рд╛ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрдИрдбреАрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдПрдХ Scala рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде intelliJ IDEA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ
рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕реНрдХрд╛рд▓рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдореБрдЦреНрдп рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдкрде рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИред
рдХреЛрдб
рдЕрдм рдПрдХ рдирдпрд╛ рдореБрдЦреНрдп рд╡рд░реНрдЧ рдмрдирд╛рдПрдВред рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рдЯреЗрд╕реНрдЯ рдХрд╣рд╛ рд╣реИред
import processing.core._ object Test extends PApplet { private var test:Test = _ def main(args: Array[String]) = { test = new Test val frame = new javax.swing.JFrame("Test") frame.getContentPane().add(test) test.init frame.pack frame.setVisible(true) } } class Test extends PApplet { override def setup() = { } override def draw() = { } }
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ PApplet рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╛рдпрд░реНрдб рд╣реИред рд╡реИрд╕реЗ, рдпрд╣ AppletViewer рджреНрд╡рд╛рд░рд╛ рднреА рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдХреЛрдб рдЕрднреА рддрдХ рдмрд╣реБрдд рдХрдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ (рдЬрд┐рд╕реЗ рд╕реНрдХреЗрдЪ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЧреЗ рдореИрдВ рдЗрд╕ рдХреЛрдб рдХрд╛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реВрдВрдЧрд╛ред рд╡рд╣ рдХрд░реНрд╕рд░ рдХреЗ рдкреАрдЫреЗ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдлреВрд▓реЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
import processing.core._ import math._ import scala.util.Random object Test extends PApplet { private var test:Test = _ def main(args: Array[String]) = { test = new Test val frame = new javax.swing.JFrame("Test") frame.getContentPane().add(test) test.init frame.pack frame.setVisible(true) } } class Test extends PApplet { var angle:Int = 0; override def setup() = { size(640, 360) background(102) smooth() noStroke() fill(0, 102) } override def draw() = { angle += 10 var value = cos(toRadians(angle)) * 6.0 for (a <- 0 to 360 by 75) { val xoff = cos(toRadians(a)) * value val yoff = sin(toRadians(a)) * value fill(Random.nextInt(255)) ellipse( (mouseX + xoff).toFloat, (mouseY + yoff).toFloat, value.toFloat, value.toFloat ); } fill(255); ellipse(mouseX, mouseY, 2, 2) } }
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?
рдПрдХ рдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрдХрд╛рд▓рд╛ (рдПрдордПрд╕рдП рд╡рд┐рдЬреБрдЕрд▓реНрд╕ рд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз
рддрд░рд▓ рдкрджрд╛рд░реНрде рд╕рд╣рд┐рдд) рдХреЛ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ GitHub:
scala-рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг-рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред рдЕрдм рдХреЗрд╡рд▓ рджреЛ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВред
рд╕рд╛рде рд╣реА, рдЖрдкрдХреЛ рдЙрдкрд▓рдмреНрдз рддрд░реАрдХреЛрдВ рдкрд░ рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╡рд╣ (рдФрд░ рдХрдИ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕рд╛рдордЧреНрд░реА) рд╣рдореЗрд╢рд╛
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реА рдпреЛрдЬрдирд╛ рдПрдХ
рдХрд┐рддрд╛рдм рд▓реЗрдиреЗ рдХреА рд╣реИ, рдмреИрда рдЬрд╛рдУ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рд╕реНрдХреЗрдЪ рдХреЗ рд╕рд╛рде рдЖрдУ рддрд╛рдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдХреА рдХрд▓реНрдкрдирд╛ рдФрд░ рдпрд╛рдж рд░рдЦ рд╕рдХреЗрдВред
рдХреБрдЫ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВред
GitHub рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ opengl рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдФрд░ (рдорд╣рддреНрд╡рдкреВрд░реНрдг!) рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде .jar рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЦреЛрд▓ рджреЗрдирд╛

рдФрд░ рдлрд┐рд░ рд░рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкрде рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ

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