рдХрд┐рди рдЧреЛ рдЕрдирд╕реНрдорд╛рд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЦрд░рд╛рдм рдЫ

рд▓реЗрдЦ рдкрд╣рд┐рд▓реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реВрдк рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛ antipodean рд▓реЗрдЦ.

рдХрд┐рди рдЧреЛ рдЕрдирд╕реНрдорд╛рд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЦрд░рд╛рдм рдЫ

рд╡рд┐рдЧрдд рджреБрдИ-рдкреНрд▓рд╕ рд╡рд░реНрд╖рд╣рд░реВрдорд╛ рдореИрд▓реЗ рд╡рд┐рдХрд╕рд┐рдд рдмрд┐рд▓рд┐рдЩ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖ RADIUS рд╕рд░реНрднрд░ рд▓рд╛рдЧреВ рдЧрд░реНрди Go рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫреБред рдмрд╛рдЯреЛрдорд╛, рдо рднрд╛рд╖рд╛рдХреЛ рдЬрдЯрд┐рд▓рддрд╛рд╣рд░реВ рд╕рд┐рдХрд┐рд░рд╣реЗрдХреЛ рдЫреБред рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рдЖрдлреИрдВрдорд╛ рдзреЗрд░реИ рд╕рд░рд▓ рдЫрдиреН рд░ рдпреЛ рд▓реЗрдЦрдХреЛ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрдЗрди, рддрд░ Go рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЕрдиреБрднрд╡рд▓реЗ рдпрд╕рдХреЛ рд░рдХреНрд╖рд╛рдорд╛ рдХреЗрд╣реА рд╢рдмреНрджрд╣рд░реВрдХреЛ рд╣рдХрджрд╛рд░ рдЫред Go рдЧрдореНрднреАрд░, рд╕реНрдХреЗрд▓реЗрдмрд▓ рдХреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдмрдвреНрджреЛ рдореБрдЦреНрдпрдзрд╛рд░рд╛рдХреЛ рднрд╛рд╖рд╛ рдмрдирд┐рд░рд╣реЗрдХреЛ рдЫред рднрд╛рд╖рд╛ Google рджреНрд╡рд╛рд░рд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬрд╣рд╛рдБ рдпреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рддрд▓реНрд▓реЛ рд░реЗрдЦрд╛, рдо рдЗрдорд╛рдирджрд╛рд░реАрдкреВрд░реНрд╡рдХ рд╕реЛрдЪреНрдЫреБ рдХрд┐ рдЧреЛ рднрд╛рд╖рд╛рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдЕрд╡рд┐рд╡реЗрдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЦрд░рд╛рдм рдЫред

рдХрдордЬреЛрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛ?

рдХрдордЬреЛрд░рд╣рд░реВрд▓реЗ рд╕рдорд╕реНрдпрд╛рдХреЛ рдХреБрд░рд╛ рдЧрд░реНрдЫрдиреНред рд╡рд┐рдЪрд╛рд░ рд░ рд╕рдкрдирд╛ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдмрд▓рд┐рдпреЛ рдХреБрд░рд╛рдХрд╛рдиреА ...

Go рд╕рд┐рдХреНрди рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рдЫ, рдпрддрд┐ рд╕рдЬрд┐рд▓реЛ рдЫ рдХрд┐ рддрдкрд╛рдИрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдмрд┐рдирд╛ рдХреЛрдб рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рднрд╛рд╖рд╛рдХреЛ рдпреЛ рд╕реБрд╡рд┐рдзрд╛ рдзреЗрд░реИ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдХрдореНрдкрдиреАрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬрдм рдХреЛрдб рдЧреИрд░-рдХреЛрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВ (рдкреНрд░рдмрдиреНрдзрдХрд╣рд░реВ, рдЧреНрд░рд╛рд╣рдХрд╣рд░реВ, рдЖрджрд┐) рд╕рдБрдЧрд╕рдБрдЧреИ рдкрдврд┐рдиреНрдЫред рдпреЛ рдбрд┐рдЬрд╛рдЗрди рд╕рдВрдЪрд╛рд▓рд┐рдд рд╡рд┐рдХрд╛рд╕ рдЬрд╕реНрддрд╛ рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫред
рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрд▓реЗ рдкрдирд┐ рдПрдХ рд╡рд╛ рджреБрдИ рд╣рдкреНрддрд╛ рдкрдЫрд┐ рдПрдХрджрдо рд╕рднреНрдп рдХреЛрдб рдЙрддреНрдкрд╛рджрди рдЧрд░реНрди рдерд╛рд▓реНрдЫрдиреНред рдореИрд▓реЗ рдЕрдзреНрдпрдпрди рдЧрд░реЗрдХреЛ рдкреБрд╕реНрддрдХ "рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ" (рдорд╛рд░реНрдХ рд╕рдорд░рдлрд┐рд▓реНрдб рджреНрд╡рд╛рд░рд╛) рд╣реЛред рдкреБрд╕реНрддрдХ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдЫ, рдпрд╕рд▓реЗ рднрд╛рд╖рд╛рдХрд╛ рдзреЗрд░реИ рд╕реВрдХреНрд╖реНрдорддрд╛рд╣рд░реВрд▓рд╛рдИ рдЫреБрдиреНрдЫред рдЬрд╛рднрд╛, PHP рдЬрд╕реНрддрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрдЯрд┐рд▓ рднрд╛рд╖рд╛рд╣рд░реВ рдкрдЫрд┐, рдЬрд╛рджреБрдХреЛ рдЕрднрд╛рд╡ рд╕реНрдлреВрд░реНрддрд┐рджрд╛рдпреА рдЫред рддрд░ рдврд┐рд▓реЛ рд╡рд╛ рдкрдЫрд┐, рдзреЗрд░реИ рд╕реАрдорд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрд╕рдБрдЧ рдирдпрд╛рдБ рдХреНрд╖реЗрддреНрд░рдорд╛ рдкреБрд░рд╛рдиреЛ рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╡рд┐рдЪрд╛рд░ рдЫред рдХреЗ рдпреЛ рд╕рд╛рдБрдЪреНрдЪреИ рдЖрд╡рд╢реНрдпрдХ рдЫ?

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

