рдЕрдирд╕реНрдорд╛рд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА рдЧреЛ рдХрд╛ рд╡рд╛рдИрдЯ рдЖрд╣реЗ

рд╣рд╛ рд▓реЗрдЦ рдЖрдзреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдПрдХрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпреЗрд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдореНрд╣рдгреВрди рд▓рд┐рд╣рд┐рд▓рд╛ рд╣реЛрддрд╛ antipodean рд▓реЗрдЦ.

рдЕрдирд╕реНрдорд╛рд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА рдЧреЛ рдХрд╛ рд╡рд╛рдИрдЯ рдЖрд╣реЗ

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

рдХрдордХреБрд╡рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ?

рджреБрд░реНрдмрд▓ рд▓реЛрдХ рд╕рдорд╕реНрдпрд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓рддрд╛рдд. рдХрд▓реНрдкрдирд╛ рдЖрдгрд┐ рд╕реНрд╡рдкреНрдирд╛рдВрдмрджреНрджрд▓ рдЬреЛрд░рджрд╛рд░ рдЪрд░реНрдЪрд╛...

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

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

рдордЧ рддреЗ рдЗрддрдХреЗ рд╕реЛрдкреЗ рдХрд╛ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ? рдпреЗрдереЗ рд░реЙрдм рдкрд╛рдИрдХрдЪреЗ рджреЛрди рдХреЛрдЯреНрд╕ рдЖрд╣реЗрдд:

рдпреЗрдереЗ рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдЖрдордЪреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕рдВрд╢реЛрдзрдХ рдирд╛рд╣реАрдд. рддреЗ, рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдЕрдЧрджреА рддрд░реБрдг рдЖрд╣реЗрдд, рдЕрднреНрдпрд╛рд╕ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдпреЗрддрд╛рдд, рдХрджрд╛рдЪрд┐рдд рддреНрдпрд╛рдВрдиреА Java, рдХрд┐рдВрд╡рд╛ C/C++, рдХрд┐рдВрд╡рд╛ Python рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХреЗрд▓рд╛ рдЕрд╕реЗрд▓. рддреНрдпрд╛рдВрдирд╛ рдЙрддреНрддрдо рднрд╛рд╖рд╛ рд╕рдордЬреВ рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рддреНрдпрд╛рдВрдиреА рдЪрд╛рдВрдЧрд▓реЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ рдЕрд╢реА рдЖрдордЪреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ. рдореНрд╣рдгреВрдирдЪ рднрд╛рд╖рд╛ рд╕рдордЬрдгреНрдпрд╛рд╕ рд╡ рд╢рд┐рдХрдгреНрдпрд╛рд╕ рд╕реЛрдкреА рдЕрд╕рд╛рд╡реА.

рддреЛ рдкрд░рд┐рдЪрд┐рдд рдЕрд╕рд╛рд╡рд╛, рдЕрдВрджрд╛рдЬреЗ рд╕реА рд╕рд╛рд░рдЦрд╛рдЪ рдмреЛрд▓рддреЛ. Google рд╡рд░ рдХрд╛рдо рдХрд░рдгрд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрдпрд╛рдВрдЪреЗ рдХрд░рд┐рдЕрд░ рд▓рд╡рдХрд░ рд╕реБрд░реВ рдХрд░рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдореБрдЦреНрдпрддрдГ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рднрд╛рд╖рд╛, рд╡рд┐рд╢реЗрд╖рддрдГ C рдХреБрдЯреБрдВрдмрд╛рд╢реА рдкрд░рд┐рдЪрд┐рдд рдЕрд╕рддрд╛рдд. рдирд╡реАрди рдкреНрд░реЛрдЧреНрд░реЕрдорд┐рдВрдЧ рднрд╛рд╖реЗрдд рдЬрд▓рдж рдЙрддреНрдкрд╛рджрдирдХреНрд╖рдорддреЗрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдореНрд╣рдгрдЬреЗ рднрд╛рд╖рд╛ рдЦреВрдк рдореВрд▓рдЧрд╛рдореА рдЕрд╕реВ рдирдпреЗ.

