İçeriğe atla

Emacs

Emacs
GNU Emacs 26.3 (GTK+) ekran görüntüsü
GNU Emacs 26.3 (GTK+) sürümünü gösteren bir ekran görüntüsü. Ekran ikiye bölünmüş; yukarıda *GNU Emacs* penceresi, aşağıda *scratch* penceresi gösterilmektedir.
Orijinal yazar(lar)David A. Moon,
Guy L. Steele Jr
Geliştirici(ler)Çeşitli açık kaynak ve ticari geliştiriciler
İlk yayınlanma1976 (48 yıl önce) (1976)[1][2]
Güncel sürüm27.1 / 11 Ağustos 2020 (4 yıl önce) (2020-08-11)[3]
Programlama diliLisp, C
İşletim sistemiLinux, Mac OS X, Windows
TürMetin düzenleyici

Emacs, özellikle genişletilebilirlik yönünden birbirine benzeyen ve ilişkili metin düzenleyicilerin genel adıdır. Bu metin düzenleyicilerin en yaygını GNU Emacs olduğundan, sıklıkla GNU Emacs yerine kullanılır.

Tarihçe

İlk Emacs, 1970'lerde MIT Yapay Zeka Laboratuvarı'nda Richard M. Stallman tarafından bir satır düzenleyici olan TECO'ya makro kümesi olarak yazıldı. Kısa sürede yaygınlaşan ve bu şekilde büyüyen makrolar Guy Steele ve Stallman tarafından derlenip EMACS ismini aldı.

Unix'de çalışan ilk Emacs'i, Java programlama dilinin de yazarı olan James Gosling 1981 yılında geliştirdi. Gosling Emacs olarak anılan uygulama C'de yazılmış olmasına rağmen, kullanıcılara kolayca kişiselleştirme ve geliştirme imkânı veren Mocklisp isimli Lisp türevi betik dili destekliyordu.

1984'e kadar özgürce dağıtılan bu uygulamanın haklarının Gosling tarafından satılması, aynı kod ağacından başlayan Stallman'ın GNU Emacs isimli düzenleyicisinin eski kodlardan temizlenmesine sebep oldu. Benzer şekilde kendi uygulamasının da özgürlüğünü kaybetmesini istemeyen Stallman, GPL lisansını yazdı ve GNU Emacs, GPL ile lisanslanan ilk uygulama oldu.

1991'de, GPL lisansının özgürlüğünden faydalanan bazı diğer geliştiriciler Lucid Emacs'i türetti. Daha sonradan XEmacs ismini alan bu uygulama özgür yazılım tarihindeki en büyük çatallanmaya sebep oldu. GNU Emacs ve XEmacs, 2006 yılı itibarıyla halen kullanılmakta olan en yaygın iki emacs'dir.

Özellikleri

Emacs Lisp

GNU Emacs ile birlikte, Mocklisp'in yerini kimi zaman ELisp olarak kısaltılan Emacs Lisp almıştır. Yorumlanan bir dil olan Lisp türevi betik dili, birçok akranı gibi değişken işlevlere izin verir. Özellikle bu yeteneği Emacs'in geliştirilebilirliğine önemli katkıda bulunmasını sağlar. Zengin kütüphanesi ile birlikte, web tarayıcısından, e-posta istemcisine, çeşitli oyunlardan yapay zekaya kadar birçok uygulamanın yazılabilmesine imkân veren dil, Emacs'in basit bir metin düzenleyici olarak kalmayıp, teknik olarak bir işletim sistemi sınıfına girebilmesinin sebebidir.

Düzenleme kipleri

Çok amaçlı bir düzenleyici olan Emacs, dosya türünü düzenlerken yardımcı olacak kiplerle gelir. Bu kipler o dosya türüne özgü söz dizimi renklendirme, kelime tamamlama, otomatik girintileme (indentation) gibi birçok işlev ile düzenleme işini kolaylaştırır. Bunların yanı sıra yazım denetimi, yazı tipi şekillendirme, dosya türüne özel tuş ve komut tanımları, hata ayıklama görevleri kipler yardımıyla yapılabilir. Emacs ile dağıtılmayan birçok kip Emacs Lisp dosyası olarak internette bulunabilir.

Düzenli ifadeler

Emacs, karmaşık ara/değiştir işlemleri için oldukça zengin ve kullanışlı düzenli ifade desteği ile gelir.

Çapraz platform desteği (Cross-platform)

Emacs bütün yaygın işletim sistemleri üzerinde derlenip, çalıştırılabilmektedir.

Belgeleme ve dil desteği

Emacs çok ayrıntılı ve gömülü belgelerle gelir. Arayüzü gibi bunlar da genelde İngilizcedir. Kullanım kılavuzu farklı dillere çevrilmişse de, ne arayüzü ne de çekirdek Emacs Lisp kütüphanesi hiçbir dile çevrilmemiştir.

Ayrıca bakınız

Vikikitap
Vikikitap
Vikikitapta bu konu hakkında daha fazla bilgi var:
  • GNU
  • GPL
  • Vim
  • Açık kaynaklı yazılımların listesi

Kaynakça

  1. ^ "Emacs Release Dates". 14 Ekim 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2020. 
  2. ^ Zawinski, Jamie (21 Haziran 2005). "Emacs Timeline". 4 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2020. 
  3. ^ Nicolas, Petton. "Emacs 27.1 released". 11 Ağustos 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2020. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

GNU Maxima özgür yazılım modeline göre geliştirilmiş, Common Lisp (CL) dili ile yazılmış bilgisayar destekli cebir sistemidir (BCS).

<span class="mw-page-title-main">GNU Genel Kamu Lisansı</span>

GNU Genel Kamu Lisansı yaygın kullanılan bir özgür yazılım lisansı. İlk sürümü 1989 yılında Richard Stallman tarafından GNU Tasarısı için kaleme alınmıştır. Üçüncü ve son sürüm ise Richard Stallman'ın yöneticisi olduğu Özgür Yazılım Vakfı (FSF), Eben Moglen ve Yazılım Özgürlüğü Hukuk Merkezi tarafından kaleme alındı ve özgür yazılım topluluklarının çeşitli itiraz ve katkılarıyla son hâlini aldı.

<span class="mw-page-title-main">AWK</span>

AWK, Alfred Aho, Peter Weinberger ve Brian Kernighan tarafından 1977 yılında geliştirilmiş ve ilk olarak Unix Version 7 ile yayınlanmış bir programlama dilidir. C gibi derlenen dillerden farklı olarak yorumlanan bir betik dilidir ve günümüzde özellikle sed ve Kabuk programlamada kullanılmaktadır.

<span class="mw-page-title-main">Bash</span>

Bash, Brian Fox tarafından GNU Projesi için Bourne kabuğuna özgür yazılım alternatifi olarak yazılmış, Unix ve benzeri işletim sistemlerinde kullanılan komut satırı kabuğu ve bu kabuğun betik dilidir. GNU Tasarısı'nın parçasıdır ve birçok GNU/Linux dağıtımında ön tanımlı kabuk olarak gelir. Ayrıca bir versiyonu Windows 10 için Linux İçin Windows Alt Sistemi aracılığıyla mevcuttur. Solaris 11'in de varsayılan kullanıcı betiğidir. Bash ayrıca 2019 öncesinde çıkan tüm MacOS sürümlerinde varsayılan kabuktu.

<span class="mw-page-title-main">GNU Debugger</span>

GNU Debugger(GDB olarak kısaltılır) GNU yazılım sistemi için kullanılan bir hata ayıklayıcıdır (debugger). Unix tabanlı pek çok sisteminde, C, C++ ve Fortran gibi birçok programlama dilinde çalışan taşınabilir bir hata ayıklayıcıdır.

vi Metin düzenleme yazılımı

vi, 1976 yılında BSD'nin ilk sürümleri için Bill Joy tarafından yazılmış ekran yönelimli metin düzenleme yazılımıdır.

<span class="mw-page-title-main">Metin düzenleyici</span> düz metin belgelerini düzenlemek için kullanılan bilgisayar yazılımı

Basit metin çalışmaları için metin editörleri, karmaşık metin ve grafik işleri için kelime işlemciler kullanılmaktadır.

Ruby, nesneye yönelik, dinamik, reflektif ve esnek bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya'da tasarlanmaya ve geliştirilmeye başlanmıştır.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

BCX; Kevin Diggins tarafından yazılmış, BASIC dili olan, BCX kaynak kodunu C kaynak koduna çevirip çeşitli C derleyicileri ile derleyebilen ücretsiz bir uygulama programlama yazılımıdır. Son proje çatalları GNU/Linux ve OS X işletim sistemlerinde çalışabilen türevlerinin ortaya çıkması ile sonuçlanmıştır.

<span class="mw-page-title-main">GNU Projesi</span> Özgür yazılım projesi

GNU Tasarısı, toplu işbirliğini temel alan bir özgür yazılım tasarısıdır. Richard Stallman tarafından Massachusetts Teknoloji Enstitüsü'nde 27 Eylül 1983 tarihinde kamuoyuna duyurulmuştur. Tasarının hedefi işbirliği yoluyla özgür yazılımlar geliştirip dağıtarak bilgisayar kullanıcılarının bilgisayarlarını ve benzeri araçlarını kendi istekleri doğrultusunda özgürce kullanmalarını sağlamaktır. Bu tasarının temelinde kullanıcıların yazılımı çalıştırma, paylaşma, inceleme ve değiştirme konularında özgür olmaları yatar. GNU yazılımları bu özgürlükleri dağıtıldıkları lisans ile yasal olarak güvence altına alır, dolayısıyla GNU yazılımları özgür yazılımlardır.

<span class="mw-page-title-main">GNU Guix</span>

GNU Guix, GNU için bir paket yöneticisidir. Nix paket yöneticisini ve Guile Şeması uygulama programlama arayüzlerini taban almıştır. Tümüyle özgür yazılımdır.

<span class="mw-page-title-main">GnuTLS</span>

GnuTLS TLS, SSL ve DTLS iletişim kurallarının uyarlaması olan özgür bir yazılımdır. Uygulamaların ağ taşıma katmanı üzerinde güvenli haberleşmesini, X.509, PKCS #12, OpenPGP ve diğer yapılara erişebilmesi için uygulama programlama arayüzü sağlar.

<span class="mw-page-title-main">Copyleft</span>

Copyleft, insanlara özgün çalışmayı diledikleri gibi kopyalama, değiştirme ve yeniden dağıtma hakları veren bununla birlikte eserin özgün ve değiştirilmiş halinin yine aynı haklarla dağıtılmasını zorunlu tutan yasal bir tekniktir. Bir özgür yazılımın özgün hali ve değiştirilmiş türevlerinin özel mülke dönüşmesini önlemek yani daima özgür kalmasını sağlamak için kullanılır. Bu bakımdan copyleft özgür lisanslar copyleft olmayan özgür lisanslara göre daha koruyucu niteliktedir. Copyleft lisanslar başta bilgisayar yazılımları olmak üzere belgeler, sanat eserleri, bilimsel keşifler ve hatta belirli patentlere kadar uzanan çalışmalar için kullanılabilir.

<span class="mw-page-title-main">Metin tabanlı kullanıcı arayüzü</span> bir metin ekranına çıktı vermeye veya onu kontrol etmeye dayalı arabirim türü

Metin tabanlı kullanıcı arayüzü, metinsel kullanıcı arayüzü veya terminal kullanıcı arabirimi olarak da adlandırılır, grafik kullanıcı arayüzlerinin (GUI) icadından bir süre sonra ortaya çıkan ve onu grafik kullanıcı arayüzünden ayırt etmek için türetilen yeni bir terimdir. TUI'de bilgisayar grafikleri metin kipinde görüntülenir. Gelişmiş bir TUI, GUI'ler gibi tüm ekran alanını kullanabilir ve fare ve diğer girişleri kabul edebilir.

<span class="mw-page-title-main">Yazılım kategorileri</span>

Yazılım kategorileri, yazılım gruplarıdır. Yazılımın bu kategoriler açısından anlaşılmasını sağlamaktadırlar. Farklı sınıflandırma şemaları, yazılımların farklı yönlerini dikkate alır.

<span class="mw-page-title-main">GNU Emacs</span>

GNU Emacs, özgür bir metin düzenleyicisidir. GNU Projesi kurucusu Richard Stallman tarafından Unix işletim sistemleri için geliştirilen Emacs editörü temel alınarak oluşturulmuştur. GNU Emacs, GNU projesinin merkezi bir bileşeni ve özgür yazılım hareketinin amiral gemisi projesi olmuştur. Adı zaman zaman GNUMACS olarak kısaltılır. GNU Emacs'ın sloganı "genişletilebilir kendi kendini belgeleyen metin düzenleyicisidir".

<span class="mw-page-title-main">StumpWM</span>

StumpWM', geliştirici Shawn Betts'in ratpoison'un giderek büyük ve "lisp yoğun" olduğunu fark etmesiyle oluşturulan bir Döşemeli Pencere Yöneticisi'dir. Ratpoison'un halefi olarak tasarlanan StumpWM, GPL-2.0 veya sonrası lisansının şartları altında yayımlanmıştır.

<span class="mw-page-title-main">AUCTeX</span> TeX veya LaTeX ile metinlerin dizgisi için Emacs ortamı

AUCTeX, Emacs ve XEmacs'da TeX dosyalarını yazmak ve biçimlendirmek için genişletilebilir bir yazılım paketidir.