рддреНрдпрд╕реЛрднрдП рдХрд┐рди рдпреЛ рдпрддрд┐ рд╕рд░рд▓ рдмрдирд╛рдЗрдпреЛ? рдпрд╣рд╛рдБ рд░реЛрдм рдкрд╛рдЗрдХрдмрд╛рдЯ рдХреЗрд╣реА рдЙрджреНрдзрд░рдгрд╣рд░реВ рдЫрдиреН:

рдпрд╣рд╛рдБ рдореБрдЦреНрдп рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рд╣рд╛рдореНрд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВ рдЕрдиреБрд╕рдиреНрдзрд╛рдирдХрд░реНрддрд╛рд╣рд░реВ рд╣реЛрдЗрдирдиреНред рддрд┐рдиреАрд╣рд░реВ, рдПрдХ рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рдПрдХрджрдо рдЬрд╡рд╛рди рдЫрдиреН, рдЕрдзреНрдпрдпрди рдкрдЫрд┐ рд╣рд╛рдореАрдХрд╣рд╛рдБ рдЖрдЙрдБрдЫрдиреН, рд╕рд╛рдпрдж рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдЬрд╛рднрд╛, рд╡рд╛ C/C++, рд╡рд╛ рдкрд╛рдЗрдерди рдЕрдзреНрдпрдпрди рдЧрд░реЗрдХрд╛ рдерд┐рдПред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд░рд╛рдореНрд░реЛ рднрд╛рд╖рд╛ рдмреБрдЭреНрди рд╕рдХреНрджреИрдирдиреН, рддрд░ рдПрдХреИ рд╕рдордпрдорд╛ рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд░рд╛рдореНрд░реЛ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рддреНрдпрд╕реИрд▓реЗ рднрд╛рд╖рд╛ рдмреБрдЭреНрди рд░ рд╕рд┐рдХреНрди рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреБрдкрд░реНрдЫред

рдК рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреБрдкрд░реНрдЫ, рд▓рдЧрднрдЧ рд╕реА рдЬрд╕реНрддреИ рдмреЛрд▓реНрдиреЗред Google рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрд▓реЗ рдЖрдлреНрдиреЛ рдХрд░рд┐рдпрд░ рдЪрд╛рдБрдбреИ рд╕реБрд░реБ рдЧрд░реНрдЫрдиреН рд░ рдкреНрд░рд╛рдпрдГ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рд╣рд░реВ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА C рдкрд░рд┐рд╡рд╛рд░рд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреНрдЫрдиреНред рдирдпрд╛рдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рджреНрд░реБрдд рдЙрддреНрдкрд╛рджрдХрддрд╛рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рднрдиреЗрдХреЛ рднрд╛рд╖рд╛ рдзреЗрд░реИ рдХрдЯреНрдЯрд░рдкрдиреНрдереА рд╣реБрдиреБрд╣реБрдБрджреИрди рднрдиреНрдиреЗ рд╣реЛред

рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╢рдмреНрджрд╣рд░реВ, рд╣реЛрдЗрди рд░?

рд╕рд░рд▓рддрд╛ рдХреЛ рдХрд▓рд╛рдХреГрддрд┐

рд╕реБрдиреНрджрд░рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рд░рд▓рддрд╛ рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрдд рд╣реЛред рд▓реЗрдн рдЯреЛрд▓рд╕реНрдЯреЛрдпред

рдпрд╕рд▓рд╛рдИ рд╕рд░рд▓ рд░рд╛рдЦреНрдиреБ рдХреБрдиреИ рдкрдирд┐ рдбрд┐рдЬрд╛рдЗрдирдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд▓рдХреНрд╖реНрдпрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛред рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, рдПрдХ рдЙрддреНрддрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛрдЗрди рдЬрд╣рд╛рдБ рдердкреНрди рдХреЛ рд▓рд╛рдЧреА рдХреЗрд╣рд┐ рдЫреИрди, рддрд░ рдПрдХ рдЬрд╕рдмрд╛рдЯ рд╣рдЯрд╛рдЙрди рдХреЛ рд▓рд╛рдЧреА рдХреЗрд╣рд┐ рдЫреИрдиред рдзреЗрд░реИ рдорд╛рдирд┐рд╕рд╣рд░реВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реНрдЫрдиреН рдХрд┐ рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди (рд╡рд╛ рд╡реНрдпрдХреНрдд) рдЧрд░реНрди, рдПрдХ рдЬрдЯрд┐рд▓ рдЙрдкрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрджреНрдпрдкрд┐, рдпреЛ рд╣реЛрдЗрдиред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ PERL рднрд╛рд╖рд╛ рд▓рд┐рдиреБрд╣реЛрд╕реНред рднрд╛рд╖рд╛ рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛рд╣рд░реВрд▓реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реЗ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рдБрдЧ рдПрдЙрдЯрд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдХрдореНрддрд┐рдорд╛ рддреАрди рдлрд░рдХ рддрд░рд┐рдХрд╛рд╣рд░реВ рд╣реБрдиреБрдкрд░реНрдЫред рдЧреЛ рднрд╛рд╖рд╛рдХрд╛ рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛рд╣рд░реВрд▓реЗ рдлрд░рдХ рдмрд╛рдЯреЛ рд▓рд┐рдПрдХрд╛ рдерд┐рдП; рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗ рдХрд┐ рдПрдХ рдмрд╛рдЯреЛ, рддрд░ рд╡рд╛рд╕реНрддрд╡рдореИ рд░рд╛рдореНрд░реЛ, рд▓рдХреНрд╖реНрдп рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдерд┐рдпреЛред рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рдЧрдореНрднреАрд░ рдЖрдзрд╛рд░ рдЫ: рдПрдХ рдорд╛рддреНрд░ рддрд░рд┐рдХрд╛ рд╕рд┐рдХреНрди рд╕рдЬрд┐рд▓реЛ рдЫ рд░ рдмрд┐рд░реНрд╕рди рдЧрд╛рд╣реНрд░реЛ рдЫред

