Compiler nedir?
Derleyici, geliştiricilerin herhangi bir programlama dilini kullanarak yazdığı kaynak kodu bilgisayarın anlayabileceği makine diline yani 0 ve 1’lere çeviren aracı yazılımdır. Derleyici sayesinde geliştiriciler farklı programlama dillerini kullanarak aynı işlevi yerine getiren yazılımlar üretebilirler. Üstelik Complier’ların varlığı, çok fazla programlama dilinin olmasına ve geliştiricilerin alternatif dillerle çalışmasına yardımcı olmaktadır.
Eğer Compiler adını verdiğimiz derleyiciler olmasaydı, geliştiricilerin yazılımlarının tümünü makine dilinde hazırlaması gerekecekti. Bu da ekstradan gelişticilerin fazladan çaba harcaması ve yazılımların günümüzde olduğundan daha geç oluşturulmasına neden olacaktı. Geliştiricilerin hayatını kolaylaştıran Compiler sayesinde geliştiriciler farklı programlama dillerini kullansalar bile bilgisayarların anlayabileceği dile dönüştürülen yazılımları kolayca oluşturabilirler.

Derleyici Nedir?
Derleyici veya İngilizce adıyla bilinen Compiler, farklı bir dilde oluşturulan kaynak kodun istenilen farklı bir kod haline dönüştürülmesine yardımcı olan otomatikleştirilmiş programlardır. Derleyici programlar yaygın olarak executable codeolarak tanımlanan hemen çalıştırılabilir kodlar üretmektedir.
Derleyiciler sadece aynı seviyedeki programlama dilinde yazılan kodların aynı seviyedeki eşlerine çevrilmesinde görevli değildirler. Bir derleyici, üst seviye bir programlama dilinin kodunu daha alt seviyeli bir programlama diline çevirme görevini üstlenebilirler. Basit bir örnek vermek gerekirse; bilgisayarınızda C diliyle hazırlamış olduğunuz bir yazılımı derleyiciler sayesinde makine dili olarak kabul edilen Assembly veya daha alt seviyeli programlama dillerine dönüştürebilirsiniz.
Compiler Nasıl Çalışır?
Compiler, tıpkı iki kişinin arasında görevli bir tercüman gibi iki programlama dili arasında tercüme görevini üstlenir. Üst seviye programlama diliyle yazılan bir kaynak kodu, daha alt seviyeli bir makine diline dönüştürür. Yine bir tercümanın yaptığı gibi Compiler da bu tercüme işlemini yaparken, kaynak kodun içerisinde yer alan hataları bulur ve iletişimin sorunsuz olması için saptadığı hataları yazılımın geliştiricisine bildirir. Bu açıdan bakıldığında Compiler kaynak kodların sorunsuz şekilde bir alt programlama diline dönüştürülmesi aşamasında etkin bir rol üstlenir.
Compiler’ın çalışma mantığı basit bir şekilde özetlememiz gerekirse; C diliyle bir yazılım geliştirdiniz. Lakin bu yazılımın bilgisayar tarafından kavranıp işleme alınabilmesi için kodunuzun makine dilinde sunulması gerekir. Bilgisayarınız C dilini doğrudan anlayamayacak ancak PASCAL ile yapılan bir kodlamayı anlayabilecektir.
Bu aşamada Compiler devreye girip, C kodunuzu PASCAL diline dönüştürecek ve dönüştürme işlemi sırasında meydana gelen hataları size bildirerek kodunuzun sorunsuz dönüştürülmesini ve çalışmasını sağlayacaktır. Compiler’ın oluşturduğu kod çalıştırılabilir kod dizisi olduğu için bilgisayar tarafından işleme alınabilecek ve koşturulabilecektir.
Debugger nedir?
Debugger hata ayıklayıcı demektir.Derleyici programın arka planında çalışaraka yazılan kodlar arasındaki hataları bulmaya çalışır.Bu hataların bulunarak düzeltilmesi sürecine DEBUG adı verilir.
Bazı Debugger uygulamaları;
- AppPuncher Debugger
- CodeView
- DBG — Bir PHP Debugger
- Eclipse---C,C++,Perl,PHP
- Bağlayıcı (linker) nedir?
- Bir derleyici tarafından üretilmiş olan kodları bağlayarak işletim sisteminin çalıştırabileceği tek bir kod üreten programdır.Günümüzde hızla gelişen programlama ihtiyaçları sonucunda programlamada modüler yaklaşıma geçilmiştir. Buna göre büyük bir yazılım küçük alt parçalara bölünmekte ve her parça ayrı ayrı işlenerek büyük program elde edilmektedir. Yapısal programlamanın da çıkış sebeplerinden birisi olan bu yaklaşıma göre dillerde fonksiyon desteği gelmiş ve değişik parametrelere göre aynı kodun farklı sonuçlar üretmesi sağlanmıştır. Daha sonradan gelişen nesne yönelimli programlama bu konuda bir sonraki nesil olarak kabul edilebilir. Nesne yönelimli programlamada, programlar nesnelere bölünerek farklı bir yaklaşım izlenmiştir.Bu yaklaşımların derleyicilere yansıması da uzun sürmemiş, daha yapısal programlamanın ilk geliştiği günlerde derleyiciler de farklı kütüphaneler ve bu kütüphaneleri birleştirmeye yarayan harici programlar kullanmaya başlamışlarıdır.Kodun birden fazla parçaya bölünmesi ve her parçanın ayrı ayrı üretilmesi durumunda bu parçaların birleştirilmesi ve tek bir program halinde üretilmesinden sorumlu olan programlara bağlayıcı (linker) adı verilmektedir.
- GUI NEDİR?
- Grafiksel Kullanıcı Arayüzü, elektronik cihazların simgeler, ikonlar ve diğer görsel grafikler yardımıyla kullanmasına yardımcı olması amacıyla geliştirilmiş tasarımlardır. GUI öncesi komut bazlı işletim sistemi kullanılan eski nesil bilgisayarlar ve elektronik cihazlarda herhangi bir işlemi gerçekleştirmek için komut satırıkullanılıyordu. Kullanıcılar bilgisayar üzerindeki her işlemi klavye üzerinden ve komutları kullanarak gerçekleştiriyordu.Daha sonra kullanıcıların daha rahat kişisel bilgisayar kullanabilmesi için 1981 yılında aralarında Alan Kay, Douglas Engelbart ve bir grup araştırmacının yer aldığı grup Xerox PARC'da ilk GUI'yi geliştirmiştir. Daha sonraları grafiksel kullanıcı arayüzü fikrini Apple benimsemiş ve Lisa ismiyle çıkış yapan bilgisayarında kullanmıştır. Bugün artık aktif olarak gelişimi devam ettirilen işletim sistemlerinin neredeyse tamamı grafiksel kullanıcı arayüzünü kullanmaktadır.
GUI Nasıl Çalışır?GUI, bilgisayarın ekranı içerisinde pencereleri, ikonları ve kontrol pencerelerini barındırıyor. Bu sayede kullanıcıların tek bir komut satırı dahi yazmasına gerek kalmaksızın bilgisayarlar kolayca kullanılabiliyor. GUI sayesinde bilgisayar fare yardımıyla kontrol edilebiliyor ve kısayol tuşları ile hızlıca işlemler gerçekleştirilebiliyor.GUI'nin Faydaları Nelerdir?Komut bazlı olarak çalışan CUI, Unix veya MS-DOS gibi sistemlerin aksine GUI'yi kullanmayı öğrenmek ve kullanmak çok daha kolaydır. Komut bazlı sistemlerde kullanıcıların işlemleri gerçekleştirmek için hem kodlar yazması hem de bu kodları ezberlemesi gerekir. Oysa GUI işletim sistemlerinde tek bir satır dahi komut kodu bilmeye gerek kalmadan bilgisayar kolaylıkla kullanılabilmektedir. Grafik arayüzlerinin kullanıcılara sunduğu bir diğer avantaj da bilgisayar kullanıcıları programlama dillerinden herhangi birini bilmek zorunda bırakmıyor olmasıdır. Çünkü artık grafiksel kullanıcı arayüzlü olarak geliştirilen tüm sistemler son kullanıcıların ihtiyaçları göz edilerek hazırlanmaktadır.Günümüzde yaygın olarak kullanılan başlıca Grafiksel Kullanıcı Arayüzlü işletim sistemleri; - GNU NEDİR?
- GNU/Linux aslında bir işletim sistemi değildir. GNU/Linux, Linus Torvalds adında Finlandiyalı bir bilgisayar mühendisinin 1991 yılında Helsinki Üniversitesi’nde bir öğrenci iken Intel’in yeni işlemcisi 80386nın korumalı mod mimarisini denemek üzere geliştirmeye başladığı Unix (aslen Minix) tabanlı bir işletim sistemi çekirdeğidir. Bilinenin aksine Linux bir işletim sistemi değil işletim sistemi çekirdeğidir. Yani Linux, Linux dağıtımlarının bel kemiğini oluşturmaktadır. Linus Torvalds internette yaptığı duyuru sonucunda tüm dünyadan birçok programcının da desteği ile hızla gelişmiş ve halen aynı destek ile gelişmekte olan açık kaynak kodlu, özgür bir yazılımdır.. Ancak insanlara “GNU/Linux çekirdeğini kullanan bir işletim sistemi” demek zor geldiği için zamanla GNU/Linux çekirdeğini kullanan işletim sistemlerine genel olarak GNU/Linux denmeye başlanmış ve bu kullanım yerleşmiştir.
GNU/Linux çekirdeğini kullanan işletim sistemlerine Linux jargonunda “dağıtım” denir. Dağıtımlar; GNU/Linux çekirdeğini, diğer programları (müzik oynatıcı, CD yazma programı, İnternet tarayıcı vb.) ve bunların kolayca sabit diske kurulmasına imkan veren bir arayüzü içeren program paketleridir. Pardus, Ubuntu, Debian, Fedora, mageia, magma linux, truva linux vb. birer GNU/Linux dağıtımıdır. İşte asıl işletim sistemi diyebileceğimiz şeyler bunlardır.
Yukarıda saydığımız dağıtımlar, aynı çekirdeği kullandıklarına göre bazı ortak özellikleri olmalıdır. Dosya sistemleri, komut satırında çalıştırılabilecek komutlar, klasör hiyerarşileri vb. ortaktır.
GNU/Linux açık kaynak kodlu ve özgür bir işletim sistemi çekirdeğidir. Yani isterseniz GNU/Linux çekirdeğinin ve GNU/Linux dağıtımlarında kullanılan programların çoğunun kaynak kodlarını görebilir ve değiştirebilirsiniz (açıklık) ve isterseniz GNU/Linux çekirdeğini ve GNU/Linux dağıtımlarında kullanılan programların çoğunu -kaynak kodu değiştirerek veya değiştirmeden- arkadaşlarınıza ve İnternet üzerinden herkese dağıtabilirsiniz. GNU/Linux dağıtımlarında birinin örneğin Debian alt yapısını kullanarak yeni bir işletim sistemi çıkarabilirsiniz buna en iyi örnek Ubuntu dur ubuntu debian altyapısı kullanarak çıkarılmış bir işletim sistemidir. - Gpl NedirGpl' nin açılımı General Public License yani Genel Kamu Lisansıdır. Çıkış sebebi açık kaynaklı kodların kapatılıp ticaret için kullanılması durumundan hoşlanmayan Richard Stallman tarafından oluşturulmuştur. Anlıyacagınız üzere Gpl özgür yazılımı koruyan bir belgedir. Size şimdi GPL ' yi daha iyi tanımanız için birkaç lisans ile ile karşılaştırma yapılmış bi resmi göstermek istiyorum.Burda bizi ilgilendiren 2 lisans türü var biri eula digeride gplresimdede açıklandıgı gibi gpl de programı
- Kopyalayabilirsiniz
- Degiştirebilirsiniz
- Dagıtabilirsiniz
- Üretebilirsiniz (Patent)
- Kullanabilirsiniz (Patent)
- Satabilirsiniz (Patent)
Kısa ve öz olarak Gpl özgür yazılımın koruyucusu ve "her şey insanlık için" felsefesi içinde bulunduran önemli bir lisans anlaşmasıdır - Açık Kaynak (open source) Kod Nedir?
- Açık kaynak yazılım veya açık kaynaklı yazılım veya kaynağı açık yazılım, kaynak kodu isteyen herkese açık olan yazılımlardır. Bu tür yazılımların ayırt edici özelliği kullanıcıya yazılımı değiştirme özgürlüğü sağlamasıdır. Açık kaynak kodlu yazılımlar, uyarlanabilir, sağlam, hızlı ve güvenlidir. Açık kaynak kod dünyası, yeni bir yazılım üretme biçimi, yeni iş modelleri sunmaktadır. Dünyanın her tarafından bilişim uzmanlarınca imece yöntemi ile endüstri standartlarında geliştirilen açık kaynak kod yazılımları, insanlığın ortak malıdır. Programcılar yazılımları geliştirirken kullandıkları programlama dilleriyle kaynak dosyaları oluştururlar. Daha sonra derlemeli dillerde (C, C++, Java, Pascal) bu dosyayı derleyerek çalıştırılabilir hale çevirirler. Açık kaynaklı yazılım savunucuları her üretilen ve dağıtılan programla birlikte kaynak kodunun da dağıtılmasını savunurlar. Bu sayede geliştirme esnasında ve ilerde yeni sürümlerin ortaya çıkması esnasında daha çok sayıda gözün süzgecinden geçmiş daha kaliteli bir yazılım çıktığını düşünürler. Açık kaynaklı yazılımlar 2005 senesi itibariyle bir patlama yapmışlar ve onbinlere varan program ve varyanta ulaşmışlardır. En iyi bilinenler Linux, Open Office, GNU, Debian'dır. Açık kaynaklı yazılımlar, en küçüğünden cep telefonu, saat gibi gömülü sistemlerden, en büyüğünden süper bilgisayarlara, ev kullanıcılarından KOBİ'lere, kamu kurumlarından her türden okullara, tüm kurum ve bireylerin rahatça kullanabileceği, gereksinimlere göre basitleştirilebilen,sağlamlaştırılabilen, güçlendirilebilen yazılımlardır. Açık kaynak kod yazılımlar, her alanda çözümler sunarak, yazılım tekellerine karşı tüketiciye seçenekler sunmaktadır. Almanya, İspanya, Meksika, Brezilya, Çin, Kore, Hindistan gibi birçok ülke, kamu kurumlarında açık kaynak kodlu yazılımlarının kullanımını benimsemiş ve bilgi toplumu stratejilerin bir parçası yapmışlardır. Avrupa Birliği, UNESCO, Dünya Bankası gibi kuruluşlar güvenlik ve tasarruf gibi gerekçelerle açık kaynak yazılımlarını önermektedir. Dünya üzerindeki hemen her ülke kendi gereksinimlerine göre açık kaynak kodlu bir Linux dağıtımı geliştirmiştir. Türkiye'de TÜBİTAK'ın girişimi ile bu yönde ULUDAĞ: Ulusal Dağıtım Projesi başlatılmış ve bir Linux dağıtımı olan Pardus Ulusal İşletim Sistemi hazırlanmıştır. Türkiye'de açık kaynak kod topluluğu 10 yılı aşkın bir süredir bulunmakta, Turkuaz, Gelecek Linux, İstanbulx, Boreas, Turkix gibi dağıtımlar ve başka açık kaynak kodlu yazılımlar ve uygulamalar geliştirilmekte, açık kaynak firmaları kurulmaktadır. Açık kaynak kodlu yazılım toplulukları, şu görüşlerle açık kaynak ortamlarını desteklemektedir: "Açık kaynak kodlu yazılımlar tasarruf ve güvenliğin ötesinde de bir ülke ekonomisi için önemlidir. Açık kaynak ortamları, teknoloji üretebilecek gençleri yetiştirmenin etkin yollarından biridir. İthal hazır çözümler yerine, ülke insanına güvenmek, ona yatırım demektir. Açık kaynak, kendi okullarında gereksinimlerine göre uyarlanmış, güvenli, sağlam ve ucuz çözümler demektir. Açık kaynak yazılımlar, mütevazı donanımları etkin kullanabilmek demektir. Tüm üretim ve servis sektörlerinde bilişim maaliyeti gittikçe artmaktadır. Açık kaynak yazılımlar, en başta lisanslar nedeniyle bu maliyetleri düşürerek, yerli sanayici ve bilişimciye destek demektir, ülkenin rekabet yeteneği artırmak demektir. Açık kaynak yazılımları, kapalı kaynak kod yazılımlarla yetenek ve performansta yarışacak konumdadır. Açık kaynak yazılımların tam rekabet ortamında kapalı kaynak yazılımlarla yarışması gerekir. Temel bilişim eğitimin marka bağımlılığı yaratmayacak, kullanıcıyı tüm alternatif platform ve ürünlerde çalışabilme yeteneğini kazandıracak, ürünlere değil kavramlara ağırlık vermesi gerekir."
Hiç yorum yok:
Yorum Gönder