rms-lisp.html - en to tr translation catalogue (66 entries)

note: type: Content of: <title>
en: My Lisp Experiences and the Development of GNU Emacs - GNU Project - Free Software Foundation
tr: Lisp Deneyimlerim ve GNU Emacs'in Geliştirilmesi - GNU Projesi - Özgür Yazılım Vakfı

note: type: Content of: <div><h2>
en: My Lisp Experiences and the Development of GNU Emacs
tr: Lisp Deneyimlerim ve GNU Emacs'in Geliştirilmesi

note: type: Content of: <div><div><p>
en: Transcript of Richard Stallman's speech at the International Lisp Conference, 28 Oct 2002.
tr: Richard Stallman'ın Uluslararası Lisp Konferansı'ndaki konuşmasının dökümü, 28 Ekim 2002.

note: type: Content of: <div><p>
en: Since none of my usual speeches have anything to do with Lisp, none of them were appropriate for today. So I'm going to have to wing it.  Since I've done enough things in my career connected with Lisp I should be able to say something interesting.
tr: Her zamanki konuşmalarımın hiçbiri Lisp ile ilgili olmadığı için hiçbiri bugüne uygun değildi. Bu yüzden bu sefer hazırlıksız konuşacağım. Kariyerimde Lisp ile bağlantılı yeterince şey yaptığım için ilginç bir şey söyleyebilmeliyim.

note: type: Content of: <div><p>
en: My first experience with Lisp was when I read the Lisp 1.5 manual in high school. That's when I had my mind blown by the idea that there could be a computer language like that. The first time I had a chance to do anything with Lisp was when I was a freshman at Harvard and I wrote a Lisp interpreter for the <abbr title="Programmed Data Processor">PDP</abbr>-11. It was a very small machine&mdash;it had something like 8k of memory&mdash;and I managed to write the interpreter in a thousand instructions. This gave me some room for a little bit of data. That was before I got to see what real software was like, that did real system jobs.
tr: Lisp ile ilk deneyimim, lisede Lisp 1.5 kılavuzunu okuduğum zamandı. İşte o zaman böyle bir bilgisayar dili olabileceği fikriyle aklım başımdan gitti. Lisp ile ilk kez bir şey yapma şansım Harvard'da birinci sınıf öğrencisiyken <abbr title="Programmed Data Processor">PDP</abbr>-11 için bir Lisp yorumlayıcısı yazdığım zamandı. Çok küçük bir makineydi, 8k gibi bir belleğe sahipti, ve yorumlayıcıyı bin yönerge ile yazmayı başardım. Bu bana veri için biraz yer bıraktı. Bu, gerçek yazılımın nasıl olduğunu, gerçek sistem işlerini yapanları görmemden önceydi.

note: type: Content of: <div><p>
en: I began doing work on a real Lisp implementation with JonL White once I started working at <abbr title="Massachusetts Institute of Technology">MIT</abbr>. I got hired at the Artificial Intelligence Lab not by JonL, but by Russ Noftsker, which was most ironic considering what was to come&mdash;he must have really regretted that day.
tr: <abbr title="Massachusetts Institute of Technology">MIT</abbr>'de çalışmaya başladığımda JonL White ile gerçek bir Lisp uygulaması üzerinde çalışmaya başladım. Yapay Zeka Laboratuvarı'nda JonL tarafından değil, Russ Noftsker tarafından işe alındım ki bu, başına gelecekler düşünüldüğünde çok ironikti... o gün için gerçekten pişman olmuş olmalı.

note: type: Content of: <div><p>
en: During the 1970s, before my life became politicized by horrible events, I was just going along making one extension after another for various programs, and most of them did not have anything to do with Lisp. But, along the way, I wrote a text editor, Emacs. The interesting idea about Emacs was that it had a programming language, and the user's editing commands would be written in that interpreted programming language, so that you could load new commands into your editor while you were editing. You could edit the programs you were using and then go on editing with them. So, we had a system that was useful for things other than programming, and yet you could program it while you were using it. I don't know if it was the first one of those, but it certainly was the first editor like that.
tr: 1970'lerde, hayatım korkunç olaylarla politikleşmeden önce, çeşitli programlar için birbiri ardına uzantılar yapıyordum ve çoğunun Lisp ile hiçbir ilgisi yoktu. Ancak bu arada bir metin editörü yazdım, Emacs. Emacs ile ilgili ilginç fikir, bir programlama diline sahip olması ve kullanıcının düzenleme komutlarının bu yorumlanmış programlama dilinde yazabilmesiydi, böylece siz düzenleme yaparken editörünüze yeni komutlar yükleyebiliyordunuz. Kullanmakta olduğunuz programları düzenleyebilir ve sonra onlarla düzenlemeye devam edebilirdiniz. Böylece, programlama dışındaki şeyler için yararlı olan bir sistemimiz vardı ve üstelik onu kullanırken programlayabiliyordunuz. Böyle bir şeyin ilk olanı mı bilmiyorum ama bu alanda ilk editör olduğu kesindi.

note: type: Content of: <div><p>
en: This spirit of building up gigantic, complicated programs to use in your own editing, and then exchanging them with other people, fueled the spirit of free-wheeling cooperation that we had at the AI Lab then. The idea was that you could give a copy of any program you had to someone who wanted a copy of it. We shared programs to whomever wanted to use them, they were human knowledge. So even though there was no organized political thought relating the way we shared software to the design of Emacs, I'm convinced that there was a connection between them, an unconscious connection perhaps. I think that it's the nature of the way we lived at the AI Lab that led to Emacs and made it what it was.
tr: Kendi düzenlemenizde kullanmak üzere devasa, karmaşık programlar oluşturma ve ardından bunları diğer insanlarla değiştirme ruhu, o zamanlar AI Lab'de sahip olduğumuz özgürlüğe dayanan işbirliği ruhunu besledi. Buradaki fikir, sahip olduğunuz herhangi bir programın bir kopyasını, onun bir kopyasını isteyen birine verebilmenizdi. Programları kullanmak isteyenlerle paylaştık, bunlar insanlığın bilgisiydi. Bu nedenle, Emacs'ın tasarımıyla yazılımı paylaşma şeklimiz arasında hiçbir örgütlü siyasi düşünce olmamasına rağmen, aralarında bir bağlantı olduğuna ikna oldum, belki de bilinçsiz bir bağlantı. Bence Emacs'a yol açan ve onu olduğu gibi yapan AI Laboratuvarında yaşama şeklimizin doğasıydı.

note: type: Content of: <div><p>
en: The original Emacs did not have Lisp in it. The lower level language, the non-interpreted language&mdash;was PDP-10 Assembler. The interpreter we wrote in that actually wasn't written for Emacs, it was written for <abbr title="Text Editor and COrrector">TECO</abbr>. It was our text editor, and was an extremely ugly programming language, as ugly as could possibly be. The reason was that it wasn't designed to be a programming language, it was designed to be an editor and command language. There were commands like <code>5l</code>, meaning <code>move five lines</code>, or <code>i</code> and then a string and then an ESC to insert that string. You would type a string that was a series of commands, which was called a command string. You would end it with ESC ESC, and it would get executed.
tr: Özgün Emacs'ta Lisp yoktu. Aşağı düzey bir dil, yorumlanmayan bir dil olan PDP-10 Assembler vardı. İçinde yazdığımız yorumlayıcı aslında Emacs için yazılmamıştı, <abbr title="Text Editor and COrrector">TECO</abbr> için yazılmıştı. Bu bizim metin düzenleyicimizdi ve son derece çirkin bir programlama diliydi, olabildiğince çirkin. Nedeni ise programlama dili olarak değil editör ve komut dili olarak tasarlanmış olmasıydı. <code>5l</code>, yani <code>beş satırı taşı</code> veya <code>i</code> gibi komutlar ve ardından bir dize ve ardından bu dizeyi eklemek için bir ESC vardı. Komut dizisi adı verilen bir dizi komuttan oluşan bir dize yazabiliyordunuz. ESC ESC ile sonlandırırdınız ve program yürütülürdü.

note: type: Content of: <div><p>
en: Well, people wanted to extend this language with programming facilities, so they added some. For instance, one of the first was a looping construct, which was <code>&lt;&nbsp;&gt;</code>. You would put those around things and it would loop. There were other cryptic commands that could be used to conditionally exit the loop.  To make Emacs, we&#8239;<a href="#foot-1">[1]</a> added facilities to have subroutines with names. Before that, it was sort of like Basic, and the subroutines could only have single letters as their names. That was hard to program big programs with, so we added code so they could have longer names. Actually, there were some rather sophisticated facilities; I think that Lisp got its unwind-protect facility from TECO.
tr: İnsanlar bu dili programlama olanaklarıyla genişletmek istediler, bu yüzden bazı eklemeler yaptılar. Örneğin, ilk eklenenlerden biri <code>&lt;&nbsp;&gt;</code> şeklindeki bir döngü yapısıydı. Bunları bir şeylerin etrafına koyardın ve döngü olurdu. Döngüden koşullu olarak çıkmak için kullanılabilecek başka örtük komutlar da vardı. Emacs'i yazabilmek için, adları olan alt programlara sahip olmak için özellikler ekledik&#8239;<a href="#foot-1">[1]</a>. Bundan önce, bir nevi Basic gibiydi ve alt programların adları olarak yalnızca tek tek harfler olabilirdi. Bununla büyük programları programlamak zordu, bu yüzden daha uzun adlara sahip olabilmeleri için kod ekledik. Aslında oldukça gelişmiş bazı araçlar vardı; Lisp'in çözme koruma aracını TECO'dan aldığını düşünüyorum.

note: type: Content of: <div><p>
en: We started putting in rather sophisticated facilities, all with the ugliest syntax you could ever think of, and it worked&mdash;people were able to write large programs in it anyway. The obvious lesson was that a language like TECO, which wasn't designed to be a programming language, was the wrong way to go. The language that you build your extensions on shouldn't be thought of as a programming language in afterthought; it should be designed as a programming language. In fact, we discovered that the best programming language for that purpose was Lisp.
tr: Hepsi de aklınıza gelebilecek en çirkin söz dizimine sahip oldukça karmaşık özellikler yerleştirmeye başladık ve işe yaradı, insanlar her durumda içinde büyük programlar yazabiliyordu. Bariz ders, TECO gibi bir programlama dili olarak tasarlanmamış bir dilin yanlış yol olduğuydu. Uzantılarınızı oluşturmak için kullandığınız dil, sonradan bir programlama dili olarak düşünülmemelidir; bir programlama dili olarak tasarlanmalıdır. Aslında, bu amaç için en iyi programlama dilinin Lisp olduğunu keşfettik.

note: type: Content of: <div><p>
en: It was Bernie Greenberg, who discovered that it was&#8239;<a href="#foot-2">[2]</a>.  He wrote a version of Emacs in Multics MacLisp, and he wrote his commands in MacLisp in a straightforward fashion. The editor itself was written entirely in Lisp. Multics Emacs proved to be a great success&mdash;programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program.
tr: Bunun &#8239;<a href="#foot-2">[2]</a> olduğunu keşfeden Bernie Greenberg'di. Emacs'ın bir sürümünü Multics MacLisp'te yazdı ve komutlarını MacLisp'te basit bir şekilde yazdı. Editörün kendisi tamamen Lisp ile yazılmıştı. Multics Emacs büyük bir başarı olduğunu kanıtladı, yeni düzenleme komutlarını programlamak o kadar kolaydı ki ofisindeki sekreterler bile onu nasıl kullanacaklarını öğrenmeye başladı. Emacs'in nasıl genişletileceğini gösteren birinin yazdığı bir kılavuzu kullandılar, ancak bunun programlama olduğunu söylemediler. Böylece programlama yapamayacaklarına inanan sekreterler korkmadılar. Kılavuzu okudular, yararlı şeyler yapabileceklerini keşfettiler ve programlamayı öğrendiler.

note: type: Content of: <div><p>
en: So Bernie saw that an application&mdash;a program that does something useful for you&mdash;which has Lisp inside it and which you could extend by rewriting the Lisp programs, is actually a very good way for people to learn programming. It gives them a chance to write small programs that are useful for them, which in most arenas you can't possibly do. They can get encouragement for their own practical use&mdash;at the stage where it's the hardest&mdash;where they don't believe they can program, until they get to the point where they are programmers.
tr: Böylece Bernie, içinde Lisp bulunan ve Lisp programlarını yeniden yazarak genişletebileceğiniz, sizin için yararlı bir şeyler yapan bir uygulamanın, aslında insanların programlamayı öğrenmesi için çok iyi bir yol olduğunu gördü. Onlara, çoğu alanda muhtemelen yapamayacağınız, kendileri için yararlı olan küçük programlar yazma şansı vermiş oldu. Programcı olacakları noktaya gelene kadar program yazabileceklerine inanmadıkları en zor aşamada kendi pratik kullanımları için cesaretlendirilebildiler.

note: type: Content of: <div><p>
en: At that point, people began to wonder how they could get something like this on a platform where they didn't have full service Lisp implementation. Multics MacLisp had a compiler as well as an interpreter&mdash;it was a full-fledged Lisp system&mdash;but people wanted to implement something like that on other systems where they had not already written a Lisp compiler. Well, if you didn't have the Lisp compiler you couldn't write the whole editor in Lisp&mdash;it would be too slow, especially redisplay, if it had to run interpreted Lisp.  So we developed a hybrid technique. The idea was to write a Lisp interpreter and the lower level parts of the editor together, so that parts of the editor were built-in Lisp facilities. Those would be whatever parts we felt we had to optimize. This was a technique that we had already consciously practiced in the original Emacs, because there were certain fairly high level features which we re-implemented in machine language, making them into TECO primitives. For instance, there was a TECO primitive to fill a paragraph (actually, to do most of the work of filling a paragraph, because some of the less time-consuming parts of the job would be done at the higher level by a TECO program). You could do the whole job by writing a TECO program, but that was too slow, so we optimized it by putting part of it in machine language. We used the same idea here (in the hybrid technique), that most of the editor would be written in Lisp, but certain parts of it that had to run particularly fast would be written at a lower level.
tr: Bu noktada insanlar, tam donanımlı Lisp uygulamalarının olmadığı bir platformda böyle bir şeyi nasıl elde edebileceklerini merak etmeye başladılar. Multics MacLisp'in bir yorumlayıcısının yanı sıra bir derleyicisi vardı, bu tam teşekküllü bir Lisp sistemiydi, ancak insanlar buna benzer bir şeyi daha önce bir Lisp derleyicisi yazmamış oldukları diğer sistemlerde uygulamak istediler. Eh, eğer Lisp derleyiciniz olmasaydı, tüm düzenleyiciyi Lisp'e yazamazdınız; yorumlanmış Lisp'i çalıştırması gerekseydi, özellikle yeniden görüntüleme çok yavaş olurdu. Bu yüzden melez bir teknik geliştirdik. Fikir, bir Lisp yorumlayıcı ile editörün alt düzey kısımlarını birlikte yazmaktı, böylece editörün bazı kısımları yerleşik Lisp özellikleri olacaktı. Bunlar, optimize etmemiz gerektiğini düşündüğümüz parçalar oldu. Bu, özgün Emacs'ta zaten bilinçli olarak uyguladığımız bir teknikti, çünkü makine dilinde yeniden uyguladığımız ve onları TECO ilkellerine dönüştürdüğümüz oldukça yüksek seviyeli bazı özellikler vardı. Örneğin, bir paragrafı doldurmak için bir TECO ilkeli vardı (aslında bir paragrafı doldurma işinin çoğunu yapmak için, çünkü işin daha az zaman alan bazı kısımları bir TECO programı tarafından daha yüksek düzeyde yapılacaktı). Tüm işi bir TECO programı yazarak yapabilirdiniz, ancak bu çok yavaştı, bu yüzden bir kısmını makine dilinde yaparak optimize ettik. Burada (melez teknikte) aynı fikri kullandık, editörün çoğu Lisp'te yazılacaktı, ancak özellikle hızlı çalışması gereken bazı kısımları daha düşük bir seviyede yazılacaktı.

note: type: Content of: <div><p>
en: Therefore, when I wrote my second implementation of Emacs, I followed the same kind of design. The low level language was not machine language anymore, it was C. C was a good, efficient language for portable programs to run in a Unix-like operating system. There was a Lisp interpreter, but I implemented facilities for special purpose editing jobs directly in C&mdash;manipulating editor buffers, inserting leading text, reading and writing files, redisplaying the buffer on the screen, managing editor windows.
tr: Bu nedenle, ikinci Emacs uygulamamı yazdığımda, aynı türden bir tasarımı takip ettim. Düşük seviyeli dil artık makine dili değildi, C'ydi. C, UNIX benzeri bir işletim sisteminde çalışan taşınabilir programlar için iyi, verimli bir dildi. Bir Lisp yorumlayıcı vardı, ancak editör arabelleklerini manipüle etme, önde gelen metni ekleme, dosyaları okuma ve yazma, arabelleği ekranda yeniden görüntüleme, editör pencerelerini yönetme gibi özel amaçlı düzenleme işlerini tesis etmek için doğrudan C kullandım.

note: type: Content of: <div><p>
en: Now, this was not the first Emacs that was written in C and ran on Unix. The first was written by James Gosling, and was referred to as GosMacs. A strange thing happened with him. In the beginning, he seemed to be influenced by the same spirit of sharing and cooperation of the original Emacs. I first released the original Emacs to people at MIT. Someone wanted to port it to run on Twenex&mdash;it originally only ran on the Incompatible Timesharing System we used at MIT. They ported it to Twenex, which meant that there were a few hundred installations around the world that could potentially use it. We started distributing it to them, with the rule that &ldquo;you had to send back all of your improvements&rdquo; so we could all benefit. No one ever tried to enforce that, but as far as I know people did cooperate.
tr: Şimdi, bu C ile yazılmış ve UNIX üzerinde çalışan ilk Emacs değildi. İlki James Gosling tarafından yazılmıştı ve GosMacs olarak anılıyordu. Onunla garip bir şey oldu. Başlangıçta, orijinal Emacs'ın aynı paylaşım ve işbirliği ruhundan etkilenmiş gibi görünüyordu. Orijinal Emacs'i ilk önce MIT'deki insanlara verdim. Birisi onu Twenex'te çalışacak şekilde taşımak istedi; başlangıçta yalnızca MIT'de kullandığımız Uyumsuz Zaman Paylaşımı Sisteminde çalışıyordu. Onu Twenex'e taşıdılar, bu da dünya çapında onu potansiyel olarak kullanabilecek birkaç yüz kurulum olduğu anlamına geliyordu. “Tüm iyileştirmelerinizi geri göndermeniz gerekir” kuralıyla onlara dağıtmaya başladık, böylece hepimiz yararlanabilecektik. Hiç kimse bunu dayatmaya çalışmadı ama bildiğim kadarıyla insanlar işbirliği yaptı.

note: type: Content of: <div><p>
en: Gosling did, at first, seem to participate in this spirit. He wrote in a manual that he called the program Emacs hoping that others in the community would improve it until it was worthy of that name. That's the right approach to take towards a community&mdash;to ask them to join in and make the program better. But after that he seemed to change the spirit, and sold it to a company.
tr: Gosling ilk başta bu ruha katılıyor gibi göründü. Bir kılavuza, topluluktaki diğer kişilerin programı bu isme layık olana kadar geliştireceğini umarak programa Emacs adını verdiğini yazdı. Bir topluluğa yönelik, katılmalarını ve programı daha iyi hale getirmelerini istemek, doğru yaklaşımdı. Ama ondan sonra ruhunu değiştirmiş gibi göründü ve onu bir şirkete sattı.

note: type: Content of: <div><p>
en: At that time I was working on the GNU system (a free software Unix-like operating system that many people erroneously call &ldquo;Linux&rdquo;).  There was no free software Emacs editor that ran on Unix. I did, however, have a friend who had participated in developing Gosling's Emacs. Gosling had given him, by email, permission to distribute his own version. He proposed to me that I use that version. Then I discovered that Gosling's Emacs did not have a real Lisp. It had a programming language that was known as &ldquo;mocklisp,&rdquo; which looks syntactically like Lisp, but didn't have the data structures of Lisp.  So programs were not data, and vital elements of Lisp were missing.  Its data structures were strings, numbers and a few other specialized things.
tr: O zamanlar GNU sistemi (birçok kişinin yanlışlıkla "Linux" dediği Özgür Yazılım UNIX benzeri bir işletim sistemi) üzerinde çalışıyordum. UNIX üzerinde çalışan özgür yazılım bir Emacs editörü yoktu. Bununla birlikte, Gosling'in Emacs'lerinin geliştirilmesine katılan bir arkadaşım vardı. Gosling ona e-posta yoluyla kendi sürümünü dağıtması için izin vermişti. Bana o sürümü kullanmamı önerdi. Sonra Gosling'in Emacs'lerinin gerçek bir Lisp'e sahip olmadığını keşfettim. "mocklisp" olarak bilinen bir programlama dili vardı; söz dizimi olarak Lisp'e benzeyen, ancak Lisp'in veri yapılarına sahip olmayan bir dildi. Yani programlar veri değildi ve Lisp'in hayati unsurları eksikti. Veri yapıları karakter dizileri, sayılar ve diğer birkaç özel şeye sahipti.

note: type: Content of: <div><p>
en: I concluded I couldn't use it and had to replace it all, the first step of which was to write an actual Lisp interpreter. I gradually adapted every part of the editor based on real Lisp data structures, rather than ad hoc data structures, making the data structures of the internals of the editor exposable and manipulable by the user's Lisp programs.
tr: Onu kullanamayacağım sonucuna vardım ve hepsini değiştirmek zorunda kaldım, bunun ilk adımı gerçek bir Lisp yorumlayıcısı yazmaktı. Düzenleyicinin her parçasını, ad hoc veri yapıları yerine gerçek Lisp veri yapılarına dayalı olarak kademeli olarak uyarladım ve düzenleyicinin içindekilerin veri yapılarını, kullanıcının Lisp programları tarafından açıklanabilir ve manipüle edilebilir hale getirdim.

note: type: Content of: <div><p>
en: The one exception was redisplay. For a long time, redisplay was sort of an alternate world. The editor would enter the world of redisplay and things would go on with very special data structures that were not safe for garbage collection, not safe for interruption, and you couldn't run any Lisp programs during that. We've changed that since&mdash;it's now possible to run Lisp code during redisplay. It's quite a convenient thing.
tr: Tek istisna, yeniden görüntülemeydi. Uzun bir süre, yeniden görüntüleme bir çeşit alternatif dünyaydı. Editör yeniden görüntüleme dünyasına girecek ve çöp toplama, kesinti için güvenli olmayan çok özel veri yapılarıyla işler devam edecek ve bu sırada herhangi bir Lisp programı çalıştıramayacaktınız. Yeniden görüntüleme sırasında Lisp kodunu çalıştırmak artık mümkün olduğundan, bunu değiştirdik. Oldukça uygun bir şeydi.

note: type: Content of: <div><p>
en: This second Emacs program was &ldquo;free software&rdquo; in the modern sense of the term&mdash;it was part of an explicit political campaign to make software free. The essence of this campaign was that everybody should be free to do the things we did in the old days at MIT, working together on software and working with whomever wanted to work with us.  That is the basis for the free software movement&mdash;the experience I had, the life that I've lived at the MIT AI lab&mdash;to be working on human knowledge, and not be standing in the way of anybody's further using and further disseminating human knowledge.
tr: Bu ikinci Emacs programı &ldquo;Özgür Yazılım&rdquo;dı; terimin modern anlamında. Yazılımı özgür kılmak için açık bir siyasi kampanyanın parçasıydı. Bu kampanyanın özü, herkesin eski günlerde MIT'de yaptığımız şeyleri yapmakta özgür olması, yazılım üzerinde birlikte çalışması ve bizimle çalışmak isteyenlerle birlikte çalışmasıydı. Özgür Yazılım hareketinin, MIT AI laboratuvarında yaşadığım deneyimin, insan bilgisi üzerinde çalıştığım ve kimsenin insani bilgiyi daha fazla kullanmasına ve yaymasına engel olmamasının temeli buydu.

note: type: Content of: <div><p>
en: At the time, you could make a computer that was about the same price range as other computers that weren't meant for Lisp, except that it would run Lisp much faster than they would, and with full type checking in every operation as well. Ordinary computers typically forced you to choose between execution speed and good typechecking.  So yes, you could have a Lisp compiler and run your programs fast, but when they tried to take <code>car</code> of a number, it got nonsensical results and eventually crashed at some point.
tr: O zamanlar, Lisp'i onlardan çok daha hızlı çalıştırması ve her işlemde tam tip denetimi yapması dışında, Lisp için tasarlanmamış diğer bilgisayarlarla hemen hemen aynı fiyat aralığında bir bilgisayar yapabilirdiniz. Sıradan bilgisayarlar genellikle sizi çalışma hızı ile iyi tip denetimi arasında seçim yapmaya zorlardı. Yani evet, bir Lisp derleyiciniz olabilir ve programlarınızı hızlı bir şekilde çalıştırabilirdiniz, ancak bir sayıdan <code>car</code> almaya çalıştıklarında saçma sapan sonuçlar alırdı ve sonunda bir noktada çökerdi.

note: type: Content of: <div><p>
en: The Lisp machine was able to execute instructions about as fast as those other machines, but each instruction&mdash;a <code>car</code> instruction would do data typechecking&mdash;so when you tried to get the <code>car</code> of a number in a compiled program, it would give you an immediate error. We built the machine and had a Lisp operating system for it. It was written almost entirely in Lisp, the only exceptions being parts written in the microcode. People became interested in manufacturing them, which meant they should start a company.
tr: Lisp makinesi, yönergeleri diğer makineler kadar hızlı yürütebiliyordu, ancak her bir yönerge, bir <code>car</code> yönergesi, veri tip kontrolü yapardı. Bu nedenle, <code>car</code>'ı almaya çalıştığınızda derlenmiş bir programdaki bir sayı, size anında bir hata verirdi. Makineyi yaptık ve bunun için bir Lisp işletim sistemine sahip olduk. Neredeyse tamamı Lisp'te yazılmıştı, tek istisna mikro kodda yazılan kısımlardı. İnsanlar makineleri üretmekle ilgilenmeye başladı, bu da bir şirket kurmaları gerektiği anlamına geliyordu.

note: type: Content of: <div><p>
en: There were two different ideas about what this company should be like.  Greenblatt wanted to start what he called a &ldquo;hacker&rdquo; company. This meant it would be a company run by hackers and would operate in a way conducive to hackers. Another goal was to maintain the AI Lab culture&#8239;<a class="ftn" href="#foot-3">[3]</a>.  Unfortunately, Greenblatt didn't have any business experience, so other people in the Lisp machine group said they doubted whether he could succeed. They thought that his plan to avoid outside investment wouldn't work.
tr: Bu şirketin nasıl olması gerektiğine dair iki farklı fikir vardı. Greenblatt, &ldquo;üstat&rdquo;<a href="#tn1">[1]</a> şirketi dediği şeyi başlatmak istedi. Bu, üstatlar tarafından yönetilen bir şirket olacağı ve üstatlara elverişli bir şekilde çalışacağı anlamına geliyordu. Diğer bir hedef ise Yapay Zeka Laboratuvarı kültürünü&#8239;<a class="ftn" href="#foot-3">[3]</a> sürdürmekti. Ne yazık ki Greenblatt'ın herhangi bir iş deneyimi yoktu, bu nedenle Lisp makine grubundaki diğer kişiler onun başarılı olup olmayacağından şüphe duyduklarını söylediler. Dış yatırımdan kaçınma planının işe yaramayacağını düşündüler.

note: type: Content of: <div><p>
en: Why did he want to avoid outside investment? Because when a company has outside investors, they take control and they don't let you have any scruples. And eventually, if you have any scruples, they also replace you as the manager.
tr: Neden dış yatırımdan kaçınmak istedi? Çünkü bir şirketin dışarıdan yatırımcısı olunca denetimi ele alıyorlar ve size bir tereddüt yaşatmıyorlardı. Ve sonunda, herhangi bir tereddütünüz varsa, yönetici olarak da sizi değiştirirlerdi.

note: type: Content of: <div><p>
en: So Greenblatt had the idea that he would find a customer who would pay in advance to buy the parts. They would build machines and deliver them; with profits from those parts, they would then be able to buy parts for a few more machines, sell those and then buy parts for a larger number of machines, and so on. The other people in the group thought that this couldn't possibly work.
tr: Greenblatt'ın aklına, parçaları satın almak için peşin ödeme yapacak bir müşteri bulacağı fikri geldi. Makineler yapıp teslim edeceklerdi; bu parçalardan elde ettikleri kârla, daha sonra birkaç makine için daha parça satın alabilecekler, bunları satabilecekler ve ardından daha fazla sayıda makine için parça satın alabilecekler ve bu böyle devam edecekti. Gruptaki diğer insanlar bunun işe yaramayacağını düşündüler.

note: type: Content of: <div><p>
en: Greenblatt then recruited Russell Noftsker, the man who had hired me, who had subsequently left the AI Lab and created a successful company.  Russell was believed to have an aptitude for business. He demonstrated this aptitude for business by saying to the other people in the group, &ldquo;Let's ditch Greenblatt, forget his ideas, and we'll make another company.&rdquo; Stabbing in the back, clearly a real businessman. Those people decided they would form a company called Symbolics. They would get outside investment, not have scruples, and do everything possible to win.
tr: Greenblatt daha sonra, beni işe alan, sonrasında Yapay Zeka Laboratuvarından ayrılan ve başarılı bir şirket kuran Russell Noftsker'ı işe aldı. Russell'ın iş için bir yeteneği olduğuna inanılıyordu. Gruptaki diğer insanlara &ldquo;Greenblatt'ı bir kenara bırakalım, onun fikirlerini unutalım ve başka bir şirket kuralım&rdquo; diyerek bu iş yeteneğini gösterdi. Arkadan hançerliyordu, belli ki gerçek bir iş adamıydı. Bu insanlar Symbolics adında bir şirket kurmaya karar verdiler. Dışarıdan yatırım alabilir, çekinmeden kazanmak için ellerinden gelen her şeyi yaparlardı.

note: type: Content of: <div><p>
en: But Greenblatt didn't give up. He and the few people loyal to him decided to start Lisp Machines Inc. anyway and go ahead with their plans. And what do you know, they succeeded! They got the first customer and were paid in advance. They built machines and sold them, and built more machines and more machines. They actually succeeded even though they didn't have the help of most of the people in the group. Symbolics also got off to a successful start, so you had two competing Lisp machine companies. When Symbolics saw that LMI was not going to fall flat on its face, they started looking for ways to destroy it.
tr: Ancak Greenblatt pes etmedi. O ve ona sadık birkaç kişi yine de Lisp Machines Inc.'i kurmaya ve planlarını sürdürmeye karar verdiler. Ve ne dersiniz, başardılar! İlk müşteriyi aldılar ve peşin ödeme aldılar. Makineler yapıp sattılar ve daha çok makine, daha çok makine yaptılar. Gruptaki çoğu insanın yardımına sahip olmasalar da aslında başardılar. Symbolics de başarılı bir başlangıç yaptı, dolayısıyla iki rakip Lisp makinesi şirketiniz oldu. Symbolics, LMI'nin başarısız olmayacağını görünce, onu yok etmenin yollarını aramaya başladı.

note: type: Content of: <div><p>
en: Thus, the abandonment of our lab was followed by &ldquo;war&rdquo; in our lab.  The abandonment happened when Symbolics hired away all the hackers, except me and the few who worked at LMI part-time. Then they invoked a rule and eliminated people who worked part-time for MIT, so they had to leave entirely, which left only me. The AI lab was now helpless.  And MIT had made a very foolish arrangement with these two companies.  It was a three-way contract where both companies licensed the use of Lisp machine system sources. These companies were required to let MIT use their changes. But it didn't say in the contract that MIT was entitled to put them into the MIT Lisp machine systems that both companies had licensed. Nobody had envisioned that the AI lab's hacker group would be wiped out, but it was.
tr: Böylece laboratuvarımızın terk edilmesinin ardından &ldquo;savaş&rdquo; geldi. Bizim laboratuvarı terk etmemiz, Symbolics, ben ve LMI'da yarı zamanlı çalışan birkaç kişi dışındaki tüm üstatları işe aldığında gerçekleşti. Sonra bir kural koydular ve MIT'te yarı zamanlı çalışmayı ortadan kaldırdılar, bu yüzden öyle çalışan insanlar tamamen ayrılmak zorunda kaldılar ve geriye sadece ben kaldım. AI laboratuvarı artık çaresizdi. Ve MIT bu iki şirketle çok aptalca bir anlaşma yapmıştı. Her iki şirketin de Lisp makine sistem kaynaklarının kullanımına lisans verdiği üç yönlü bir sözleşmeydi. Bu şirketlerin, değişikliklerini MIT'in kullanımına izin vermesi gerekiyordu. Ancak sözleşmede, MIT'nin bunları her iki şirketin de lisansladığı MIT Lisp makine sistemlerine koymaya yetkili olduğu yazmıyordu. AI laboratuvarının üstat grubunun ortadan kaldırılacağını kimse tahmin etmemişti ama sonuç buydu.

note: type: Content of: <div><p>
en: So Symbolics came up with a plan&#8239;<a href="#foot-4">[4]</a>.  They said to the lab, &ldquo;We will continue making our changes to the system available for you to use, but you can't put it into the MIT Lisp machine system. Instead, we'll give you access to Symbolics' Lisp machine system, and you can run it, but that's all you can do.&rdquo;
tr: Bunun üzerine Symbolics bir plan önerdi&#8239;<a href="#foot-4">[4]</a>. Laboratuvara &ldquo;Sistemdeki değişikliklerimizi sizin kullanımınıza sunmaya devam edeceğiz, ancak bunu MIT Lisp makine sistemine koyamazsınız. Bunun yerine, Symbolics'in Lisp makine sistemine erişmenizi sağlayacağız ve onu çalıştırabileceksiniz, ancak yapabileceğiniz tek şey budur&rdquo; dediler.

note: type: Content of: <div><p>
en: This, in effect, meant that they demanded that we had to choose a side, and use either the MIT version of the system or the Symbolics version.  Whichever choice we made determined which system our improvements went to. If we worked on and improved the Symbolics version, we would be supporting Symbolics alone. If we used and improved the MIT version of the system, we would be doing work available to both companies, but Symbolics saw that we would be supporting LMI because we would be helping them continue to exist. So we were not allowed to be neutral anymore.
tr: Bu, aslında, bir taraf seçmemizi ve sistemin MIT sürümünü veya Symbolics sürümünü kullanmamızı talep ettikleri anlamına geliyordu. Hangi seçimi yaparsak yapalım, iyileştirmelerimizin hangi sisteme gideceğini belirledik. Symbolics sürümü üzerinde çalışıp geliştirseydik, yalnızca Symbolics'i destekliyor olurduk. Sistemin MIT sürümünü kullanıp geliştirseydik, her iki şirket için de mevcut olan işleri yapıyor olurduk, ancak Symbolics LMI'yi destekleyeceğimizi çünkü onların varlığını sürdürmelerine yardımcı olacağımızı gördü. Bu yüzden artık tarafsız olmamıza izin verilmedi.

note: type: Content of: <div><p>
en: Up until that point, I hadn't taken the side of either company, although it made me miserable to see what had happened to our community and the software.  But now, Symbolics had forced the issue.  So, in an effort to help keep Lisp Machines Inc. going&#8239;<a href="#foot-5">[5]</a>&mdash;I began duplicating all of the improvements Symbolics had made to the Lisp machine system.  I wrote the equivalent improvements again myself (i.e., the code was my own).
tr: Topluluğumuzun ve yazılımın başına gelenleri görmek beni üzse de, o ana kadar her iki şirketin de tarafını tutmamıştım. Ama şimdi, Symbolics konuyla yüzleşmeye zorlamıştı. Bu nedenle, Lisp Machines Inc.'in devam etmesine yardımcı olma çabasıyla&#8239;<a href="#foot-5">[5]</a>&mdash;Symbolics'in Lisp makine sisteminde yer alan yaptığı tüm iyileştirmeleri kopyalamaya başladım. Eşdeğer geliştirmeleri yine kendim yazdım (yani kod bana aitti).

note: type: Content of: <div><p>
en: After a while&#8239;<a href="#foot-6">[6]</a>, I came to the conclusion that it would be best if I didn't even look at their code. When they made a beta announcement that gave the release notes, I would see what the features were and then implement them. By the time they had a real release, I did too.
tr: Bir süre sonra&#8239;<a href="#foot-6">[6]</a>, kodlarına bakmasam daha iyi olacağı sonucuna vardım. Sürüm notlarını veren bir beta duyurusu yaptıklarında, özelliklerin ne olduğunu görür ve gerçekleştirirdim. Gerçek bir yayın yaptıklarında ben de yaptım.

note: type: Content of: <div><p>
en: In this way, for two years, I prevented them from wiping out Lisp Machines Incorporated, and the two companies went on. But, I didn't want to spend years and years punishing someone, just thwarting an evil deed. I figured they had been punished pretty thoroughly because they were stuck with competition that was not leaving or going to disappear&#8239;<a href="#foot-7">[7]</a>.  Meanwhile, it was time to start building a new community to replace the one that their actions and others had wiped out.
tr: Bu şekilde iki yıl boyunca Lisp Machines Incorporated'ı yok etmelerini engelledim ve iki şirket devam etti. Ama yıllarımı birini cezalandırmak, sadece kötü bir eylemi engellemek için harcamak istemedim. Ayrılmayan veya yok olmayacak olan bir rekabete saplanıp kaldıkları için iyice cezalandırıldıklarını düşündüm&#8239;<a href="#foot-7">[7]</a>. Bu arada, eylemlerinin ve diğerlerinin yok ettiği topluluğun yerini alacak yeni bir topluluk oluşturmaya başlamanın zamanı gelmişti.

note: type: Content of: <div><p>
en: The Lisp community in the 70s was not limited to the MIT AI Lab, and the hackers were not all at MIT. The war that Symbolics started was what wiped out MIT, but there were other events going on then. There were people giving up on cooperation, and together this wiped out the community and there wasn't much left.
tr: 70'lerdeki Lisp topluluğu, MIT Yapay Zeka Laboratuvarı ile sınırlı değildi ve üstatların tamamı MIT'de değildi. Symbolics'in başlattığı savaş, MIT'i yok eden şeydi ama o sırada başka olaylar da oluyordu. İşbirliğinden vazgeçen insanlar vardı ve bu birlikte topluluğu yok etti ve geriye pek bir şey kalmadı.

note: type: Content of: <div><p>
en: Once I stopped punishing Symbolics, I had to figure out what to do next. I had to make a free operating system, that was clear&mdash;the only way that people could work together and share was with a free operating system.
tr: Symbolics'i cezalandırmayı bıraktığımda, bundan sonra ne yapacağımı bulmam gerekiyordu. Özgür bir işletim sistemi yazmak zorundaydım, bu açıktı; insanların birlikte çalışıp paylaşabilmelerinin tek yolu özgür bir işletim sistemiydi.

note: type: Content of: <div><p>
en: At first, I thought of making a Lisp-based system, but I realized that wouldn't be a good idea technically. To have something like the Lisp machine system, you needed special purpose microcode. That's what made it possible to run programs as fast as other computers would run their programs and still get the benefit of typechecking. Without that, you would be reduced to something like the Lisp compilers for other machines. The programs would be faster, but unstable. Now that's okay if you're running one program on a timesharing system&mdash;if one program crashes, that's not a disaster, that's something your program occasionally does. But that didn't make it good for writing the operating system in, so I rejected the idea of making a system like the Lisp machine.
tr: İlk başta Lisp tabanlı bir sistem yapmayı düşündüm ama bunun teknik olarak iyi bir fikir olmayacağını anladım. Lisp makine sistemi gibi bir şeye sahip olmak için özel amaçlı mikro koda ihtiyacınız vardı. Bu, programları diğer bilgisayarların kendi programlarını çalıştıracağı kadar hızlı çalıştırmayı ve yine de tip denetiminden yararlanmayı mümkün kılan şeydi. Bu olmadan, diğer makineler için Lisp derleyicileri gibi bir şeye indirgenmiş olurdunuz. Programlar daha hızlı, ancak kararsız olacaktı. Şimdi, bir zaman paylaşımlı sistemde bir program çalıştırıyorsanız, sorun değil; bir program çökerse, bu bir felaket değildi, bu programınızın ara sıra yaptığı bir şeydi. Ancak bu, işletim sistemini yazmak için iyi bir şey yapmadı, bu yüzden Lisp makinesi gibi bir sistem yapma fikrini reddettim.

note: type: Content of: <div><p>
en: I decided instead to make a Unix-like operating system that would have Lisp implementations to run as user programs. The kernel wouldn't be written in Lisp, but we'd have Lisp. So the development of that operating system, the GNU operating system, is what led me to write the GNU Emacs. In doing this, I aimed to make the absolute minimal possible Lisp implementation. The size of the programs was a tremendous concern.
tr: Bunun yerine, kullanıcı programları olarak çalışacak Lisp uygulamalarına sahip UNIX benzeri bir işletim sistemi yazmaya karar verdim. Çekirdek Lisp'te yazılamazdı ama bizde Lisp vardı. Bu işletim sisteminin, GNU işletim sisteminin, geliştirilmesi beni GNU Emacs'i yazmaya iten şeydi. Bunu yaparken, mümkün olan en az sayıda Lisp uygulaması yapmayı amaçladım. Programların boyutu muazzam bir endişe kaynağıydı.

note: type: Content of: <div><p>
en: There were people in those days, in 1985, who had one-megabyte machines without virtual memory. They wanted to be able to use GNU Emacs. This meant I had to keep the program as small as possible.
tr: O günlerde, 1985'te sanal belleği olmayan bir megabaytlık makineleri olan insanlar vardı. GNU Emacs'ı kullanabilmek istediler. Bu, programı olabildiğince küçük tutmam gerektiği anlamına geliyordu.

note: type: Content of: <div><p>
en: For instance, at the time the only looping construct was <code>while</code>, which was extremely simple. There was no way to break out of the <code>while</code> statement, you just had to do a catch and a throw, or test a variable that ran the loop. That shows how far I was pushing to keep things small. We didn't have <code>caar</code> and <code>cadr</code> and so on; &ldquo;squeeze out everything possible&rdquo; was the spirit of GNU Emacs, the spirit of Emacs Lisp, from the beginning.
tr: Örneğin, o zamanlar tek döngü yapısı son derece basit olan <code>while</code> idi. <code>while</code> deyiminden çıkmanın bir yolu yoktu, tek yapmanız gereken bir yakalama ve fırlatma işlemi yapmak veya döngüyü çalıştıran bir değişkeni test etmekti. Bu, işleri küçük tutmak için ne kadar ileri gittiğimi gösteriyor. <code>caar</code> ve <code>cadr</code> vb. yoktu; başından beri Emacs Lisp'in ruhu olan &ldquo;mümkün olan her şeyi sıkıştırın&rdquo; GNU Emacs'ın de ruhuydu.

note: type: Content of: <div><p>
en: Obviously, machines are bigger now, and we don't do it that way any more. We put in <code>caar</code> and <code>cadr</code> and so on, and we might put in another looping construct one of these days. We're willing to extend it some now, but we don't want to extend it to the level of common Lisp. I implemented Common Lisp once on the Lisp machine, and I'm not all that happy with it. One thing I don't like terribly much is keyword arguments&#8239;<a href="#foot-8">[8]</a>.  They don't seem quite Lispy to me; I'll do it sometimes but I minimize the times when I do that.
tr: Açıkçası, makineler artık daha büyük ve artık bu şekilde yapmıyoruz. <code>caar</code> ve <code>cadr</code> vb. koyduk ve bu günlerde başka bir döngü yapısı koyabiliriz. Şimdi biraz genişletmek istiyoruz, ancak yaygın Lisp düzeyine genişletmek istemiyoruz. Common Lisp'i bir kez Lisp makinesinde uyguladım ve bundan o kadar da memnun değildim. Çok fazla sevmediğim bir şey de anahtar kelime bağımsız değişkenleri&#8239;<a href="#foot-8">[8]</a>. Bana pek Lisp gibi görünmüyorlardı; Bazen yapıyorum ama bunu yaptığım zamanları en aza indiriyorum.

note: type: Content of: <div><p>
en: That was not the end of the GNU projects involved with Lisp. Later on around 1995, we were looking into starting a graphical desktop project. It was clear that for the programs on the desktop, we wanted a programming language to write a lot of it in to make it easily extensible, like the editor. The question was what it should be.
tr: Lisp ile ilgili GNU projelerinin sonu bu değildi. Daha sonra 1995 civarında, bir grafik masaüstü projesi başlatmayı düşünüyorduk. Masaüstündeki programlar için, düzenleyici gibi kolayca genişletilebilir hale getirmek için birçoğunu yazacak bir programlama dili istediğimiz açıktı. Soru, ne olması gerektiğiydi.

note: type: Content of: <div><p>
en: At the time, <abbr title="Tool Command Language">TCL</abbr> was being pushed heavily for this purpose. I had a very low opinion of TCL, basically because it wasn't Lisp. It looks a tiny bit like Lisp, but semantically it isn't, and it's not as clean.  Then someone showed me an ad where Sun was trying to hire somebody to work on TCL to make it the &ldquo;de-facto standard extension language&rdquo; of the world. And I thought, &ldquo;We've got to stop that from happening.&rdquo; So we started to make Scheme the standard extensibility language for GNU. Not Common Lisp, because it was too large. The idea was that we would have a Scheme interpreter designed to be linked into applications in the same way TCL was linked into applications. We would then recommend that as the preferred extensibility package for all GNU programs.
tr: O zamanlar <abbr title="Tool Command Language">TCL</abbr> bu amaç için yoğun bir şekilde iteleniyordu. Temelde Lisp olmadığı için TCL hakkında çok az bir fikrim vardı. Biraz Lisp'e benziyor, ama anlamsal olarak öyle değildi ve o kadar temiz değildi. Sonra birisi bana, Sun'ın TCL'yi dünyanın &ldquo;fiilen standart genişletme dili&rdquo; yapmak için birini işe almaya çalıştığı ilanı gösterdi. Ben de &ldquo;Bunun olmasını engellemeliyiz&rdquo; diye düşündüm. Böylece Scheme'i GNU için standart genişletilebilirlik dili yapmaya başladık. Common Lisp değil çünkü çok büyüktü. Buradaki fikir, TCL'nin uygulamalara bağlanmasıyla aynı şekilde uygulamalara bağlanmak üzere tasarlanmış bir Scheme yorumlayıcımız olmasıydı. O zaman bunu tüm GNU programları için tercih edilen genişletilebilirlik paketi olarak öneriyor olduk.

note: type: Content of: <div><p>
en: There's an interesting benefit you can get from using such a powerful language as a version of Lisp as your primary extensibility language.  You can implement other languages by translating them into your primary language. If your primary language is TCL, you can't very easily implement Lisp by translating it into TCL. But if your primary language is Lisp, it's not that hard to implement other things by translating them. Our idea was that if each extensible application supported Scheme, you could write an implementation of TCL or Python or Perl in Scheme that translates that program into Scheme. Then you could load that into any application and customize it in your favorite language and it would work with other customizations as well.
tr: Birincil genişletilebilirlik diliniz olarak Lisp'in bir sürümü gibi güçlü bir dili kullanmaktan elde edebileceğiniz ilginç bir yarar var. Diğer dilleri ana dilinize çevirerek uygulayabilirsiniz. Birincil diliniz TCL ise, Lisp'i TCL'ye çevirerek kolayca uygulayamazsınız. Ama ana diliniz Lisp ise diğer şeyleri çevirerek uygulamak o kadar da zor değil. Bizim fikrimiz, her genişletilebilir uygulama Scheme'i destekliyorsa, Scheme'de bu programı Scheme'e çeviren bir TCL veya Python veya Perl uygulaması yazabilmenizdi. Ardından, bunu herhangi bir uygulamaya yükleyebilir ve en sevdiğiniz dilde özelleştirebilir ve diğer özelleştirmelerle de çalışırdı.

note: type: Content of: <div><p>
en: As long as the extensibility languages are weak, the users have to use only the language you provided them. Which means that people who love any given language have to compete for the choice of the developers of applications&mdash;saying &ldquo;Please, application developer, put my language into your application, not his language.&rdquo; Then the users get no choices at all&mdash;whichever application they're using comes with one language and they're stuck with [that language]. But when you have a powerful language that can implement others by translating into it, then you give the user a choice of language and we don't have to have a language war anymore. That's what we're hoping Guile, our scheme interpreter, will do. We had a person working last summer finishing up a translator from Python to Scheme. I don't know if it's entirely finished yet, but for anyone interested in this project, please get in touch. So that's the plan we have for the future.
tr: Genişletilebilirlik dilleri zayıf olduğu sürece, kullanıcılar yalnızca sizin sağladığınız dili kullanmak zorundadır. Bu, herhangi bir dili seven insanların, &ldquo;Lütfen, uygulama geliştirici, uygulamanıza benim dilimi koyun, onun dilini değil&rdquo; diyerek, uygulama geliştiricilerinin seçimi için rekabet etmesi gerektiği anlamına gelir. O zaman kullanıcılara hiçbir seçenek sunulmaz; hangi uygulamayı kullanıyor olurlarsa olsunlar, tek bir dille gelirler ve [o dilde] takılıp kalırlar. Ancak diğer dilleri ona çevirerek uygulayabilen güçlü bir dile sahip olduğunuzda, kullanıcıya bir dil seçeneği sunarsınız ve artık bir dil savaşına girmek zorunda kalmayız. Scheme yorumlayıcımız olan Guile'nin bunu yapacağını umuyoruz. Geçen yaz Python'dan Scheme'e bir çevirmeni bitirmek için çalışan bir kişimiz vardı. Henüz tamamen bitti mi bilmiyorum ama bu projeyle ilgilenenler lütfen iletişime geçsin. Yani geleceğe ilişkin planımız budur.

note: type: Content of: <div><p>
en: I haven't been speaking about free software, but let me briefly tell you a little bit about what that means. Free software does not refer to price; it doesn't mean that you get it for free. (You may have paid for a copy, or gotten a copy gratis.) It means that you have freedom as a user. The crucial thing is that you are free to run the program, free to study what it does, free to change it to suit your needs, free to redistribute the copies of others and free to publish improved, extended versions. This is what free software means. If you are using a nonfree program, you have lost crucial freedom, so don't ever do that.
tr: Özgür yazılım hakkında konuşmuyorum ama ne anlama geldiğinden kısaca söz edeyim. Özgür yazılım ücret hakkında değildir; ücretsiz aldığınız anlamına gelmez. (Bir kopya için ödeme yapmış veya bedelsiz bir kopya almış olabilirsiniz.) Özgür yazılım, kullanıcı olarak özgür olduğunuz anlamına gelir. Önemli olan, programı çalıştırmakta, ne işe yaradığını incelemekte, ihtiyaçlarınıza göre değiştirmekte, başkalarının kopyalarını yeniden dağıtmakta ve geliştirilmiş, genişletilmiş sürümleri yayınlamakta özgür olmanızdır. Özgür yazılımın anlamı budur. Özgür olmayan bir program kullanıyorsanız, çok önemli olan özgürlüğünüzü kaybettiğiniz anlamına gelir, o yüzden bunu asla yapmayın.

note: type: Content of: <div><p>
en: The purpose of the GNU project is to make it easier for people to reject freedom-trampling, user-dominating, nonfree software by providing free software to replace it. For those who don't have the moral courage to reject the nonfree software, when that means some practical inconvenience, what we try to do is give a free alternative so that you can move to freedom with less of a mess and less of a sacrifice in practical terms. The less sacrifice the better. We want to make it easier for you to live in freedom, to cooperate.
tr: GNU projesinin amacı, insanların, özgürlüğü ayaklar altına alan, kullanıcıya hükmeden, özgür olmayan yazılımları; onların yerini alacak Özgür Yazılımlar sağlayarak reddetmelerini kolaylaştırmaktır. Özgür olmayan yazılımı reddedecek ahlaki cesarete sahip olmayanlar için, bu bazı pratik rahatsızlıklar anlamına geldiğinde, yapmaya çalıştığımız şey özgür bir alternatif sunmaktır, böylece pratik anlamda daha az karmaşa ve daha az fedakarlık ile özgürlüğe ilerleyebilirsiniz. Ne kadar az fedakarlık o kadar iyi. Özgürce yaşamanızı, işbirliği yapmanızı kolaylaştırmak istiyoruz.

note: type: Content of: <div><p>
en: This is a matter of the freedom to cooperate. We're used to thinking of freedom and cooperation with society as if they are opposites. But here they're on the same side. With free software you are free to cooperate with other people as well as free to help yourself. With nonfree software, somebody is dominating you and keeping people divided. You're not allowed to share with them, you're not free to cooperate or help society, anymore than you're free to help yourself.  Divided and helpless is the state of users using nonfree software.
tr: Bu, işbirliği yapma özgürlüğü meselesidir. Özgürlük ve toplumla işbirliğini sanki zıt şeylermiş gibi düşünmeye alışkınız. Ama burada aynı taraftalar. Özgür yazılımla, diğer insanlarla işbirliği yapmakta ve kendinize yardımcı olmakta özgürsünüz. Özgür olmayan yazılımla, birisi size hükmediyor ve insanları bölünmüş durumda tutuyor. Onlarla paylaşmanıza izin verilmiyor, işbirliği yapmakta veya topluma yardım etmekte özgür değilsiniz, kendinize yardımcı olmakta özgür olduğunuz kadar değil. Bölünmüşlük ve çaresizlik, özgür olmayan yazılım kullanan kullanıcıların durumudur.

note: type: Content of: <div><p>
en: We've produced a tremendous range of free software. We've done what people said we could never do; we have two operating systems of free software. We have many applications and we obviously have a lot farther to go. So we need your help. I would like to ask you to volunteer for the GNU project; help us develop free software for more jobs. Take a look at <a href="/help/help.html">gnu.org/help</a> to find suggestions for how to help. If you want to order things, there's a link to that from the home page. If you want to read about philosophical issues, look in /philosophy. If you're looking for free software to use, look in /directory, which lists about 1900 packages now (which is a fraction of all the free software out there). Please write more and contribute to us. My book of essays, &ldquo;Free Software and Free Society,&rdquo; is on sale and can be purchased at www.gnu.org&#8239;<a href="#foot-9">[9]</a>.  Happy hacking!
tr: Muazzam bir Özgür Yazılım yelpazesi ürettik. İnsanların asla yapamayacağımızı söylediği şeyi yaptık; iki özgür yazılım işletim sistemimiz var. Birçok uygulamamız var ve açıkçası daha gidecek çok yolumuz var. Bu yüzden yardımına ihtiyacımız var. Sizden GNU projesi için gönüllü olmanızı rica ediyorum; daha fazla iş için özgür yazılım geliştirmemize yardımcı olun. Nasıl yardım edebileceğinize ilişkin öneriler bulmak için <a href="/help/help.html">gnu.org/help</a> adresine bakın. Bir şeyler sipariş etmek isterseniz, ana sayfadan buna bir bağlantı var. Felsefi konular hakkında okumak istiyorsanız, /felsefe bölümüne bakın. Kullanılacak Özgür Yazılım arıyorsanız, şu anda yaklaşık 1900 paketin listelendiği /directory dizinine bakın (bu mevcut tüm Özgür Yazıılımların yalnızca bir kısmıdır). Lütfen daha fazla yazın ve bize katkıda bulunun. Deneme kitabım, &ldquo;Özgür Yazılım Özgür Toplum&rdquo; satıştadır ve www.gnu.org&#8239;<a href="#foot-9">[9]</a> adresinden satın alınabilir. Happy Hacking !

note: type: Content of: <div><h3>
en: Footnotes
tr: Dipnotlar

note: type: Content of: <div><ol><li>
en: Guy Steele designed the original symmetrical Emacs command set; then he and I began implementing Emacs (on top of TECO), but after one long joint development session, Steele began drifting away, so I finished Emacs.  Others particularly including Eugene C. Cicciarelli and Mike McMahon contributed substantially later on.
tr: Guy Steele orijinal simetrik Emacs komut setini tasarladı; sonra o ve ben Emacs'ı (TECO'nun üstüne) uygulamaya başladık, ancak uzun bir ortak geliştirme seansından sonra Steele uzaklaşmaya başladı, bu yüzden Emacs'ı bitirdim. Başta Eugene C. Cicciarelli ve Mike McMahon olmak üzere başkaları da daha sonra önemli ölçüde katkıda bulundular.

note: type: Content of: <div><ol><li>
en: Bernie Greenberg says that Dan Weinreb's implementation of Emacs for the Lisp Machine came before Greenberg's implementation for Multics.  I apologize for the mistake.
tr: Bernie Greenberg, Dan Weinreb'in Lisp Machine için Emacs uygulamasının Greenberg'in Multics uygulamasından önce geldiğini söylüyor. Hata için özür dilerim.

note: type: Content of: <div><ol><li>
en: Greenblatt's plan, as I understood it, was to hire lab people part time, so that they could continue working at the AI Lab.  Symbolics hired them full time instead, so they stopped working at MIT.
tr: Greenblatt'ın planı, anladığım kadarıyla, yapay zeka laboratuvarında çalışmaya devam edebilmeleri için laboratuvar çalışanlarını yarı zamanlı olarak işe almaktı. Bunun yerine Symbolics onları tam zamanlı olarak işe aldı, bu yüzden MIT'de çalışmayı bıraktılar.

note: type: Content of: <div><ol><li>
en: The background of this plan, which I did not state explicitly in the talk, is that during an initial period the ex-AI-Lab hackers, whether at Symbolics or LMI, continued contributing their changes to the MIT Lisp Machine system&mdash;even though the contract did not require this.  Symbolics' plan was to rupture this cooperation unilaterally.
tr: Konuşmada açıkça belirtmediğim bu planın geçmişi, başlangıç döneminde Symbolics veya LMI'daki eski AI-Lab üstatlarının, MIT Lisp Machine sistemindeki değişikliklere, sözleşme bunu gerektirmese bile, katkıda bulunmaya devam etmeleridir. Symbolics'in planı, bu işbirliğini tek taraflı olarak bozmaktı.

note: type: Content of: <div><ol><li>
en: It was not that I cared particularly about the fate of LMI, but rather I did not want to let Symbolics gain through its aggression against the AI Lab.
tr: LMI'nin kaderini özellikle umursadığımdan değil, aksine Symbolics'in AI Lab'a karşı saldırganlığından kazanç elde etmesine izin vermek istemedim.

note: type: Content of: <div><ol><li>
en: This statement has been misconstrued as saying that I never, ever looked at Symbolics' code.  Actually it says I did look, at first.  The Symbolics source code was available at MIT, where I was entitled to read it, and at first that's how I found out about their changes.
tr: Bu ifade, Symbolics'in koduna asla ama asla bakmadığım şeklinde yanlış yorumlanmıştır. Aslında ilk başta baktığımı söylüyor. Symbolics kaynak kodu, onu okumaya yetkim olan MIT'de mevcuttu ve değişikliklerini ilk başta bu şekilde öğrendim.

note: type: Content of: <div><ol><li><p>
en: But that meant I had to make a special effort to solve each problem differently, in order to avoid copying Symbolics code.  After a while, I concluded it was better not to even look.  That way I could write code in whatever way was best, without concern for what might be in Symbolics' code.
tr: Ancak bu, Symbolics kodunu kopyalamaktan kaçınmak için her sorunu farklı şekilde çözmek için özel bir çaba göstermem gerektiği anlamına geliyordu. Bir süre sonra bakmamanın daha iyi olacağına karar verdim. Bu şekilde, Symbolics'in kodunda ne olabileceğiyle ilgilenmeden en iyi şekilde kod yazabilirdim.

note: type: Content of: <div><ol><li>
en: Symbolics at one point protested to MIT that my work, by thwarting their plan, had cost Symbolics a million dollars.
tr: Symbolics bir noktada MIT'ye benim çalışmamın, planlarını engelleyerek Symbolics'e bir milyon dolara mal olduğunu söyleyerek itiraz etti.

note: type: Content of: <div><ol><li>
en: I don't mind if a very complex and heavyweight function takes keyword arguments.  What bothers me is making simple basic functions such as &ldquo;member&rdquo; use them.
tr: Çok karmaşık ve ağır bir işlevin anahtar kelime bağımsız değişkenleri alması umurumda değil. Beni rahatsız eden, &ldquo;member&rdquo; (üye) gibi basit temel işlevlerin onları kullanmasıydı.

note: type: Content of: <div><ol><li>
en: In 2021, this book can be purchased from <a href="https://shop.fsf.org/books-docs/free-software-free-society-selected-essays-richard-m-stallman-3rd-edition"> GNU Press</a>.
tr: 2021'de bu kitap <a href="https://shop.fsf.org/books-docs/free-software-free-society-selected-essays-richard-m-stallman-3rd-edition">GNU Press</a>'ten alınabilir.

note: TRANSLATORS: Use space (SPC) as msgstr if you don't have notes. type: Content of: <div>
en: *GNUN-SLOT: TRANSLATOR'S NOTES*
tr: <a id="tn1">[1]</a> Burada kullanılan hacker, üstat anlamındadır: teknik beceri sahibi, problem çözmeden zevk alan ve sınırları aşan kişiler, belirli bir konuda sahip olduğu bilgiyi kullanıp daha fazlasını öğrenmeye meraklı kişiler.

note: type: Content of: <div><div><p>
en: Please send general FSF &amp; GNU inquiries to <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.  There are also <a href="/contact/">other ways to contact</a> the FSF.  Broken links and other corrections or suggestions can be sent to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.
tr: Lütfen FSF ve GNU ile ilgili sorularınızı <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a> adresine iletin. FSF ile iletişim kurmanın <a href="/contact/">başka yolları</a> da vardır. Lütfen çalışmayan bağlantıları ve başka düzeltmeleri veya önerilerinizi <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a> adresine gönderin.

note: TRANSLATORS: Ignore the original text in this paragraph, replace it with the translation of these two: We work hard and do our best to provide accurate, good quality translations.  However, we are not exempt from imperfection. Please send your comments and general suggestions in this regard to <a hr
en: Please see the <a href="/server/standards/README.translations.html">Translations README</a> for information on coordinating and contributing translations of this article.
tr: Çevirilerimizde bulmuş olabileceğiniz hataları, aklınızdaki soru ve önerilerinizi lütfen <a href="mailto:web-translators@gnu.org">bize&nbsp;bildirin</a>.</p><p>Bu yazının çeviri düzenlemesi ve sunuşu ile ilgili bilgi için lütfen <a href="/server/standards/README.translations.html">Çeviriler BENİOKU</a> sayfasına bakın. Bu sayfanın ve diğer tüm sayfaların Türkçe çevirileri gönüllüler tarafından yapılmaktadır; Türkçe niteliği yüksek bir <a href="/home.html">www.gnu.org</a> için bize yardımcı olmak istiyorsanız, <a href="https://savannah.gnu.org/projects/www-tr">çalışma&nbsp;sayfamızı</a> ziyaret edebilirsiniz.

note: type: Content of: <div><p>
en: This page is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.
tr: Bu sayfa <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/deed.tr">Creative Commons Alıntı-Türetilemez 4.0 Uluslararası Lisansı</a> altında lisanslanmıştır.

note: TRANSLATORS: Use space (SPC) as msgstr if you don't want credits. type: Content of: <div><div>
en: *GNUN-SLOT: TRANSLATOR'S CREDITS*
tr: <p><strong>Çeviriye katkıda bulunanlar:</strong></p>
    <ul>
    <li>Mert Gör <a href="mailto:mertgor@masscollabs.xyz">&lt;mertgor@masscollabs.xyz&gt;</a>, 2023.</li>
    </ul>

note: timestamp start type: Content of: <div><p>
en: Updated:
tr: Son Güncelleme:
