Kütüphane , FLTK nedir?
Kütüphane: C , C++ gibi programlarda belli bir amaca ilişkin görev bakımından da birbirine benzerlik ve tuterlık gösteren komutların bir arada tutulduğu kitaplıktır diyebiliriz. Örneğin math.h (matemetik fonksiyonlarının bulunduğu kütüphane) gibi.İçerisinde sqrt() (karekök alma) pow() (üs alma) gibi komutların bir arada tutulması gibi.
FLTK (Fast Light Toolkit): Bill Spitzak tarafından C++ ile geliştirilmiş çapraz platform GUI (grafiksel kullanıcı arayüzü) kütüphanesidir. GNU LGPL ile özgür olarak dağıtılıp kullanılabilir. OpenGL ile üç boyutlu programlama yeteneklerini kullanır. Fakat genel GUI programlamasına da uygun olarak geliştirilmiştir. C++ ile geliştirildiğinden birincil programlama tercihide bu yönderdir. Fakat zaman içerisinde Lua, Python, Ruby gibi nesne yönelimli diller içinde uygun hale getirilmiştir.
Diğer benzer kütüphanelerin aksine FLTK son derece hafif tasarlandığından yalnızca GUI’ ye odaklanır ve program çıktılarındaki dosya boyutu oldukça küçüktür.
Biraz daha bilgi…
http://ufuksanli.blogspot.com/2009/10/fltk-m-sptk-m.html
http://ufuksanli.blogspot.com/2010/04/merhaba-qt-tesekkurler-fltk.html
Compiler Nedir?
Bir dilde kullanıcı tarafından girilen kodu (kaynak kodu yada source code) istenilen başka bir kod haline dönüştüren programdır. Genelde üretilen bu kod ortama göre çalıştırılabilir kod (executable code) olarak üretilmektedir. Ancak bir derleyicinin daha doğru tanımı bir dildeki kodu başka dile çeviren program olarak yapılabilir. Örneğin C dilinde yazılan bir programı PASCAL diline çeviren programlara derleyici adı verilebilir.
Diğer bir ifadeyle daha üst seviye bir dilden daha alt seviyeli bir dile tercüme olarak kabul edilebilir. Buna göre örneğin C dilinden Assembly veya makine dili gibi daha alt dillere tercüme ile derleyici kavramı daha da sınırlandırılmış olarak kabul edilebilir.
Derleyiciler günümüzde daha çok bir dilde yazılmış koddan, işletim sistemi ve donanım bağımlı kodların üretilmesinde kulllanılmaktadırlar.
GNU nedir? GPL (Genel Kamu Lisansı) Nedir?
Bu yazımda en çok karşılaşacağımız terimlerden biri hatta tüm yazılımlar için ortak bir özellik olan GNU lisansının ne anlama geldiğini de buraya eklemek istedim. GNU hakkında internette bir çok bilgiye ulaşabilirsiniz ancak bunların içinde en açıklayıcı olanı wikipedia kaynaklı olan aşağıdaki yazıdır.
GNU’nun açılımı, ‘GNU is Not Unix’tir. Yani GNU, ‘GNU, Unix değildir’ anlamına gelmekte olan özyinelemeli (rekürsif) bir kelimedir.
Richard M. Stallman, 1970’li yıllarda MIT (Massachusetts Institute of Technology)’nin Yapay Zeka laboratuvarlarında serbest yazılımı bir yaşam şekli olarak benimsemiş bir grupla beraber 1980’li yılların başına kadar yazılım geliştirici olarak çalışmıştır. Bu grup ile olan birlikteliğinin sona erişinin ardından kendisini o dönemlerde ivme kazanan bazı akımlardan dolayı benimsenmeye başlanılmış yeni bir sosyal sistem içerisinde bulmuştur, Stallman bir röportajında o günleri şu şekilde nitelendirmekte:
“Kendimi özgür olmayan (kaynak kodu kapalı olan) yazılımların hakim olduğu ve kullanıcıların yardımsız bırakıldığı, parçalanmış ve birlikte çalışmanın korsanlık olarak nitelendirildiği çirkin bir sosyal sistemin içinde buldum. Bu tür bir yaşantıyı reddettim. Ancak işimi özgürlüğe ve birlikte çalışmaya adadığım zaman yaptıklarımdan gurur duyabileceğime karar verdim.”
Ve 1984 yılında tamamen özgür yazılımların meydana getirdiği bir işletim sistemi ve işletim sistemine ait araçların geliştirilmesi çalışması böylece başlamış oldu. İşte bu çalışmanın adı GNU idi. Yazılan özgür yazılımların bir şemsiye altında toplanması için 1985 yılında yine Stallman tarafından FSF (Free Software Foundation) kuruldu ve GNU yazılımları korumak üzere GPL (General Public Licence- Genel Kamu Lisansı) adı verilen yazılım lisansı duyuruldu. GPL lisansı ile lisanslanan özgür yazılımların amaçları özgürlüklerini korumaktan başka bir şey değildir.
GPL (General Public Licence- Genel Kamu Lisansı)
GNU Genel Kamu Lisansı (GNU GPL ya da GPL) birçok yerde kullanılan ücretsiz yazılım lisansıdır ve özgün hali Richard Stallman tarafından GNU projesi için yazılmıştır. Bu lisansın en son sürümü (GPLv3), 29 Haziran 2007’de çıkmıştır. GNU Kısıtlı Genel Kamu Lisansı yani LGPL ise GPL’in bazı yazılım kütüphaneleri için yazılmış sürümüdür.
GPL’in Genel Nitelikleri
GPL lisans anlaşması, 1983 yılında Richard Stallman tarafından geliştirilmiş, çok akıllıca detaylarla bağlayıcılığı bulunan, teşvik edici, gerek kullanıcı gerekse üretici tarafa büyük olanaklar sağlayan bir lisans türüdür. GPL’in en çok üzerinde durduğu konu yazılımların kaynak kodu ile birlikte dağıtılmasının gerekliliğidir. Üretici firma yazılımını binary olarak dağıtsa bile kaynak kodunu da herkes tarafından erişilebilir bir yere bırakmak zorundadır. Kullanıcı, bu kaynak kodu alıp inceleyebilir, üzerinde istediği değişikliği yapabilir, kendi projelerinde, yazılımlarında kodun tamamını ya da bir parçasını kullanabilir. Hatta başkasının kod parçasını alıp birkaç değişiklik yapıp, satarak maddi kazanç da elde edebilir. Ama tek bir şartla, yeni üretilen program da GPL ile lisanslanmak zorundadır.
GPL, yazılımın ücretlendirilmesi hakkında hiçbir fikir beyan etmez. GPL yazılımları ücretsiz olmak zorunda değildir. Üretici firma ya da kuruluş, yazılımını GPL ile lisanslayıp, dağıtabilir ve karşılığında da bir ücret talep edebilir. Bu madde en baştan beri sözleşme içerisinde olmasına rağmen, GPL yazılımların çok büyük bir kısmı ücretsizdir. Genel yaklaşım yazılımdan değil, kullanıcıya sunulan kurulum, eğitim, yönetim ve ek modül yazma gibi süreçlerden para kazanılması şeklindedir. Bu özelliği ile GPL pek çok lisanstan ayrılmaktadır.
GPL’in Avantajları
Kullanıcı yazılımının içinde ne olduğunu bilir. Bazı üretici firmaların yaptığı öne sürülen arka kapı (backdoor) yerleştirme vakaları imkânsızdır. Bu özellikle askeri kurumlar için önemli olmaktadır. GPL ile lisanslanan yazılımın kaynak kodu ortada olduğu için gerekli inceleme yapıldıktan sonra rahatlıkla kullanılabilir.
Yazılım çok büyük bir kitle tarafından kullanılması sonucunda hataların keşfedilmesi ve yine çok büyük bir kitle tarafından geliştirildiği için düzeltilmesi süreci bazen dakikalarla sınırlı olur.
Üretici firma, kullanıcı kitlesini geliştirmek için büyük bir şans elde etmiş olur.
Kullanıcı yazılımda beğenmediği kısımları değiştirmekte hürdür. Bunu eğer kendisi yapamıyorsa bile yazılım çok büyük bir kitle tarafından kullanıldığı için, İnternet’te biraz aradıktan sonra büyük ihtimalle aynı yazılımın kendi istediği şekilde değiştirilmiş halini rahatlıkla bulur.
Üretici firma, dünyaca popüler bir GPL yazılımın üreticisi olarak büyük bir prestij elde eder. Referans listesinde onbinlerce kişi tarafından kullanılan bir programı geliştirmiş bir firma olmanın onurunu taşır. Bunun sonucunda bir sonraki geliştirdiği yazılıma dışarıdan bakışlar daha profesyonelce olur ve firmanın ismi duyulduğu için de hedef kitle daha büyük olur.
BSD gibi lisansların aksine GPL bir yazılımdan türetilen yazılım da GPL olmak zorunda olduğu için geliştiricinin kodunun çalınması riski yoktur.
GPL bir yazılımın kodunun üzerinde oynayan kişi sayısı bazen binleri bulmaktadır. Bu nedenle programlar çok hızlı bir şekilde çok büyük bir kitle tarafından geliştirilir. Bu da yazılımın kalitesinin artmasında büyük bir rol oynar.
GPL, yazılım sektöründe bir rekabet ortamı yaratmayı sağlar. Ücretli ve kapalı kod olarak sunulan yazılımların ücretsiz ve açık kodlu olanlara nispeten çok daha kaliteli olmasının gerekliliği ortaya çıkar. Bu da yazılımların kalitesini artırır ve sektörün ütopik tam rekabet piyasasına olabildiğince yaklaşmasını sağlar. Sektörü sadece arz değil, talep de yönlendirmeye başlar.
Kullanıcı ürünün gelişmesi için üretici firmaya bağımlı kalmaz. Özellikle kritik uygulamalarda kullanılan bir yazılımı üreten firmanın batması veya artık yazılıma destek vermemesi durumunda mağdur kalmaz. Kaynak kodu ortada olduğu için kullanıcı istenirse kendi bünyesinde isterse destek alarak yazılımı geliştirmeye devam edebilir.
GPL’in Dezavantajları
GPL ile lisansladığınız yazılımların başkaları tarafından değiştirilerek geliştirilen türevlerinin elde ettiği gelire yönelik maddi bir talepte bulunamazsınız. Kamuya açtığınız kodları kullanan türev yazılımların ticari süreçlerde kullanılması durumunda karşı tarafı bir çeşit rüçhan/gelir paylaşımı anlaşması imzalamaya zorlayan Mozilla Kamu Lisansı, bu gibi durumlarda önerilebilir.
IDE NEDİR ?
Öncelikle IDE nedir bu konuda biraz bilgi vereyim. IDE “integrated development environment”, “integrated design environment ” veya “integrated debugging environment” gibi açılımlara sahip yazılım geliştiricilerinin proje geliştirmesinde onlara yardımcı olan yazılımlara denir.
Bir IDE yazılımını basit bir metin editöründen farklı kılan özelliklerin önemlilerini sıralayacak olursak.
Kaynak kod editörü : Basit metin editörlerinden farklı olarak kodları kullandığınız dile göre belirten (highlight) bir editörtür.
Derleyici ve Yorumlayıcı içermesi : Kaynak kodlarını bu sayede IDE üzerinde çalıştırabilirsiniz zamandan kazanmanız açısından size yardımcı olur.
Debugger (Hata Ayıklayıcı) : Adından da anlaşılacağı üzere programda herhangi bir hata var mı kontrol etmenize yarayan araç.
Önceden de söylediğim gibi bir IDE, yazılım geliştiricisinin işini kolaylaştıran çoğu bileşenden oluşur.
Son Yorumlar