рдзреЗрд░реИ рдЖрдкреНрд░рд╡рд╛рд╕реАрд╣рд░реВрд▓реЗ рдЧреБрдирд╛рд╕реЛ рдЧрд░реНрдЫрдиреН рдХрд┐ рднрд╛рд╖рд╛рдорд╛ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдПрдмреНрд╕реНрдЯреНрд░реНрдпрд╛рдХреНрд╢рдирд╣рд░реВ рдЫреИрдирдиреНред рд╣реЛ, рдпреЛ рд╕рддреНрдп рд╣реЛ, рддрд░ рдпреЛ рднрд╛рд╖рд╛рдХреЛ рдореБрдЦреНрдп рдлрд╛рдЗрджрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛред рднрд╛рд╖рд╛рд▓реЗ рдиреНрдпреВрдирддрдо рдЬрд╛рджреВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ - рддреНрдпрд╕реИрд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрдвреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рдЧрд╣рд┐рд░реЛ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрдиред рдХреЛрдб рдХреЛ verbosity рдХреЛ рд▓рд╛рдЧреА, рдпреЛ рдХреБрдиреИ рдкрдирд┐ рд╕рдорд╕реНрдпрд╛ рдЫреИрдиред рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд▓реЗрдЦрд┐рдПрдХреЛ рдЧреЛрд▓рд╛рдЩ рдХрд╛рд░реНрдпрдХреНрд░рдо рдереЛрд░реИ рд╡рд╛ рдХреБрдиреИ рд╕рдВрд░рдЪрдирд╛ рдмрд┐рдирд╛ рдард╛рдбреЛ рд░реВрдкрдорд╛ рдкрдвреНрдЫред рдердк рд░реВрдкрдорд╛, рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрдвреНрдиреЗ рдЧрддрд┐ рдХрдореНрддрд┐рдорд╛ рдПрдХ рдХреНрд░рдо рдХреЛ рдкрд░рд┐рдорд╛рдг рдпреЛ рд▓реЗрдЦреНрдиреЗ рдЧрддрд┐ рднрдиреНрджрд╛ рдареВрд▓реЛ рдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реЛрдЪреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рд╕рдмреИ рдХреЛрдбрдорд╛ рд╕рдорд╛рди рдврд╛рдБрдЪрд╛ рдЫ (рдирд┐рд░реНрдорд┐рдд gofmt рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░), рддреНрдпрд╕рдкрдЫрд┐ рдХреЗрд╣рд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЗрдирд╣рд░реВ рдкрдвреНрди рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫреИрдиред

рдзреЗрд░реИ рдЕрднрд┐рд╡реНрдпрдХреНрдд рдЫреИрди

рдЖрдлреНрдиреЛ рд╕реНрд╡рддрдиреНрддреНрд░рддрд╛ рдмрдиреНрдж рд╣реБрдБрджрд╛ рдХрд▓рд╛ рд╕рд╣рди рд╕рдХреНрджреИрдиред рд╢реБрджреНрдзрддрд╛ рдЙрд╕рдХреЛ рдЬрд┐рдореНрдореЗрд╡рд╛рд░реА рд╣реЛрдЗрдиред

рд╕рд╛рджрдЧреАрдХреЛ рдЪрд╛рд╣рдирд╛рдХреЛ рдХрд╛рд░рдг, рдЧреЛрдорд╛ рдЕрдиреНрдп рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдЕрднреНрдпрд╕реНрдд рдорд╛рдирд┐рд╕рд╣рд░реВрд▓реЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдХреБрд░рд╛рдХреЛ рд░реВрдкрдорд╛ рдмреБрдЭреЗрдХрд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдХреЛ рдЕрднрд╛рд╡ рдЫред рд╕реБрд░реБрдорд╛ рдпреЛ рдХреЗрд╣реА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реБрди рд╕рдХреНрдЫ, рддрд░ рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдзреЗрд░реИ рд╕рдЬрд┐рд▓реЛ рд░ рдкрдвреНрди рдзреЗрд░реИ рд╕реНрдкрд╖реНрдЯ рдЫ рднрдиреЗрд░ рдпрд╛рдж рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХрдиреНрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЬрд╕рд▓реЗ stdin рд╡рд╛ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЖрд░реНрдЧреБрдореЗрдиреНрдЯрд╣рд░реВрдмрд╛рдЯ рдлрд╛рдЗрд▓ рдкрдвреНрдЫ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

package main

import (
    "bufio"
    "flag"
    "fmt"
    "log"
    "os"
)

func main() {

    flag.Parse()

    scanner := newScanner(flag.Args())

    var text string
    for scanner.Scan() {
        text += scanner.Text()
    }

    if err := scanner.Err(); err != nil {
        log.Fatal(err)
    }

    fmt.Println(text)
}

func newScanner(flags []string) *bufio.Scanner {
    if len(flags) == 0 {
        return bufio.NewScanner(os.Stdin)
    }

    file, err := os.Open(flags[0])

    if err != nil {
        log.Fatal(err)
    }

    return bufio.NewScanner(file)
}

D рдорд╛ рдЙрд╣реА рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рдорд╛рдзрд╛рди, рдпреЛ рдХреЗрд╣рд┐ рдЫреЛрдЯреЛ рджреЗрдЦрд┐рдиреНрдЫ, рдпрджреНрдпрдкрд┐ рдкрдвреНрди рд╕рдЬрд┐рд▓реЛ рдЫреИрди

import std.stdio, std.array, std.conv;

void main(string[] args)
{
    try
    {
        auto source = args.length > 1 ? File(args[1], "r") : stdin;
        auto text   = source.byLine.join.to!(string);

        writeln(text);
    }
    catch (Exception ex)
    {
        writeln(ex.msg);
    }
}

рдирдХреНрдХрд▓рдХреЛ рдирд░реНрдХ

рдорд╛рдирд┐рд╕рд▓реЗ рдЖрдлреВрднрд┐рддреНрд░ рдирд░рдХ рдмреЛрдХреНрдЫред рдорд╛рд░реНрдЯрд┐рди рд▓реБрдерд░ред

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

package main

import "fmt"

func int64Sum(list []int64) (uint64) {
    var result int64 = 0
    for x := 0; x < len(list); x++ {
        result += list[x]
    }
    return uint64(result)
}

func int32Sum(list []int32) (uint64) {
    var result int32 = 0
    for x := 0; x < len(list); x++ {
        result += list[x]
    }
    return uint64(result)
}

func main() {

    list32 := []int32{1, 2, 3, 4, 5}
    list64 := []int64{1, 2, 3, 4, 5}

    fmt.Println(int32Sum(list32))
    fmt.Println(int64Sum(list64))
}

рднрд╛рд╖рд╛рд╕рдБрдЧ рддреНрдпрд╕реНрддрд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рдзреНрдпрдорд╣рд░реВ рдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдареАрдХ рд╣реБрдиреЗрдЫред

package main

import "fmt"

func Eval32(list []int32, fn func(a, b int32)int32) int32 {
    var res int32
    for _, val := range list {
        res = fn(res, val)
    }
    return res
}

func int32Add(a, b int32) int32 {
    return a + b
}

func int32Sub(a, b int32) int32 {
    return a + b
}

func Eval64(list []int64, fn func(a, b int64)int64) int64 {
    var res int64
    for _, val := range list {
        res = fn(res, val)
    }
    return res
}

func int64Add(a, b int64) int64 {
    return a + b
}

func int64Sub(a, b int64) int64 {
    return a - b
}

func main() {

    list32 := []int32{1, 2, 3, 4, 5}
    list64 := []int64{1, 2, 3, 4, 5}

    fmt.Println(Eval32(list32, int32Add))
    fmt.Println(Eval64(list64, int64Add))
    fmt.Println(Eval64(list64, int64Sub))
}

рд░, рдпрджреНрдпрдкрд┐ рд╣рд╛рдореНрд░реЛ рдХреЛрдб рдЕрдШрд┐рд▓реНрд▓реЛ рдХреЗрд╕ рднрдиреНрджрд╛ рдХреЗрд╣реА рд▓рд╛рдореЛ рднрдпреЛ, рдпреЛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рднрдПрдХреЛ рдЫред рддреНрдпрд╕рдХрд╛рд░рдг, рд╣рд╛рдореАрд▓рд╛рдИ рд╕рдмреИ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпрд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреЗрдЫреИрдиред

рдзреЗрд░реИрд▓реЗ рднрдиреНрдиреЗрдЫрдиреН рдХрд┐ D рдорд╛ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдХрджрдо рдЫреЛрдЯреЛ рджреЗрдЦрд┐рдиреНрдЫ, рд░ рддрд┐рдиреАрд╣рд░реВ рд╕рд╣реА рд╣реБрдиреЗрдЫрдиреНред

import std.stdio;
import std.algorithm;

void main(string[] args)
{
    [1, 2, 3, 4, 5].reduce!((a, b) => a + b).writeln;
}

рдпрджреНрдпрдкрд┐, рдпреЛ рдХреЗрд╡рд▓ рдЫреЛрдЯреЛ рдЫ, рддрд░ рдЕрдзрд┐рдХ рд╕рд╣реА рдЫреИрди, рдХрд┐рдирдХрд┐ D рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓реЗ рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдВрдЧрдХреЛ рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрджрдЫред

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

рдорд░реНрдордд рдпреЛрдЧреНрдпрддрд╛, рдПрдХреНрд╕реНрдЯреЗрдиреНрд╕рд┐рдмрд┐рд▓рд┐рдЯреА, рд░ рдкрдардиреАрдпрддрд╛рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛, рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░рдорд╛, рдЧреЛ рднрд╛рд╖рд╛рд▓реЗ рдЬрд┐рддреНрдЫ, рдпрджреНрдпрдкрд┐ рдпреЛ verbosity рдорд╛ рд╣рд░рд╛рдЙрдБрдЫред

рдХреЗрд╣реА рдЕрд╡рд╕реНрдерд╛рдорд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рдлрд╛рдЗрджрд╛рд╣рд░реВ рджрд┐рдиреНрдЫред рдпреЛ рдХреНрд░рдордмрджреНрдз рдкреНрдпрд╛рдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдЪрд┐рддреНрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред рддреНрдпрд╕реИрд▓реЗ, рдХреБрдиреИ рдкрдирд┐ рд╕реВрдЪреА рдХреНрд░рдордмрджреНрдз рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рдХреЗрд╡рд▓ sort.Interface рдЗрдиреНрдЯрд░рдлреЗрд╕ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

import "sort"

type Names []string

func (ns Names) Len() int {
    return len(ns)
}

func (ns Names) Less(i, j int) bool {
    return ns[i] < ns[j]
}

func (ns Names) Swap(i, j int) {
    ns[i], ns[j] = ns[j], ns[i]
}

func main() {
    names := Names{"London", "Berlin", "Rim"}
    sort.Sort(names)
}

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреБрдиреИ рдкрдирд┐ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рд┐рдиреБрд╣реБрдиреНрдЫ рд░ grep "interface{}" -R рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрд▓реЗ рджреЗрдЦреНрдиреБрд╣реБрдиреЗрдЫ рдХрд┐ рдХрддрд┐ рдкрдЯрдХ рднреНрд░рдорд┐рдд рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдирдЬрд┐рдХрдХрд╛ рд╕рд╛рдереАрд╣рд░реВрд▓реЗ рддреБрд░реБрдиреНрддреИ рднрдиреНрдиреЗрдЫрдиреН рдХрд┐ рдпреЛ рд╕рдмреИ рдЬреЗрдиреЗрд░рд┐рдХрдХреЛ рдХрдореАрдХреЛ рдХрд╛рд░рдг рд╣реЛред рдпрджреНрдпрдкрд┐, рдпреЛ рд╕рдзреИрдВ рдорд╛рдорд▓рд╛ рд╣реЛрдЗрдиред рдбреЗрд▓реНрдлреАрд▓рд╛рдИ рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд░реВрдкрдорд╛ рд▓рд┐рдФрдВред рдпреА рд╕рдорд╛рди рдЬреЗрдиреЗрд░рд┐рдХрд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдХреЛ рдмрд╛рд╡рдЬреБрдж, рдпрд╕рд▓реЗ рдордирдорд╛рдиреА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВрд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд▓рдирдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖ VARIANT рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдЧреЛ рднрд╛рд╖рд╛рд▓реЗ рдкрдирд┐ рддреНрдпрд╕реНрддреИ рдЧрд░реНрдЫред

рдПрдХ рддреЛрдк рджреЗрдЦрд┐ рднрдБрдЧреЗрд░рд╛ рд╕рдореНрдо

рд░ рд╕реНрдЯреНрд░реЗрдЯрдЬреНрдпрд╛рдХреЗрдЯ рдкрд╛рдЧрд▓рдкрдирдХреЛ рдЖрдХрд╛рд░рдорд╛ рдлрд┐рдЯ рд╣реБрдиреБрдкрд░реНрдЫред Stanislav Lecред

рдзреЗрд░реИ рдЪрд░рдо рдлреНрдпрд╛рдирд╣рд░реВрд▓реЗ рджрд╛рд╡реА рдЧрд░реНрди рд╕рдХреНрдЫрдиреН рдХрд┐ рдЧреЛрд╕рдБрдЧ рдЬреЗрдиреЗрд░рд┐рдХрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдЕрд░реНрдХреЛ рд╕рдВрдпрдиреНрддреНрд░ рдЫ - рдкреНрд░рддрд┐рдмрд┐рдореНрдмред рд░ рддрд┐рдиреАрд╣рд░реВ рд╕рд╣реА рд╣реБрдиреЗрдЫрдиреН ... рддрд░ рджреБрд░реНрд▓рдн рдЕрд╡рд╕реНрдерд╛рдорд╛ рдорд╛рддреНрд░ред

рд░реЛрдм рдкрд╛рдЗрдХрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдиреНрдЫ:

рдпреЛ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реЛ рдЬреБрди рд╕рд╛рд╡рдзрд╛рдиреА рд╕рдВрдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫред рдХрдбрд╛рдЗрдХрд╛ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдирднрдПрд╕рдореНрдо рдпрд╕рдмрд╛рдЯ рдмрдЪреНрдиреБрдкрд░реНрдЫред

рд╡рд┐рдХрд┐рдкрд┐рдбрд┐рдпрд╛рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдирд┐рдореНрди рдмрддрд╛рдЙрдБрдЫ:

рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд▓реЗ рддреНрдпреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдмреБрдЭрд╛рдЙрдБрдЫ рдЬрд╕рдХреЛ рдЕрд╡рдзрд┐рдорд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдХреНрд░рдордорд╛ рдЖрдлреНрдиреИ рд╕рдВрд░рдЪрдирд╛ рд░ рд╡реНрдпрд╡рд╣рд╛рд░рд▓рд╛рдИ рдирд┐рдЧрд░рд╛рдиреА рд░ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрди рд╕рдХреНрдЫред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдкреНрд░рддрд┐рдорд╛рди рдЕрдиреНрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд▓рд╛рдИ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд┐рд╡ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрдирд┐рдиреНрдЫред рдпреЛ metaprogramming рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реЛред

рдпрджреНрдпрдкрд┐, рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, рддрдкрд╛рдИрд▓реЗ рд╕рдмреИ рдХреБрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрд┐рд░реНрдиреБрдкрд░реНрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдпреЛ рд╣реЛ:

  • рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓реЗрдЦреНрди рдХрдард┐рдирд╛рдИ
  • рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрддрд┐

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

рд╕реАрдмрд╛рдЯ рд╕рд╛рдВрд╕реНрдХреГрддрд┐рдХ рд╕рд╛рдорд╛рди? рд╣реЛрдЗрди, рдзреЗрд░реИ рднрд╛рд╖рд╛рд╣рд░реВрдмрд╛рдЯ!

рдзрдирд╕рдореНрдкрддреНрддрд┐рд╕рдБрдЧреИ рдЛрдг рдкрдирд┐ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реАрд▓рд╛рдИ рдЫреЛрдбрд┐рдиреНрдЫ ред

рдпрд╕ рддрдереНрдпрдХреЛ рдмрд╛рд╡рдЬреБрдж рдзреЗрд░реИрд▓реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реНрдЫрдиреН рдХрд┐ рднрд╛рд╖рд╛ рдкреВрд░реНрдгрддрдпрд╛ рд╕реА рд╡рд┐рд░рд╛рд╕рддрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ, рдпреЛ рдорд╛рдорд▓рд╛ рд╣реЛрдЗрдиред рднрд╛рд╖рд╛рд▓реЗ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рдзреЗрд░реИ рдкрдХреНрд╖рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

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

рд╕рдмреИ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рд╡реНрдпрд╛рдХрд░рдг рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ C рднрд╛рд╖рд╛ рдХреЛ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫред рдпрджреНрдпрдкрд┐, рдбреЗрд▓реНрдлреА рднрд╛рд╖рд╛рдХреЛ рдкрдирд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкреНрд░рднрд╛рд╡ рдерд┐рдпреЛред рдпрд╕рд░реА, рд╣рд╛рдореА рджреЗрдЦреНрдЫреМрдВ рдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрд╖реНрдардХрд╣рд░реВ, рдЬрд╕рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рдкрдардиреАрдпрддрд╛рд▓рд╛рдИ рдзреЗрд░реИ рдХрдо рдЧрд░реНрдЫ, рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╣рдЯрд╛рдЗрдпреЛред рднрд╛рд╖рд╛рд▓реЗ DELPHI рднрд╛рд╖рд╛рдорд╛ рдирд┐рд╣рд┐рдд ":=" рдЕрдкрд░реЗрдЯрд░ рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ ADA рдЬрд╕реНрддрд╛ рднрд╛рд╖рд╛рд╣рд░реВрдмрд╛рдЯ рдЙрдзрд╛рд░рд┐рдПрдХреЛ рд╣реЛред рдкреНрд░рдпреЛрдЧ рдирдЧрд░рд┐рдПрдХрд╛ рд╕рдВрд╕реНрдерд╛рд╣рд░реВрдХреЛ рдШреЛрд╖рдгрд╛ PROLOG рднрд╛рд╖рд╛рдмрд╛рдЯ рд▓рд┐рдЗрдПрдХреЛ рд╣реЛред

рд╢рдмреНрджрд╛рд░реНрде

рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдбреЗрд▓реНрдлреА рднрд╛рд╖рд╛рдХреЛ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдерд┐рдПред рдкреНрд░рддреНрдпреЗрдХ рдкреНрдпрд╛рдХреЗрдЬрд▓реЗ рдбрд╛рдЯрд╛ рд░ рдХреЛрдб рд╕рдореЗрдЯреНрдЫ рд░ рдирд┐рдЬреА рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрд╕реНрдерд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрдпрд╛рдХреЗрдЬ рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓рд╛рдИ рдиреНрдпреВрдирддрдордорд╛ рдХрдо рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордгреНрдбрд▓ рд╡рд┐рдзрд┐рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рд░реНрдп рдбреЗрд▓реНрдлреА рднрд╛рд╖рд╛рдмрд╛рдЯ рд▓рд┐рдЗрдПрдХреЛ рдерд┐рдпреЛред

рд╕рдВрдХрд▓рди

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

рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдирд┐рд░реНрдорд╛рдг

рднрд╛рд╖рд╛рд▓реЗ рдзреЗрд░реИ рдлрд░рдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░ рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬреБрди рдХреБрдиреИ рдкрдирд┐ рд╣рд┐рд╕рд╛рдмрд▓реЗ рд╕реА рдЬрд╕реНрддреИ рдирд┐рдореНрди-рд╕реНрддрд░ рднрд╛рд╖рд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫреИрдиред

  • рд▓рд╛рдЗрдирд╣рд░реВ
  • рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ
  • рд╕реНрд▓рд╛рдЗрд╕рд╣рд░реВ
  • рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдЩ рд░реБрдмреА рдЬрд╕реНрддрд╛ рднрд╛рд╖рд╛рд╣рд░реВрдмрд╛рдЯ рдЙрдзрд╛рд░рд┐рдПрдХреЛ рдЫ (рдЬрд╕рд▓рд╛рдИ, рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдзреЗрд░реИрд▓реЗ рдмреБрдЭреНрджреИрдирдиреН рд╡рд╛ рдпрд╕рдХреЛ рдкреВрд░реНрдг рдХреНрд╖рдорддрд╛рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдирдиреН)ред

рдореЗрдореЛрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди

рдореЗрдореЛрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЫреБрдЯреНрдЯреИ рд▓реЗрдЦрдХреЛ рдпреЛрдЧреНрдп рд╣реБрдиреНрдЫред рдпрджрд┐ C++ рдЬрд╕реНрддрд╛ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛, рдирд┐рдпрдиреНрддреНрд░рдг рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓рд╛рдИ рдЫреЛрдбрд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдкрдЫрд┐ DELPHI рдЬрд╕реНрддрд╛ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛, рд╕рдиреНрджрд░реНрдн рдЧрдгрдирд╛ рдореЛрдбреЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛред рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рд╛рде, рдЪрдХреНрд░реАрдп рд╕рдиреНрджрд░реНрднрд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрди, рдХрд┐рдирдХрд┐ рдЕрдирд╛рде рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдмрдирд╛рдЗрдПрдХрд╛ рдерд┐рдП, рддреНрдпрд╕рдкрдЫрд┐ Go рд▓реЗ рддреНрдпрд╕реНрддрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд╕рдХреНрдЫ (рдЬрд╕реНрддреИ C#)ред рдердк рд░реВрдкрдорд╛, рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рд╣рд╛рд▓рдХрд╛ рдЬреНрдЮрд╛рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рд░реВ рднрдиреНрджрд╛ рдмрдвреА рдХреБрд╢рд▓ рдЫ рд░ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╕рдордп рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рднреНрдпрд╛рд░реАрдПрдмрд▓ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рдорд╛рди рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рдЕрд╡рд╕реНрдерд╛рд╣рд░реВрд▓рд╛рдИ рднрд╛рд╖рд╛рд▓реЗ рдиреИ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдЫред рдпрд╕рд▓реЗ рдореЗрдореЛрд░реА рдкреНрд░рдмрдиреНрдзрдХрдорд╛ рд▓реЛрдб рдШрдЯрд╛рдЙрдБрдЫ рд░ рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрдБрдЫред

рд╕рдорд░реВрдкрддрд╛ рд░ рд╕рдорд░реВрдкрддрд╛

рднрд╛рд╖рд╛рдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░рддрд╛ рд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛рддреНрдордХрддрд╛ рдкреНрд░рд╢рдВрд╕рд╛ рднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рдЫред рдХреБрдиреИ рдкрдирд┐ рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рднрд╛рд╖рд╛рд▓реЗ рдЯрд╛рдврд╛рдмрд╛рдЯ Go рд╕рдБрдЧ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдЧрд░реНрди рд╕рдХреНрджреИрдиред рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реБрди, рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ рдХрд┐ рдореЛрдбреЗрд▓ рднрд╛рд╖рд╛ рдХреЛ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдПрди, рддрд░ рдХреЗрд╡рд▓ рд░рд╛рдореНрд░реЛ рдкреБрд░рд╛рдиреЛ ADA рднрд╛рд╖рд╛ рдмрд╛рдЯ рдЙрдзрд╛рд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рднрд╛рд╖рд╛рд▓реЗ рд╕рдмреИ CPU рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд╛рдЦреМрдВ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдЬрдбрд╛рдирд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рдЫ, рдЬрдмрдХрд┐ рдбреЗрдбрд▓рдХрд╣рд░реВ рд░ рджреМрдб рдЕрд╡рд╕реНрдерд╛рд╣рд░реВ рдЬреБрди рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдХреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫрдиреН рд╕рдВрдЧ рдкрд░рд┐рдорд╛рдгрдХреЛ рдХрдо рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫрдиреНред

рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рднрд╣рд░реВ

рдирд╛рдлрд╛рдореБрдЦреА рднрдпреЛ рднрдиреЗ рд╕рдмреИ рдирд┐рд╕реНрд╡рд╛рд░реНрде рдмрдиреНрдЫ ред

рднрд╛рд╖рд╛рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдзреЗрд░реИ рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣ рдлрд╛рдЗрджрд╛рд╣рд░реВ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ:

  • рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг рдкрдЫрд┐ рдПрдХрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рддреИрдирд╛рддреАрд▓рд╛рдИ рдзреЗрд░реИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрдЫред
  • рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдЩ рд░ рдЯрд╛рдЗрдк рдЗрдиреНрдлрд░реЗрдиреНрд╕рд▓реЗ рддрдкрд╛рдИрдХреЛ рдХреЛрдбрдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рд▓рд╛рдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рдХрдо рдЧрд░реНрди рд╕рдХреНрдЫ, рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рд▓реЗрдЦреНрди рдмрд┐рдирд╛ рдиреИред рдорд▓рд╛рдИ рдХреЗрд╣рд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВ рдерд╛рд╣рд╛ рдЫ рдЬрд╕рд▓реЗ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдмрд┐рдирд╛ рдиреИ рд▓реЗрдЦреНрдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХреЛрдбрдХреЛ рдЧреБрдгрд╕реНрддрд░рдорд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЕрд╕рд░ рдкрд░реНрджреИрдиред
  • рдзреЗрд░реИ рд╕рд░рд▓ рдХреНрд░рд╕-рдХрдореНрдкрд╛рдЗрд▓реЗрд╢рди рд░ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рдЙрддреНрдХреГрд╖реНрдЯ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА, рдЬрд╕рд▓реЗ рдХреНрд░рд╕-рдкреНрд▓реЗрдЯрдлрд░реНрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдзреЗрд░реИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрдЫред
  • RE2 рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдирд╣рд░реВ рдереНрд░реЗрдб-рд╕реЗрдл рдЫрдиреН рд░ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордпрд╣рд░реВ рдЫрдиреНред
  • рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд╕рд▓реЗ рдзреЗрд░реИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрд▓рд╛рдИ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрд┐рдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рдХрд╕рд░реА рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рднрдиреНрджрд╛ рдкрдирд┐ рддреНрдпрд╕рдорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реНрди рднрд╛рд╖рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЫ, рддрд░ рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдХреНрдиреЗ рддрд▓реНрд▓реЛ рддрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдЫред
  • рдЧреЛ рдЗрдХреЛ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рд╕рдмреИ рдЕрд╡рд╕рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдмрдХреНрд╕ рдмрд╛рд╣рд┐рд░ рд╡рд┐рдХрд╕рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ: рдкрд░реАрдХреНрд╖рдг, рдХрд╛рдЧрдЬрд╛рдд, рдкреНрдпрд╛рдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд▓рд┐рдиреНрдЯрд░рд╣рд░реВ, рдХреЛрдб рдЙрддреНрдкрд╛рджрди, рджреМрдб рдЕрд╡рд╕реНрдерд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗ, рдЖрджрд┐ред
  • Go рд╕рдВрд╕реНрдХрд░рдг 1.11 рд▓реЗ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕рд┐рдореЗрдиреНрдЯрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНтАНрдпреЛ, рд▓реЛрдХрдкреНрд░рд┐рдп VCS рд╣реЛрд╕реНрдЯрд┐рдВрдЧрдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдирд┐рд░реНрдорд┐рддред рдЧреЛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдЙрдиреЗ рд╕рдмреИ рдЙрдкрдХрд░рдгрд╣рд░реВрд▓реЗ рдпреА рд╕реЗрд╡рд╛рд╣рд░реВ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди, рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд░ рддрд┐рдиреАрд╣рд░реВрдмрд╛рдЯ рдХреЛрдб рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреНред рд░ рддреНрдпреЛ рдорд╣рд╛рди рдЫред рд╕рдВрд╕реНрдХрд░рдг 1.11 рдХреЛ рдЖрдЧрдорди рд╕рдВрдЧ, рдкреНрдпрд╛рдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдкрдирд┐ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╣рд▓ рднрдпреЛред
  • рдХрд┐рдирднрдиреЗ рднрд╛рд╖рд╛рдХреЛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдЬрд╛рджреВ рдХрдо рдЧрд░реНрдиреБ рд╣реЛ, рднрд╛рд╖рд╛рд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдВрдЧ рдЧрд░реНрди рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рджрд┐рдиреНрдЫред рд░ рдпреЛ рд╕рд╣рд┐ рдЫ, рдХрд┐рдирдХрд┐ рдЕрдиреНрдпрдерд╛, рдпреЛ рдХреЗрд╡рд▓ рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдЩрдХреЛ рдмрд╛рд░реЗрдорд╛ рдмрд┐рд░реНрд╕рдиреЗрдЫред рдЕрд░реНрдХреЛ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЬрд╛рдирд╛рдЬрд╛рдиреА рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдЩрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрдЫрдиреН, рддреНрд░реБрдЯрд┐рд▓рд╛рдИ рдорд╛рдерд┐рддрд┐рд░ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрди рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджрд┐рдиреНрдЫрдиреНред
  • рднрд╛рд╖рд╛рд▓реЗ рд╢рд╛рд╕реНрддреНрд░реАрдп OOP рдкрджреНрдзрддрд┐ рд▓рд╛рдЧреВ рдЧрд░реНрджреИрди, рдХрд┐рдирдХрд┐ рдпрд╕рдХреЛ рд╢реБрджреНрдз рд░реВрдкрдорд╛ Go рдорд╛ рдХреБрдиреИ рднрд░реНрдЪреБрдЕрд▓рддрд╛ рдЫреИрдиред рдпрджреНрдпрдкрд┐, рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЗрдиред OOP рдХреЛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐рд▓реЗ рд╢реБрд░реБрдЖрддреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╡реЗрд╢рдХреЛ рдЕрд╡рд░реЛрдзрд▓рд╛рдИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдШрдЯрд╛рдЙрдБрдЫред

рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд▓рд╛рднрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд░рд▓рддрд╛

рдпрд╕рд▓рд╛рдИ рдЬрдЯрд┐рд▓ рдмрдирд╛рдЙрди рд╕рдЬрд┐рд▓реЛ рдЫ, рд╕рд░рд▓ рдмрдирд╛рдЙрди рдЧрд╛рд╣реНрд░реЛ рдЫред

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

рдХрдореНрдкрдиреАрд╣рд░реВрд▓реЗ рдзреЗрд░реИ рдлрд╛рдЗрджрд╛рд╣рд░реВ рдкрдирд┐ рдкрд╛рдЙрдБрдЫрдиреН: рдХрдо рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЕрд╡рд░реЛрдзрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЪрд╛рдБрдбреИ рдПрдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рд░ рднрд╛рд╖рд╛рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ 10 рд╡рд░реНрд╖ рдкрдЫрд┐ рдкрдирд┐ рдЙрд╣реА рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

рдареВрд▓реЛ рдорд╕реНрддрд┐рд╖реНрдХрдХреЛ рдЖрдХрд╛рд░рд▓реЗ рдХреБрдиреИ рд╣рд╛рддреНрддреАрд▓рд╛рдИ рдиреЛрдмреЗрд▓ рдкреБрд░рд╕реНрдХрд╛рд░ рд╡рд┐рдЬреЗрддрд╛ рдмрдирд╛рдПрдХреЛ рдЫреИрдиред

рддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВ рдЬрд╕рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрд╣рдВрдХрд╛рд░рд▓реЗ рдЯреЛрд▓реА рднрд╛рд╡рдирд╛рдорд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓рд┐рдиреНрдЫ, рд╕рд╛рдереИ рд╢реИрдХреНрд╖рд┐рдХ рдЪреБрдиреМрддреАрд╣рд░реВ рд░ рдЕрдирдиреНрдд "рдЖрддреНрдо-рд╕реБрдзрд╛рд░" рд▓рд╛рдИ рдорд╛рдпрд╛ рдЧрд░реНрдиреЗ рд╕рд┐рджреНрдзрд╛рдиреНрддрдХрд╛рд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рднрд╛рд╖рд╛ рд╕рд╛рдБрдЪреНрдЪреИ рдЦрд░рд╛рдм рдЫ, рдХрд┐рдирдХрд┐ рдпреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдХрд╛рд░реАрдЧрд░реА рднрд╛рд╖рд╛ рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИрдиред рдЖрдлреНрдиреЛ рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛рдмрд╛рдЯ рд╕реМрдиреНрджрд░реНрдп рдЖрдирдиреНрдж рд▓рд┐рдиреБрд╣реЛрд╕реН рд░ рд╕рд╣рдХрд░реНрдореАрд╣рд░реВрдХреЛ рдЕрдЧрд╛рдбрд┐ рдЖрдлреВрд▓рд╛рдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рджреЗрдЦрд╛рдЙрдиреБрд╣реЛрд╕реН (рд╣рд╛рдореАрд▓реЗ рдпреА рдорд╛рдкрджрдгреНрдбрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдмреБрджреНрдзрд┐рдорддреНрддрд╛ рдорд╛рдкрди рдЧрд░реНрдЫреМрдВ, IQ рджреНрд╡рд╛рд░рд╛ рд╣реЛрдЗрди)ред рдЬреАрд╡рдирдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рдЬрд╕реНрддреИ, рдпреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рд╣рд░реВрдХреЛ рдХреБрд░рд╛ рд╣реЛред рд╕рдмреИ рд╕рд╛рд░реНрдердХ рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВ рдЬрд╕реНрддреИ, рднрд╛рд╖рд╛рд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЕрд╕реНрд╡реАрдХрд╛рд░рдмрд╛рдЯ рд╕рд╛рдореВрд╣рд┐рдХ рд╕реНрд╡реАрдХреГрддрд┐рд╕рдореНрдордХреЛ рд▓рд╛рдореЛ рдпрд╛рддреНрд░рд╛ рдЧрд░рд┐рд╕рдХреЗрдХреЛ рдЫред рднрд╛рд╖рд╛ рдпрд╕рдХреЛ рд╕рд░рд▓рддрд╛рдорд╛ рд╕рд░рд▓ рдЫ, рд░, рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, рд╕рдмреИ рд╕рд░рд▓ рд╕рд░рд▓ рдЫ!

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди