-- ΠΠΎΠ±Π°Π²ΠΈΡΡ c Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°.
require
write_open: open_for_write
external
"C" alias "_char_write";
ensure
one_more: count = old count + 1
end
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ alias ΡΠ°ΠΊΡΠ»ΡΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ, Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅. ΠΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π² ΠΠ-Π½ΠΎΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π΅ΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π² ΡΠ·ΡΠΊΠ΅ Π‘).
Π£Π»ΡΡΡΠ΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ
ΠΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°Π΅Π² ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ΅Π½ Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ:
[x]. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ. ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΠ-ΠΌΠΈΡΠ΅, Π½ΠΎ Π»ΡΠ±ΠΎΠΉ ΠΈΡ Π²ΡΠ·ΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π²ΡΡΠ°Π²ΠΊΡ ΡΠ΅Π»Π° ΠΌΠ°ΠΊΡΠΎΡΠ° Π² ΡΠΎΡΠΊΠ΅ Π²ΡΠ·ΠΎΠ²Π°. ΠΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ Π²Π°ΡΠΈΠ°ΡΠΈΠ΅ΠΉ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ·ΡΠΊΠ° (ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "C:[macro]...").
[x]. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ· "Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ" (DLL), Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² Windows ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° DLL Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DLL Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² DYNAMIC_LIBRARY ΠΈ DYNAMIC_ROUTINE. ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
[x]. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈ ΡΠ²ΡΠ·Ρ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌΡ ΠΠ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° (callback mechanism), Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ΅ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² ΠΠ-ΡΡΠ΅Π΄Π΅, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ - ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΠ-ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΠΎΠΌΠΎΠ³Π°Ρ ΡΠΎΡΠ΅ΡΠ°ΡΡ ΡΡΠ°ΡΠΎΠ΅ ΠΠ Ρ Π½ΠΎΠ²ΡΠΌ. ΠΡΠ±ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ . Π’ΡΡΠ΄Π½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ±Π΅Π΄ΠΈΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΠ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΡΠΎΠΉ ΠΌΠΈΠ½ΡΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΊΡΡΡΠΎΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠΈΡΡ - ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ². ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ ΡΠΊΡΠΎΠΌΠ½ΠΎΡΡΠΈ: Π°Π²ΡΠΎΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°Π½Π΅Π΅ ΠΈΠΌΠ΅Π²ΡΠΈΠΌΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ.
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΠ΅ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ - ΠΊΠ»Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ - ΠΊΠ»Π°ΡΡ ARRAY, ΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΡΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π»Π΅ΠΊΡΠΈΡΡ , ΠΈ ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ : ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ make ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° item ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈ Ρ.Π΄.
ΠΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΠ-ΠΌΠΈΡΠΎΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°ΠΌΠΈ. ΠΠ»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π²Π½Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° - ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Π‘ _char_write ΠΎΠ±ΡΠ΅Π»Π° ΡΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° (feature) ΠΊΠ»Π°ΡΡΠ°, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ put. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π²Π½ΡΡΡΠ΅Π½Π½Π΅ ΠΎΠΏΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Π½Π° Π½Π΅ ΠΠ-ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΠ-ΠΌΠΈΡΠ° Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ Π·Π°ΠΊΠΎΠ½Π½ΡΡ Π³ΡΠ°ΠΆΠ΄Π°Π½ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, ΠΈ ΠΈΡ Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π² "ΠΈΠ·ΡΡΠΊΠ°Π½Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅". ("ΠΠ·ΡΡΠΊΠ°Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ" Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π±Π΅ΡΠΊΠ»Π°ΡΡΠΎΠ²ΠΎΠ΅.)
ΠΠ-ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (re-architecturing)
ΠΠΎΠ½ΡΡΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΎΡΠΎΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ ΠΌΠ΅ΡΠΎΠ΄Π° - Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ: ΠΎΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ½Π° ΡΠ°ΠΊΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎ ΡΡΠΎ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ, - ΡΠ°ΠΊ ΡΡΠΎ Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΠ-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ°ΡΡΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ΅ΠΌ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ (wrap), ΠΎΠ΄Π΅Π²Π°Ρ Π² ΠΎΠ΄Π΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΡΠ°ΠΉΠ½ΠΈΠΉ, Π½ΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π°Π±ΡΡΡΠ΄Π½ΡΠΉ, ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΡΠ°ΡΠΈΠΈ - ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΎΠ³Π΄Π° ΡΠ»ΡΠΆΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ ΠΌΠΎΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ: ΠΊΠ»Π°ΡΡΡ, ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠΊΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠ»ΠΈΠ΅Π½Ρ, Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ.
ΠΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅Ρ ΠΏΡΠΈΡΠΈΠ½Ρ Π·Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ. ΠΠ-Π½ΠΎΡΠ°ΡΠΈΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΈ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°, ΠΊΠ°ΠΊ ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ°Ρ Fortran ΠΈΠ»ΠΈ C. Π ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΠ-ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΠ? ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ: ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ, Π·Π°Π²ΠΈΡΡΡΠΈΠΌ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΡΡΠ³ΠΎΠΉ - ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ - ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΌ ΠΠ, Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΌΡΡ Π² Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠΈΠΌ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π½ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Ρ ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ.
ΠΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΠ-ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠΎΠΉ (object-oriented re-architecturing) Π΄Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΠ, Π³ΠΎΡΠΎΠ²Ρ Π΅Π³ΠΎ ΠΊ Π±ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ:
[x]. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΠ, ΠΊΠΎΡΠΎΡΠΎΠ΅, Π½Π΅ Π±ΡΠ΄ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π½Π΅ Π΄Π°Π½Π½ΡΡ . ΠΠΎ Π² ΡΡΠΎΠΌ ΠΈ ΡΠΎΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΠ° - ΠΎΠ±Π΅ΡΠ½ΡΡΡ ΡΡΠ°ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΡΠ»ΠΈ Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ, ΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠ°Ρ ΠΠ-ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠ° Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
[x]. ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠ΅ ΠΠ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ°ΡΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΡΠ°ΡΡΠ΅ΠΌ - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡΠΎ ΠΏΠΎΠ΄ ΡΠ»ΠΎΡΠΌΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ.
ΠΡΠΈ Π΄Π²Π° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΡ ΠΎΠ΄Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΠ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΠ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΡΠ΅ΠΆΠ½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°Ρ . ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΡΠ°ΡΡΡΡ ΡΡΠ΅Π΄Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ.
[x]. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Vision (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π»Π΅ΠΊΡΠΈΠΈ 14 ΠΊΡΡΡΠ° "ΠΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ") Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Ρ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ½ΡΡΡΠ΅Π½Π½Π΅, ΠΎΠ½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° "ΡΠΎΠ΄Π½ΡΡ " ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . Π’ΠΎΡΠ½Π΅Π΅, Π΅Π΅ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
[x]. ΠΡΡΠ³Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Math, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΎΡΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ΅ΠΉ, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠ΅ ΠΈ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, Π±ΡΡΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡΡΡΠ΅, Π°Π½Π°Π»ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΄ΠΎΠ². ΠΠ½ΡΡΡΠ΅Π½Π½Π΅ ΠΎΠ½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ NAG ΠΎΡ Nag Ltd., Oxford, Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΠ-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΡ, ΡΠΈΠ·ΠΈΠΊΡ ΠΈΠ»ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ: INTEGRATOR, BASIC_MATRIX, DISCRETE_FUNCTION, EXPONENTIAL_DISTRIBUTION. ΠΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ - NAG Π°ΠΊΠΊΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ ΡΠΎΡΠ½ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎ-Π»Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π Π½Π΅ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΠ-ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°: ΠΊΠ»Π°ΡΡΡ, ΡΠΊΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ΅ΡΠ΅Π· ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΠΈΡΠ½Ρ Π΄Π»Ρ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ Π»ΡΡΡΠΈΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.
ΠΠΎΠΏΡΠΎΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ: Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΈΠ»ΠΈ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ?
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠΈΡΡΡ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ ΡΠΊΡΠΎΠΌΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΠ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ°ΡΡΠΌ ΠΠ. ΠΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ - ΡΠ°ΠΌΡΠΌΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Objective-C, C++, Java, Object Pascal ΠΈ Ada 95 - ΠΏΠΎΡΠ»ΠΈ ΠΏΠΎ ΠΏΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΠ-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠΉ Π½Π΅ ΠΠ-ΡΠ·ΡΠΊ. ΠΠ½ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΊΠ°ΠΊ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ (hybrid languages) - ΡΠΌ. Π»Π΅ΠΊΡΠΈΡ 17 ΠΊΡΡΡΠ° "ΠΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ".
Π’Π΅Ρ Π½ΠΈΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ Π²ΡΡΠ΅, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π»Π°ΡΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΈ ΠΠ-ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠ΅. ΠΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΠ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΡ ΡΠ·ΡΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, ΠΌΠΎΠ³ΡΡΠΈΠΌΠΈ ΡΠ°ΡΡ ΠΎΠ΄ΠΈΡΡΡΡ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.