рд╢рд╣рд╛рдгреЗ рд╢рдмреНрдж, рдирд╛рд╣реА рдХрд╛?

рд╕рд╛рдзреЗрдкрдгрд╛рдЪреА рдХрд▓рд╛рдХреГрддреА

рд╕реМрдВрджрд░реНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзреЗрдкрдгрд╛ рд╣реА рдЖрд╡рд╢реНрдпрдХ рдЕрдЯ рдЖрд╣реЗ. рд▓реЗрд╡реНрд╣ рдЯреЙрд▓реНрд╕реНрдЯреЙрдп.

рд╣реЗ рд╕реЛрдкреЗ рдареЗрд╡рдгреЗ рд╣реЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдбрд┐рдЭрд╛рдЗрдирдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗрдЪ рдХреА, рдПрдХ рдкрд░рд┐рдкреВрд░реНрдг рдкреНрд░рдХрд▓реНрдк рдЕрд╕рд╛ рдкреНрд░рдХрд▓реНрдк рдирд╛рд╣реА рдЬрд┐рдереЗ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЬреНрдпрд╛рдордзреВрди рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА. рдмрд░реНтАНрдпрд╛рдЪ рд▓реЛрдХрд╛рдВрдЪрд╛ рдЕрд╕рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА (рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рд╡реНрдпрдХреНрдд) рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рдЬрдЯрд┐рд▓ рд╕рд╛рдзрди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдорд╛рддреНрд░, рддрд╕реЗ рдирд╛рд╣реА. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде PERL рднрд╛рд╖рд╛ рдШреЗрдК. рднрд╛рд╖рд╛ рд╡рд┐рдЪрд╛рд░рд╡рдВрддрд╛рдВрдЪрд╛ рдЕрд╕рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛрддрд╛ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдХрдбреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдорд╛рди рддреАрди рднрд┐рдиреНрди рдорд╛рд░реНрдЧ рдЕрд╕рд╛рд╡реЗрдд. рдЧреЛ рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╡рд┐рдЪрд╛рд░рд╡рдВрддрд╛рдВрдиреА рд╡реЗрдЧрд│рд╛ рдорд╛рд░реНрдЧ рд╕реНрд╡реАрдХрд╛рд░рд▓рд╛; рддреНрдпрд╛рдВрдиреА рдард░рд╡рд▓реЗ рдХреА рдПрдХ рдорд╛рд░реНрдЧ, рдкрд░рдВрддреБ рдЦрд░реЛрдЦрд░ рдЪрд╛рдВрдЧрд▓рд╛, рдзреНрдпреЗрдп рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕рд╛ рдЖрд╣реЗ. рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪрд╛ рдПрдХ рдЧрдВрднреАрд░ рдкрд╛рдпрд╛ рдЖрд╣реЗ: рдПрдХрдореЗрд╡ рдорд╛рд░реНрдЧ рд╢рд┐рдХрдгреЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рд╡рд┐рд╕рд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ.

рдмрд░реНтАНрдпрд╛рдЪ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рддрд╛рдВрдЪреА рддрдХреНрд░рд╛рд░ рдЖрд╣реЗ рдХреА рднрд╛рд╖реЗрдд рдореЛрд╣рдХ рдЕтАНреЕрдмреНрд╕реНрдЯреНрд░реЕрдХреНрд╢рдиреНрд╕ рдирд╛рд╣реАрдд. рд╣реЛрдп, рд╣реЗ рдЦрд░реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рднрд╛рд╖реЗрдЪрд╛ рд╣рд╛ рдПрдХ рдореБрдЦреНрдп рдлрд╛рдпрджрд╛ рдЖрд╣реЗ. рднрд╛рд╖реЗрдд рдХрд┐рдорд╛рди рдЬрд╛рджреВ рдЖрд╣реЗ - рддреНрдпрд╛рдореБрд│реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рд╕рдЦреЛрд▓ рдЬреНрдЮрд╛рдирд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдХреЛрдбрдЪреНрдпрд╛ рд╡рд░реНрдмреЛрд╕рд┐рдЯреАрд╕рд╛рдареА, рд╣реА рдЕрдЬрд┐рдмрд╛рдд рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реА. рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рд▓рд┐рдЦрд┐рдд рдЧреЛрд▓рд╛рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдиреБрд▓рдВрдм рд╡рд╛рдЪрддреЛ, рдХрдореА рдХрд┐рдВрд╡рд╛ рдХреЛрдгрддреАрд╣реА рд░рдЪрдирд╛ рдирд╛рд╣реА. рд╢рд┐рд╡рд╛рдп, рдПрдЦрд╛рджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рдЪрдгреНрдпрд╛рдЪреА рдЧрддреА рд╣рд╛ рддреЛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрдЧрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореАрдд рдХрдореА рдкрд░рд┐рдорд╛рдгрд╛рдЪрд╛ рдХреНрд░рдо рдЕрд╕рддреЛ. рд╕рд░реНрд╡ рдХреЛрдбрдордзреНрдпреЗ рдПрдХрд╕рдорд╛рди рдлреЙрд░рдореЕрдЯрд┐рдВрдЧ рдЖрд╣реЗ (рдЕрдВрдЧрднреВрдд 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)
}

рдбреА рдордзреАрд▓ рд╕рдорд╛рди рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг, рдЬрд░реА рддреЗ рдХрд╛рд╣реАрд╕реЗ рд▓рд╣рд╛рди рджрд┐рд╕рдд рдЕрд╕рд▓реЗ рддрд░реА рд╡рд╛рдЪрдгреЗ рд╕реЛрдкреЗ рдирд╛рд╣реА

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))
}

рдЖрдгрд┐, рдЬрд░реА рдЖрдордЪрд╛ рдХреЛрдб рдорд╛рдЧреАрд▓ рдХреЗрд╕рдкреЗрдХреНрд╖рд╛ рдереЛрдбрд╛ рд▓рд╛рдВрдм рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рджрд┐рд╕реВрди рдЖрд▓реЗ, рддрд░реАрд╣реА рддреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡ рдЕрдВрдХрдЧрдгрд┐рдд рдСрдкрд░реЗрд╢рдиреНрд╕ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреЗ рдХрдареАрдг рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.

рдмрд░реЗрдЪ рдЬрдг рдореНрд╣рдгрддреАрд▓ рдХреА рдбреА рдордзреАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рдХреНрд╖рдгреАрдпрдкрдгреЗ рд▓рд╣рд╛рди рджрд┐рд╕рддреЛ рдЖрдгрд┐ рддреЗ рдмрд░реЛрдмрд░ рдЕрд╕рддреАрд▓.

import std.stdio;
import std.algorithm;

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

рддрдерд╛рдкрд┐, рддреЗ рдлрдХреНрдд рд▓рд╣рд╛рди рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдирд╛рд╣реА, рдХрд╛рд░рдг рдбреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рддреНрд░реБрдЯреА рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдХрдбреЗ рдкреВрд░реНрдгрдкрдгреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рддреЗ.

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

рджреЗрдЦрднрд╛рд▓рдХреНрд╖рдорддрд╛, рд╡рд┐рд╕реНрддрд╛рд░рдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рд╡рд╛рдЪрдиреАрдпрддреЗрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдорд╛рдЭреНрдпрд╛ рдорддреЗ, рдЧреЛ рднрд╛рд╖рд╛ рдЬрд┐рдВрдХрддреЗ, рдЬрд░реА рддреА рд╢рдмреНрджрд╢рдГ рд╣рд░рд▓реА.

рдХрд╛рд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрдореНрд╣рд╛рд▓рд╛ рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рдлрд╛рдпрджреЗ рджреЗрддреЗ. рд╣реЗ рдХреНрд░рдорд╡рд╛рд░реА рдкреЕрдХреЗрдЬрджреНрд╡рд╛рд░реЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕реНрдкрд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдореБрд│реЗ, рдХреЛрдгрддреАрд╣реА рдпрд╛рджреА рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд 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 рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ. рдЧреЛ рднрд╛рд╖рд╛ рддреЗрдЪ рдХрд░рддреЗ.

рддреЛрдлреЗрдкрд╛рд╕реВрди рдЪрд┐рдордгреНрдпрд╛рдВрдкрд░реНрдпрдВрдд

рдЖрдгрд┐ рд╕реНрдЯреНрд░реЗрдЯрдЬреЕрдХреЗрдЯ рд╡реЗрдбреЗрдкрдгрд╛рдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдд рдлрд┐рдЯ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕реНрдЯреЕрдирд┐рд╕реНрд▓рд╛рд╡ рд▓реЗрдХ.

рдмрд░реЗрдЪ рдХрдЯреНрдЯрд░ рдЪрд╛рд╣рддреЗ рдЕрд╕рд╛ рджрд╛рд╡рд╛ рдХрд░реВ рд╢рдХрддрд╛рдд рдХреА рдЧреЛ рдХрдбреЗ рдЬреЗрдиреЗрд░рд┐рдХ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрдЦреА рдПрдХ рдпрдВрддреНрд░рдгрд╛ рдЖрд╣реЗ - рдкреНрд░рддрд┐рдмрд┐рдВрдм. рдЖрдгрд┐ рддреЗ рдмрд░реЛрдмрд░ рдЕрд╕рддреАрд▓... рдкрд░рдВрддреБ рдХреЗрд╡рд│ рдХреНрд╡рдЪрд┐рдд рдкреНрд░рд╕рдВрдЧреА.

рд░реЙрдм рдкрд╛рдИрдХ рдЖрдореНрд╣рд╛рд▓рд╛ рдЪреЗрддрд╛рд╡рдгреА рджреЗрддреЛ:

рд╣реЗ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рд╛рдзрди рдЖрд╣реЗ рдЬреЗ рд╕рд╛рд╡рдзрдЧрд┐рд░реАрдиреЗ рд╡рд╛рдкрд░рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдХрдареЛрд░рдкрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╕рд▓реНрдпрд╛рд╕ рддреЗ рдЯрд╛рд│рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рд╕рд╛рдВрдЧрддреЛ:

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

рддрдерд╛рдкрд┐, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ рдХреА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрд╕рд╛рдареА рдкреИрд╕реЗ рджреНрдпрд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рддреЗ рдЖрд╣реЗ:

  • рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдд рдЕрдбрдЪрдг
  • рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЧрддреА

рдореНрд╣рдгреВрди, рдореЛрдареНрдпрд╛-рдХреЕрд▓рд┐рдмрд░ рд╢рд╕реНрддреНрд░рд╛рдкреНрд░рдорд╛рдгреЗ, рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╕рд╛рд╡рдзрдЧрд┐рд░реАрдиреЗ рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдкрд░рд╛рд╡рд░реНрддрдирд╛рдЪрд╛ рдЕрд╡рд┐рдЪрд╛рд░реА рд╡рд╛рдкрд░ рдХреЗрд▓реНрдпрд╛рдиреЗ рди рд╡рд╛рдЪрддрд╛ рдпреЗрдгрд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕, рд╕рддрдд рдЪреБрдХрд╛ рдЖрдгрд┐ рд╡реЗрдЧ рдХрдореА рд╣реЛрддреЛ. рд╕реНрдиреЙрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд▓рд╛ рддреНрдпрд╛рдЪрд╛ рдХреЛрдб рдЗрддрд░, рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЖрдгрд┐ рд╡рд┐рдирдореНрд░ рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдВрд╕рдореЛрд░ рджрд╛рдЦрд╡рдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рдЕрд╕рдгреЗ рд╣реАрдЪ рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ.

рд╢реАрдХрдбреВрди рд╕рд╛рдВрд╕реНрдХреГрддрд┐рдХ рд╕рд╛рдорд╛рди? рдирд╛рд╣реА, рдЕрдиреЗрдХ рднрд╛рд╖рд╛рдВрдордзреВрди!

рдирд╢рд┐рдмрд╛рдмрд░реЛрдмрд░рдЪ рд╡рд╛рд░рд╕рд╛рдВрд╡рд░ рдХрд░реНрдЬрд╣реА рд╕реЛрдбрд▓реЗ рдЬрд╛рддреЗ.

рднрд╛рд╖рд╛ рдкреВрд░реНрдгрдкрдгреЗ рд╕реА рд╡рд╛рд░рд╢рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдЕрд╕рд╛ рдЕрдиреЗрдХрд╛рдВрдЪрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрд╕реВрдирд╣реА, рдЕрд╕реЗ рдирд╛рд╣реА. рднрд╛рд╖рд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдЪреНрдпрд╛ рдЕрдиреЗрдХ рдкреИрд▓реВрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдХрд░рддреЗ.

рд╡рд╛рдХреНрдпрд░рдЪрдирд╛

рд╕рд░реНрд╡ рдкреНрд░рдердо, рд╡реНрдпрд╛рдХрд░рдгрд╛рдЪреНрдпрд╛ рд░рдЪрдирд╛рдВрдЪреА рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╕реА рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╡рд╛рдХреНрдпрд░рдЪрдиреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдбреЗрд▓реНрдлреА рднрд╛рд╖реЗрдЪрд╛ рджреЗрдЦреАрд▓ рд▓рдХреНрд╖рдгреАрдп рдкреНрд░рднрд╛рд╡ рд╣реЛрддрд╛. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдкрдг рдкрд╛рд╣рддреЛ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреА рд╡рд╛рдЪрдиреАрдпрддрд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдХрдореА рдХрд░рдгрд╛рд░реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрдВрд╕ рдкреВрд░реНрдгрдкрдгреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд. рднрд╛рд╖реЗрдордзреНрдпреЗ DELPHI рднрд╛рд╖реЗрдЪрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд тАЬ:=тАЭ рдСрдкрд░реЗрдЯрд░ рджреЗрдЦреАрд▓ рдЖрд╣реЗ. рдкреЕрдХреЗрдЬреЗрд╕рдЪреА рд╕рдВрдХрд▓реНрдкрдирд╛ ADA рд╕рд╛рд░рдЦреНрдпрд╛ рднрд╛рд╖рд╛рдВрдордзреВрди рдШреЗрддрд▓реА рдЖрд╣реЗ. рди рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪреА рдШреЛрд╖рдгрд╛ PROLOG рднрд╛рд╖реЗрддреВрди рдШреЗрддрд▓реА рдЖрд╣реЗ.

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

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

рдбреЗрд▓рд┐рдЧреЗрд╢рди рдкрджреНрдзрддреАрдиреЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рдХрд╛рд░реНрдпрд╡рд╛рд╣реА DELPHI рднрд╛рд╖реЗрддреВрди рдШреЗрдгреНрдпрд╛рдд рдЖрд▓реА.

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

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

рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдмрд╛рдВрдзрдХрд╛рдореЗ

рднрд╛рд╖реЗрдордзреНрдпреЗ рдЕрдиреЗрдХ рднрд┐рдиреНрди рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд░рдЪрдирд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ C рд╕рд╛рд░рдЦреНрдпрд╛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рд╣реАрдд.

  • рддрд╛рд░
  • рд╣реЕрд╢ рдЯреЗрдмрд▓
  • рдХрд╛рдк
  • рдбрдХ рдЯрд╛рдпрдкрд┐рдВрдЧ RUBY рд╕рд╛рд░рдЦреНрдпрд╛ рднрд╛рд╖рд╛рдВрдордзреВрди рдЙрдзрд╛рд░ рдШреЗрддрд▓реЗ рдЬрд╛рддреЗ (рдЬреЗ, рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдЕрдиреЗрдХрд╛рдВрдирд╛ рд╕рдордЬрдд рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдкреВрд░реНрдг рдХреНрд╖рдорддреЗрдиреЗ рд╡рд╛рдкрд░рддрд╛ рдпреЗрдд рдирд╛рд╣реА).

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

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

рд╕рдорд░реВрдкрддрд╛ рдЖрдгрд┐ рд╕рдорд░реВрдкрддрд╛

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

рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╛рдпрджреЗ

рдЬрд░ рддреЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдЕрд╕реЗрд▓ рддрд░ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдирд┐рд╕реНрд╡рд╛рд░реНрдереА рд╣реЛрдИрд▓.

рднрд╛рд╖рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдиреЗрдХ рдирд┐рдГрд╕рдВрд╢рдп рдлрд╛рдпрджреЗ рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ:

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

рд╕рдорд╛рдЬрд╛рдЪреНрдпрд╛ рдлрд╛рдпрджреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзреЗрдкрдгрд╛

рдЧреБрдВрддрд╛рдЧреБрдВрдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ, рд╕реЛрдкреЗ рдХрд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ.

Go рдЪреА рд░рдЪрдирд╛ рд╕реЛрдкреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА рдЖрдгрд┐ рддреА рддреНрдпрд╛ рдзреНрдпреЗрдпрд╛рдд рдпрд╢рд╕реНрд╡реА рд╣реЛрддреЗ. рд╣реЗ рдЕрд╢рд╛ рд╕реНрдорд╛рд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА рд▓рд┐рд╣рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рдЯреАрдорд╡рд░реНрдХрдЪреЗ рдлрд╛рдпрджреЗ рд╕рдордЬрддрд╛рдд рдЖрдгрд┐ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдВрдЪреНрдпрд╛ рдЕрдВрддрд╣реАрди рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддреЗрдореБрд│реЗ рдХрдВрдЯрд╛рд│рд▓реЗ рдЖрд╣реЗрдд. рддреНрдпрд╛рдЪреНрдпрд╛ рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░рд╛рдд рд╕рд┐рдВрдЯреЕрдХреНрдЯрд┐рдХ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рдЪрд╛ рддреБрд▓рдиреЗрдиреЗ рд▓рд╣рд╛рди рд╕рдВрдЪ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрд░рд┐рддреНрдпрд╛ рдХрд╛рд│рд╛рдиреБрд╕рд╛рд░ рдмрджрд▓рд╛рдВрдЪреНрдпрд╛ рдЕрдзреАрди рдирд╛рд╣реА, рдореНрд╣рдгреВрди рд╡рд┐рдХрд╕рдХрд╛рдВрдирд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рдмрд░рд╛рдЪ рд╡реЗрд│ рдореЛрдХрд│рд╛ рдЖрд╣реЗ, рдЖрдгрд┐ рднрд╛рд╖реЗрдЪреНрдпрд╛ рдирд╡рдХрд▓реНрдкрдирд╛рдВрдЪрд╛ рд╕рддрдд рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╛рд╣реА.

рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ рдЕрдиреЗрдХ рдлрд╛рдпрджреЗ рджреЗрдЦреАрд▓ рдорд┐рд│рддрд╛рдд: рдХрдореА рдкреНрд░рд╡реЗрд╢рд╛рдЪрд╛ рдЕрдбрдерд│рд╛ рддреНрдпрд╛рдВрдирд╛ рддреНрд╡рд░реАрдд рддрдЬреНрдЮ рд╢реЛрдзреВ рджреЗрддреЛ рдЖрдгрд┐ рднрд╛рд╖реЗрдЪреА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рддреНрдпрд╛рдВрдирд╛ 10 рд╡рд░реНрд╖рд╛рдВрдирдВрддрд░рд╣реА рд╕рдорд╛рди рдХреЛрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.

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

рдореЛрдареНрдпрд╛ рдореЗрдВрджреВрдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдореБрд│реЗ рдХрдзреАрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рд╣рддреНрддреАрд▓рд╛ рдиреЛрдмреЗрд▓ рдкрд╛рд░рд┐рддреЛрд╖рд┐рдХ рдорд┐рд│рд╛рд▓реЗрд▓реЗ рдирд╛рд╣реА.

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