Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Gosling Emacs (көбінесе "Gosmacs" немесе "gmacs" деп қысқартылады) – 1981 жылы Джеймс Гослинг C тілінде жазған, қолданыстан тоқтатылған Emacs нұсқасы.
Gosling Emacs (often shortened to "Gosmacs" or "gmacs") is a discontinued Emacs implementation written in 1981 by James Gosling in C.
Гослинг бастапқыда Gosling Emacs-ты ешқандай ресми шектеулерсіз қайта таратуға рұқсат берді, бұл 1970-жылдардан бері "Emacs қауымдастығы" талап еткендей, тек оның авторлығын мойындаған хатты сұрады. Кейіннен, одан әрі жұмысын жалғастыруды қалап, ол Emacs-тің өзінің нұсқасын UniPress компаниясына сатты. Ричард Столлман мен UniPress арасындағы дау Emacs үшін алғашқы ресми лицензияның құрылуына себеп болды, ол кейіннен GPL аталды, себебі Конгресс 1980 жылы бағдарламалық қамтамасыздарға авторлық құқық енгізген болатын.
Gosling initially allowed Gosling Emacs to be redistributed with no formal restrictions, as required by the "Emacs commune" since the 1970s, only asking for a letter acknowledging his authorship. Later, wishing to move on, he sold his version of Emacs to UniPress. The dispute between Richard Stallman and UniPress inspired the creation of the first formal license for Emacs, which later became the GPL, as Congress had introduced copyright for software in 1980.
Ерекшеліктері
Гослингтің Emacs нұсқасы тиімді қайта көрсету кодының арқасында ерекше көзге түсті, ол классикалық тізбекті тізбекке түзету мәселесін шешу үшін динамикалық бағдарламалау әдісін қолданды. Алгоритм өте күрделі болды; осы бөлімнің басында ASCII суреті түрінде бас сүйек пен сүйектер бейнеленген, олар дисплей кодының жұмыс істеу принципін түсінгенім деп ойласаңыз да, оны толыққанды түсінбеуіңіз мүмкін екенін ескертетін.
Gosling Emacs was especially noteworthy because of the effective redisplay code, which used a dynamic programming technique to solve the classical string to string correction problem. The algorithm was quite sophisticated; that section of the source was headed by a skull and crossbones in ASCII art, warning any would be improver that even if they thought they understood how the display code worked, they probably did not.
Тарату
Гослинг оны шектеусіз таратуға рұқсат бергендіктен, Ричард Столлман GNU Emacs-тің бастапқы нұсқасында Гослинг Emacs кодының бір бөлігін пайдаланды. Ол Гослингтің бас сүйек пен тік сүйектер белгісімен қамтылған код бөлігін қайта жазып, оны "қысқа, жылдам, түсінікті және кеңейтілген" етіп шығарды. Unipress Сталлманнан Unix жүйесі үшін Emacs нұсқасын таратуды тоқтатуды талап етті. UniPress Сталлманға немесе оның жаңа құрылған Free Software Foundation-ға қарсы ешқандай заңдық шара қолданбады, себебі "әуесқойлар мен ғалымдар олардың өнімдерімен бәсекелесе алатын Emacs-ты жасауға ешқашан қабілетті болмайды" деп ойлады. Gosling Emacs кодының барлығы GNU Emacs-тің 16.56 нұсқасымен (1985 жылдың шілдесі) алынып тасталды, дисплей кодының ерекше күрделі бөлімдерінен басқа. GNU Emacs-тің соңғы нұсқаларында (2004 жылдың тамызынан бері) бас сүйек пен тік сүйектердің ескертуі жоқ.
Since Gosling had permitted its unrestricted redistribution, Richard Stallman used some Gosling Emacs code in the initial version of GNU Emacs. Among other things, he rewrote part of the Gosling code headed by the skull and crossbones comment and made it " shorter, faster, clearer and more extensible." Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix. UniPress never took legal action against Stallman or his nascent Free Software Foundation, believing "hobbyists and academics could never produce an Emacs that could compete" with their product. All Gosling Emacs code was removed from GNU Emacs by version 16.56 (July 1985), with the possible exception of a few particularly involved sections of the display code. The latest versions of GNU Emacs (since August 2004) do not feature the skull and crossbones warning.
Кеңейту тілі
Оның кеңейту тілі Mocklisp, Lisp-ке ұқсас синтаксиске ие, бірақ Mocklisp-те тізімдер болмайды, тек жолдар мен массивтер ғана бар. Гослинг және оның әріптесі құрастырған Mocklisp интерпретаторы GNU Emacs-те толыққанды Lisp интерпретаторымен ауыстырылды.
Its extension language, Mocklisp, has a syntax that appears similar to Lisp, but Mocklisp does not have lists, only strings and arrays. The Mocklisp interpreter, built by Gosling and a collaborator, was replaced by a full Lisp interpreter in GNU Emacs.