İçeriğe atla

Kaynak kodu düzenleyicisi

XML kodunu düzenlemek için Notepad++ kaynak kodu düzenleyicisi kullanılıyor.

Kaynak kodu düzenleyicisi, bilgisayar programının kaynak kodunu düzenlemek için özel olarak tasarlanmış bir metin düzenleyici programıdır. Bağımsız bir uygulama olabileceği gibi bir tümleşik geliştirme ortamı (IDE) veya web tarayıcısı içine de yerleştirilebilir. Kaynak kodu düzenleyicileri temel bir programlama aracıdır, çünkü programcıların temel işi kaynak kodu yazmak ve düzenlemektir.[1][2][3][4]

Özellikleri

Emacs olarak bilinen popüler bir kaynak ve metin düzenleyicisi

Kaynak kodu düzenleyicileri, sözdizimi vurgulama, girintileme, otomatik tamamlama ve ayraç eşleştirme işlevleri gibi kaynak kodunun yazılmasını basitleştirmek ve hızlandırmak için özel olarak tasarlanmış özelliklere sahiptir. Bu editörler ayrıca bir derleyici, yorumlayıcı, hata ayıklayıcı veya yazılım geliştirme süreci ile ilgili diğer programları çalıştırmak için uygun bir yol sağlarlar. Bu nedenle, Notepad gibi birçok metin düzenleyici kaynak kodunu düzenlemek için kullanılabilirken, kodun düzenlenmesini geliştirmiyor, otomatikleştirmiyor veya kolaylaştırmıyorsa, bunlar "kaynak kodu düzenleyicileri" değildir.

Yapı düzenleyiciler, ham metni düzenlemek yerine kodun yapısını, genellikle soyut sözdizimi ağacı'nı manipüle eden farklı bir kaynak kodu düzenleyici biçimidir. Bu durumda, sözdizimi vurgulama, doğrulama ve kod biçimlendirme gibi özellikler somut sözdizimi ağacı veya soyut sözdizimi ağacından kolayca ve verimli bir şekilde uygulanır, ancak düzenleme genellikle serbest biçimli metinden daha katıdır. Yapı düzenleyicileri ayrıca her dil için kapsamlı destek gerektirir ve bu nedenle yeni dillere genişletilmesi, temel desteğin yalnızca sözdizimi vurgulama veya girintilemeyi desteklemeyi gerektirdiği metin editörlerinden daha zordur. Bu nedenle, bazı IDE'ler benzer işlevsellik sağlasa da, katı yapı editörleri kaynak kodu düzenleme için popüler değildir.

Bir kaynak kodu düzenleyicisi, kod girilirken sözdizimini kontrol edebilir ve sözdizimi sorunları konusunda hemen uyarabilir. Birkaç kaynak kodu düzenleyicisi gibi kaynak kodunu sıkıştırır, tipik olarak yaygın anahtar sözcükleri single-byte tokens'a dönüştürür, gereksiz boşlukları kaldırır ve sayıları ikili bir forma dönüştürür. Bu tür simgeleştirme düzenleyicileri daha sonra kaynak kodu görüntülerken sıkıştırmayı açar, muhtemelen güzel baskı (prettyprinting) tutarlı bir şekilde büyük harf ve boşluklarla yazdırır. Birkaç kaynak kodu düzenleyicisi her ikisini de yapar.

İlk olarak Microsoft'un Visual Studio Code programında kullanılan Language Server Protocol, kaynak kod düzenleyicilerinin LSP sunucusu olan herhangi bir dil hakkında sözdizimi bilgilerini okuyabilen bir LSP istemcisi uygulamasına olanak tanır. Bu, kaynak kod düzenleyicilerinin sözdizimi vurgulama, yeniden düzenleme ve referans bulma ile daha fazla dili kolayca desteklemesine olanak tanır.[5]

Neovim[6] ve Brackets[7] gibi birçok kaynak kodu düzenleyicisi yerleşik bir LSP istemcisi eklerken, Emacs,[8] vim[9] ve Sublime Text[10] gibi diğer düzenleyiciler ayrı bir eklenti aracılığıyla bir LSP İstemcisi desteğine sahiptir.

Tarihçe

1985 yılında IBM'den Mike Cowlishaw, Oxford University Press'de geçici görev yaparken LEXX'i yarattı. LEXX canlı ayrıştırma kullanıyordu ve sözdizimi vurgulaması için renk ve yazı tipleri kullanıyordu. IBM'in LPEX'i (Live Parsing Extensible Editor)[11] LEXX'e dayanıyordu ve VM/CMS, OS/2, OS/400, Windows ve Java üzerinde çalışıyordu.[12]

vim'in ilk halka açık sürümü 1991'de olmasına rağmen, sözdizimi vurgulama özelliği 1998'deki 5.0 sürümüne kadar tanıtılmamıştır.[13]

2003 yılında Don Ho tarafından Windows için bir kaynak kodu düzenleyicisi olan Notepad++ piyasaya sürüldü. Amaç, java tabanlı kaynak kodu düzenleyicisi JEXT'e bir alternatif oluşturmaktı.[14]

2015 yılında Microsoft, Visual Studio IDE'sine hafif ve platformlar arası bir alternatif olarak Visual Studio Code'u piyasaya sürdü.[15] 2016 yılında Visual Studio Code, Language Server Protocol (Dil Sunucusu Protokolünü) kullanan Microsoft ürünü oldu.[5]

IDE'ler ile karşılaştırma

Kaynak kodu düzenleyicisi, Tümleşik Geliştirme Ortamının bir bileşenidir. Bağımsız bir kaynak kodu düzenleyicisinin aksine, bir IDE tipik olarak hata ayıklayıcı ve derleme araçlarını da içerir.[16] Bağımsız kaynak kodu düzenleyicileri, IDE'lerin ihtiyaç duymadıkları özelliklerle şişirildiğine inanan bazı geliştiriciler tarafından IDE'lere tercih edilmektedir.[17]

Önemli örnekler

Tartışma

Birçok kaynak kodu düzenleyicisi ve IDE, programlama topluluğu tarafından bazen neşeli bir şekilde "kutsal savaşlar" olarak adlandırılan, süregelen kullanıcı tartışmalarına dahil olmuştur.[19] Önemli örnekler arasında "vi vs. Emacs" ve "Eclipse vs. NetBeans" sayılabilir. Bu tartışmalar internet kültürünün önemli bir parçasını oluşturmuştur ve genellikle herhangi bir yerde herhangi bir düzenleyiciden bahsedildiğinde başlarlar.

Ayrıca bakınız

  • Tümleşik geliştirme ortamı
  • Tümleşik geliştirme ortamları karşılaştırması
  • Çevrimiçi kaynak kodu oyun alanları karşılaştırması
  • Metin düzenleyicileri karşılaştırması#Programlama özellikleri
  • JavaScript tabanlı kaynak kodu düzenleyicileri karşılaştırması
  • Hex düzenleyicileri karşılaştırması
  • HTML düzenleyicileri karşılaştırması
  • Metin düzenleyicileri listesi
  • Düzenleyici savaşı

Kaynakça

  1. ^ "source code editor". PC Magazine. 6 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mart 2023. 
  2. ^ "17 Best Code Editors". Hostinger Tutorials. 6 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mart 2023. 
  3. ^ Zaher Talab. "How to Choose a Code Editor". developer.com. 6 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mart 2023. 
  4. ^ Sven Lennartz. "35 Useful Source Code Editors Reviewed". Smashing Magazine. 6 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mart 2023. 
  5. ^ a b Krill, Paul (27 Haziran 2016). "Microsoft-backed Language Server Protocol strives for language, tools interoperability". InfoWorld (İngilizce). 19 Haziran 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Haziran 2022. 
  6. ^ "LSP documentation - Neovim". neovim.io. 27 Haziran 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Haziran 2022. 
  7. ^ Shubham, Yadav. "Language Server Protocol Support in Brackets · adobe/brackets Wiki". GitHub (İngilizce). 19 Haziran 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Haziran 2022. 
  8. ^ "LSP Mode - Language Server Protocol support for Emacs - LSP Mode - LSP support for Emacs". emacs-lsp.github.io. 15 Şubat 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Haziran 2022. 
  9. ^ Devlieghere, Jonas (22 Nisan 2018). "Using LSP & clangd in Vim". Jonas Devlieghere (İngilizce). 28 Mayıs 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Haziran 2022. 
  10. ^ "Home - Sublime Text Language Server Protocol Documentation". lsp.readthedocs.io. 12 Haziran 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Haziran 2022. 
  11. ^ "LPEX Editor's User Guide - Version 4" (PDF). IBM. 11 Ağustos 2022 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 19 Haziran 2022. 
  12. ^ Mike Cowlishaw FREng BSc CEng FIET FBCS CITP, IBM, 18 Ekim 2006 tarihinde kaynağından arşivlendi, erişim tarihi: 20 Haziran 2022 
  13. ^ "The History of Vim". Jovica Ilic. 5 Haziran 2014. 25 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Nisan 2023. 
  14. ^ Orin, Andy (18 Haziran 2015). "Behind The App: The Story Of Notepad++". Lifehacker Australia (İngilizce). 17 Haziran 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Haziran 2022. 
  15. ^ Somasegar, S (4 Temmuz 2015). "Introducing Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview and .NET Core Preview for Linux and Mac - Somasegar's blog - Site Home - MSDN Blogs". blogs.msdn.com/. Microsoft. 4 Temmuz 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Haziran 2022. 
  16. ^ Ayush (21 Mayıs 2018). "10 Best IDEs For Programmers And Developers". Technotification. 5 Temmuz 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Haziran 2022. 
  17. ^ Petreley, Nicholas (11 Şubat 2003). "Java text editing software for Linux". Computer World. 17 Haziran 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Haziran 2022. 
  18. ^ a b c d e f "Global Text Editor Market By Product Type (Cloud Based, Web Based) And By End-Users/Application (Large Enterprises, SMEs) Global Market Share, Forecast Data, In-Depth Analysis, And Detailed Overview, and Forecast, 2013 - 2026". 7 Ağustos 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Nisan 2023. The major players operating into Text Editor Market include: Visual Studio Code, Notepad++, Sublime, Brackets, UltraEdit, Atom 
  19. ^ "Holy War (Hacker Jargon)". 2 Nisan 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Kasım 2016. 

İlgili Araştırma Makaleleri

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

Visual Basic, Microsoft tarafından, Basic programlama dili üzerinde geliştirilmiş, olay yönlendirmeli, üst seviye, nesne tabanlı ve görsel bir programlama dilidir. Öğrenilmesi de kullanılması da oldukça kolaydır.

<span class="mw-page-title-main">Mathematica</span> Hesaplama yazılım programı

Wolfram Mathematica, makine öğrenimi, istatistik, sembolik hesaplama, veri manipülasyonu, ağ analizi, zaman serisi analizine, NLP, optimizasyon, fonksiyonlar ve çeşitli veri türlerinin çizimi, algoritmaların uygulanması, kullanıcı arayüzülerin oluşturulması ve diğer programlama dilinde yazılmış programlarla arayüz oluşturmaya izin veren çeşitli teknik hesaplama alanları için yerleşik kütüphanelere sahip bir yazılım sistemidir. Stephen Wolfram tarafından tasarlanmış ve Champaign, Illinois'deki Wolfram Research tarafından geliştirilmiştir. Wolfram Language, Mathematica'da kullanılan programlama dilidir. Mathematica 1.0, 23 Haziran 1988'de Champaign, Illinois ve Santa Clara, Kaliforniya'da yayınlandı.

<span class="mw-page-title-main">D (programlama dili)</span> çoklu paradigma programlama dili

D programlama dili, C++ dilinden daha yüksek seviyede ve hedef alınan işletim sistemiyle donanımlara göre uygulama yazılmasını kolaylaştıran bir "sistem ve uygulama" dilidir.

<span class="mw-page-title-main">Emacs</span> genişletilebilirlik yönünden birbirine benzeyen ve ilişkili metin editörlerinin genel adı

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.

ASP.NET, Microsoft tarafından geliştirilmiş olan bir açık kaynak Web uygulama gelişimi teknolojisidir. Dinamik Web sayfaları, Web uygulamaları ve XML tabanlı Web hizmetleri geliştirilmesine olanak sağlar. Aynı işletme tarafından geliştirilen .NET çatısı'nın yazılım iskeleti parçası ve artık işletmece desteklenmeyen ASP teknolojisinin devamını teşkil etmiştir.

<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.

<span class="mw-page-title-main">Tümleşik geliştirme ortamı</span> yazılım geliştirmek için kullanılan yazılım ortamı

Tümleşik geliştirme ortamı, bilgisayar programcılarının hızlı ve rahat bir şekilde yazılım geliştirebilmesini amaçlayan, geliştirme sürecini organize edebilen birçok araç ile birlikte geliştirme sürecinin verimli kullanılmasına katkıda bulunan araçların tamamını içerisinde barındıran bir yazılım türüdür.

Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır.

<span class="mw-page-title-main">C++Builder</span>

C++Builder, hızlı uygulama geliştirme (RAD) ortamıdır, Borland ve şu anki sahibi olan Embarcadero Technologies tarafından geliştirilmektedir, yazılan programlar C++ programlama dilinde yazılır. C++Builder, Visual Component Library ve IDE olarak yazılan, Delphi ile C++ derleyicisini birleştirir. Daha önceki ilk sürümlerde, C++Builder ile birlikte Delphi'de de büyük gelişmeler olmuştur. Fakat yine de son sürümler Delphi ile birlikte eşzamanlı olarak yayınlanmıştır. Delphi'deki birçok gelişmiş bileşen, ufak değişiklikler yaparak ya da hiçbir değişiklik yapmadan, C++Builder ile kullanılabilir.

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

Sublime Text, içinde birçok programlama dili arayüzü barındıran, çapraz platform bir kaynak kod düzenleme ve metin editörüdür. Arayüzü Vim'den ilham alınarak tasarlanmıştır. Sublime-paketleri (Sublime-packages) yardımıyla fonksiyonelitesi genişletilebilir ancak Sublime Text açık kaynaklı ya da özgür bir yazılım değildir. Buna rağmen genişleme paketlerinin pek çoğu özgür yazılım lisansı ile dağıtılmakta ve Sublime Text kullanıcılarının oluşturduğu topluluk tarafından geliştirilmektedir.

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

gedit, GNOME masaüstünün varsayılan metin düzenleyicisidir ve GNOME Çekirdek Uygulamalarının bir parçasıdır. Her amaca uygun, sade ve kolay kullanım için tasarlanmıştır. Kaynak kodu düzenleme ve işaretleme dilleri gibi biçimlendirilmiş metin araçlarını içerir.

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

Microsoft WebMatrix Windows için, web geliştirmeye yönelik, ücretsiz, bulut bağlantılı bir web sitesi oluşturucu ve HTML düzenleyicisidir. WebMatrix, geliştiricilerin ASP.NET, PHP, Node.js ve HTML5 için tam destekle yerleşik şablonları veya popüler açık kaynak uygulamaları kullanarak web siteleri oluşturmalarını sağlar. Microsoft, web geliştiricilere kodlama, özelleştirme ve yayınlama yeteneklerini tek bir yerde sunmak amacıyla WebMatrix'i geliştirdi.

<span class="mw-page-title-main">Visual Studio Code</span>

Visual Studio Code, Microsoft tarafından Windows, Linux ve MacOS için geliştirilen bir kaynak kodu düzenleyicisidir. Hata ayıklama, gömülü Git kontrolü, sözdizimi vurgulama, akıllı kod tamamlama, snippet'ler ve kod yeniden yapılandırma desteği içerir. Ayrıca özelleştirilebilir, böylece kullanıcılar editörün temasını, klavye kısayollarını ve tercihlerini değiştirebilir. Resmi indirme işlemi tescilli bir lisans altında olmasına rağmen, ücretsiz ve açık kaynaktır.

Windows Uygulama Stüdyosu veya Windows Phone App Studio Windows uygulaması geliştirme için Microsoft tarafından sağlanan bir web uygulamasıdır. Kullanıcıların Windows Mağaza'ya ve Windows Phone Store'ye yükleyebilecekleri veya yayınlayabilecekleri uygulamalar oluşturmasına, ek olarak bir Microsoft Visual Studio çözümü biçiminde tam kaynak kodunu sağlar. Araç, Evrensel Windows Platformu uygulamalarını geliştirmek için kullanılır.

JSDoc JavaScript kaynak dosyalarına ek açıklama için kullanılan metin işaretleme dilidir. JSDoc yorumları kullanarak programcılar uygulamanın ne yaptığını yazabilir ve bunu dokümante edebilir. Bundan sonra yazılanlar farklı araçlar vasıtası ile HTML veya Zengin Metin Biçimi haline getirilir.

<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">JED (metin düzenleyicisi)</span>

JED, S-Lang kütüphanesinden kapsamlı bir şekilde yararlanan bir metin düzenleyicisidir. Platformlar arası son derece uyumludur; JED, Windows'ta ve tüm Linux çeşitlerinde ve Unix'te çalışır. DOS için daha eski sürümler çalışır. Aynı zamanda çok hafiftir, bu da onu eski sistemler, gömülü sistemler vb. için ideal bir editör yapar. JED'in Emacs modu, mevcut en sadık emülatörlerden biridir.

<span class="mw-page-title-main">GNOME LaTeX</span> Linux GNOME masaüstü ortamı için bir TeX/LaTeX düzenleyici

GNOME LaTeX, TeX/LaTeX belgelerini düzenlemek için bir TeX/LaTeX editörüdür. GTK kütüphanesinin yüklü olduğu Linux sistemlerinde çalışır.

<span class="mw-page-title-main">Gummi (yazılım)</span> TeX/LaTeX editörü

Gummi, bir LaTeX editörüdür. Linux sistemleri üzerinde çalışan bir GTK+ uygulamasıdır.