ΠΠ°ΠΊ Java Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΌΠΈ Π·Π΄Π΅ΡΡ ΡΠ·ΡΠΊΠ°ΠΌΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ ΡΡΠ½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Java Π½ΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½ΠΈΡΠ΅ Python. ΠΠ°ΠΊ ΠΈ Python, Java Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΈ Ρ Π‘ ΠΈΠ»ΠΈ Π‘++ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΈΡΡΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½ΠΈ Ρ Perl Π² ΠΌΠ΅Π»ΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Π³Π΄Π΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ (Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π½ΠΎ, ΡΠ΅ΠΌ Python) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠΌ Π΄Π»Ρ ΠΌΠ΅Π»ΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Python ΠΏΠΎΠ»ΡΡΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΠΌΠ΅Π»ΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , a Java Π² Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΡ , Π½ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΡΠ΅Π½ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.
ΠΡΡΡΠΈΠΌ ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ½ΠΈΠ³Π° "Java In A Nutshell" [19], ΠΎΠ½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΡΡΠΈΠΌ ΡΡΠ΅Π±Π½ΡΠΌ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ΠΌ. Π’Π°ΠΊΠΈΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ "Thinking in Java" [17]. Π‘ΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠ΅ ΠΌΠΈΡΠΎΠ²ΡΠ΅ Web-ΡΠ°ΠΉΡΡ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠ΅ Java, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠ°ΠΉΡΠ° Java Sun <http: //j ava. sun. com>, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ»Π½Π°Ρ HTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ Π΄Π»Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΏΠΎ Java ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Open Directory Java Page <http://dmoz.org/Computers/Programming/Languages/Java/>.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Java Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ Unix-ΡΠΈΡΡΠ΅ΠΌ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Microsoft, MacOS ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Kaffe, ΠΎΡΠΊΡΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Java, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΎΠ³Π»Π°ΡΡΡΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΡΡ JDK 1.1 ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ Ρ JDK 1.2, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kaffe chttp: //www. kaffe. org/>.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Java-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ GCC. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° GCJ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Java-ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ Π² Java-Π±Π°ΠΉΡΠΊΠΎΠ΄, Π»ΠΈΠ±ΠΎ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, Π° ΡΠ°ΠΊΠΆΠ΅ Java-Π±Π°ΠΉΡΠΊΠΎΠ΄ β Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΌΠΈ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ JDK 1.2, ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Java-Π±Π°ΠΉΡΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ gij. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° GCJ <http://Π΄ΡΡ.gnu.org/j ava/>.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Java IDE-ΡΡΠ΅Π΄Π° Π΄Π»Ρ Emacs, ΡΠΌ. ΡΠ°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° JDEE <http://jdee. sunsite.dk/>.
Java ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ·ΡΠΊΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈΠ·-Π·Π° Π½Π΅ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ JDK 1.1, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ JDK 1.2).
ΠΠ°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Java ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ»ΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΠ»ΡΡ ΠΊ ΠΈΠ΄Π΅Π°Π»Ρ "Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π΅Π·Π΄Π΅", Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ΅Π΄Ρ. ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Java Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄ΡΠΎΠ±Π»Π΅Π½ΠΈΠ΅ Java 1/Java 2 ΠΏΠΎΠ΄ΡΡΠ²Π°Π΅Ρ ΡΡΡ ΡΠ΅Π»Ρ, Π³Π»ΡΠ±ΠΎΠΊΠΎ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²ΡΠ²Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
14.4.7.1. Π£ΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: FreeNet
Freenetβ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ΅Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΡΠ΅Π½Π·ΡΡΡ ΠΈ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Web-ΡΡΡΠ°Π½ΠΈΡ92. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Freenet ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
β’ ΠΠ΅ΠΏΠΎΠ΄ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅Π½Π·ΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: Freenet Π·Π°ΡΠΈΡΠ°Π΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ ΡΠ»ΠΎΠ²Π°, Π±Π΅Π· ΡΠ΅Π½Π·ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΠΎΡ ΡΡΠ΄ΠΎΠ²ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΠΆΡΡΠ½Π°Π»ΠΈΡΡΠΈΠΊΠΈ Π΄ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π½ΡΡ ΡΠ°Π·ΠΎΠ±Π»Π°ΡΠ΅Π½ΠΈΠΉ.
β’ ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΡΠ΅Π±ΡΡΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ: Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ΅ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π΅ΡΠΊΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Debian Linux.
β’ ΠΡΠ΅ΠΎΠ±ΡΠ°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²: Freenet ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Web-ΡΠ°ΠΉΡ Π»ΡΠ±ΠΎΠΌΡ ΠΆΠ΅Π»Π°ΡΡΠ΅ΠΌΡ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΠ»Π°ΠΌΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΉ Web-ΠΌΠ°ΡΠ³Π΅Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
Freenet Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΏΡΡΠ΅ΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ. ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Freenet ΡΠ°ΡΡΠΈΡΠ°ΠΆΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ Π² ΡΠ΅ΡΠΈ ΡΠ°ΠΊ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π΅ Π·Π½Π°ΡΡ, Π³Π΄Π΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π²ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ. ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Freenet Π·Π°ΡΠΈΡΠ΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠΎΠ³ΠΎΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ.
Π―Π·ΡΠΊ Java Π±ΡΠ» Ρ ΠΎΡΠΎΡΠΈΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΏΠΎ Π΄Π²ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ : ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ Java ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ. ΠΠΎ-Π²ΡΠΎΡΡΡ : ΠΏΡΠΈΡΠΎΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΠΊΠΎΠ²Π°, ΡΡΠΎ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, a Java ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ API.
Π―Π·ΡΠΊ Π‘ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ Π΄Π»Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ API Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΠ» Π±Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ. Π’Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π±Ρ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π‘++. Π―Π·ΡΠΊΠΈ Tel, Perl ΠΈΠ»ΠΈ Python ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ ΡΠ΅Π½ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΠΎΡΠ΅ΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Emacs Lisp Π±ΡΠ» Π±Ρ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ.
14.4.8. Emacs Lisp
Emacs Lisp ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Emacs. ΠΠ΅ΡΠ²Π°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² 1984 Π³ΠΎΠ΄Ρ.
Emacs Lisp Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ·ΡΠΊΠΈ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Emacs. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Emacs Lisp Π½Π΅ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ Emacs Π»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, ΡΠ΅ΠΌ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ I Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ,
ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π‘-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ Π»ΠΈΠ½ΠΊΠ΅Ρ, ΡΡΠΈΠ»ΠΈΡΠ° make(1), ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ; ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Emacs Lisp ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 15.
Π Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΌ ΡΠΌΡΡΠ»Π΅, Emacs Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ ΠΆΠ΅, ΡΠ΅ΠΌ ΡΠ·ΡΠΊ Perl Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠΎΠΉΠ½ΡΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏ (Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ) Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠ°ΠΊ Emacs-ΡΠ΅ΠΆΠΈΠΌ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Emacs Lisp, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°).
Emacs Lisp ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π½Π½ΡΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ, Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π°Π³Π΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Usenet-Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ ..
Emacs Lisp β ΠΏΠΎ ΡΡΡΠΈ Lisp. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΡΡΠ΅Π½, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΠΌΠΎΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ², ΠΈΠ»ΠΈ, Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π½Π΅ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ². Emacs Lisp Π½Π° ΡΡΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΡΠ°ΡΡ Ρ Java ΠΈΠ»ΠΈ Python ΠΈ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ ΡΠ·ΡΠΊΠΈ Π‘ ΠΈΠ»ΠΈ Π‘++, Perl, shell ΠΈΠ»ΠΈ Tel. ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Lisp, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΠ‘-ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ, ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΄ΡΠΎΠΌ Emacs, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠ‘-ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ.
ΠΡΡΠ³Π°Ρ Π½Π΅ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°β ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π Π°Π½Π΅Π΅ Π±ΡΠ»ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ Π½Π°ΡΠΌΠ΅ΡΠ»ΠΈΠ²ΡΠ΅ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ "Emacs Makes A Computer Slow" (Emacs ΡΠΎΡΠΌΠΎΠ·ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ) ΠΈ "Eventually Munches All Computer Storage" (Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΡ ΠΏΠ°ΠΌΡΡΡ) (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Emacs Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΊΠΈΡ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΎΠΊ). ΠΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Web-Π±ΡΠ°ΡΠ·Π΅ΡΡ) ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ, ΡΠ΅ΠΌ Emacs, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ Π½ΠΈΠΌΠΈ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌ.