29 Eylül 2017 Cuma


IDE Nedir? (Integrated Development Environment – Tümleşik Geliştirme Ortamı)


IDE bilgisayar programcılarının hızlı ve rahat bir şekilde program 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.
Tümleşik geliştirme ortamlarında olması gerekli en temel özellikler aşağıdaki gibidir:
Programlama diline göre sözdizimi renklendirmesi yapabilen kod yazım editörü.
Kod dosyalarının hiyerarşik olarak görülebilmesi amacıyla hazırlanmış gerçek zamanlı bir dizelge.
Tümleşik bir derleyici, yorumlayıcı ve hata ayıklayıcı.
Yazılımın derlenmesi, bağlanması, çalışmaya tümüyle hazır hale gelmesi ve daha birçok ek işi otomatik olarak yapabilmek amacıyla küçük inşa araçları.
En bilinen tümleşik geliştirme ortamları: Eclipse, Microsoft Visual Studio, Code::Blocks, Dev-C++, Anjuta, KDevelop, NetBeans…


DEĞİŞKEN VE SABİTLER
Çok az bir program önceki bölümde verdiğimiz örnek kadar basit olabilir.  Çoğu programda çıkış değerleri üretilmeden önce bir dizi hesaplamalar yapılır. Bu hesaplamalar esnasında verilerin geçici olarak saklanacağı alanların olması gerekir. C dilinde bu saklama alanlarına değişkenler denir.
Veriler program içerisinde değişken ve sabit biçimlerinde kaydedilir. Değişkenler değerleri değiştirilebilen verilerdir. Sabitler ise değişkenlerin aksine atama yapıldıktan sonra değeri değiştirilemeyen verilerdir. Değişken ve sabitler faklı boyut ve biçimde program belleğine kaydedilirler.

1) Veri Türleri


Bütün değişkenlerin ne çeşit veri tutacağını belirten bir türünün olması gerekir. Değişkenler gömülü sistemin kısıtlı belleğine kaydedilir. Bu yüzden gömülü sistemde değişken tanımlanırken gereksiz yere bellek alanı israf edilmemesi gerekir. Bu yüzden tasarımcı değişken bildirimi esnasında değişkenin türünü tayin etme konusunda hassas davranması gerekir.
C programlama dilinde üç tane temel veri türü bulunur.
  • char
  • int
  • float
Bu veri türlerin önünde  short, long, signed ve unsigned özel niteleyicileri kullanılarak  veri türlerinin türevleri oluşturulabilir.
İşaretsiz (unsigned) ön eki kullanılarak, verilerin değerlerinin sıfır ve sıfırdan büyük olması sağlanabilir. İşaretli ve işaretsiz verilerin bellekteki uzunlukları aynıdır. Fakat işaretsiz türdeki verilerin üst limiti, işaretli türündekinin iki katına eşittir.

a) Char Türü


Char türü  “0-9” ve “A-Z” gibi yazdırılabilir yada “enter,tab,yeni satır” gibi yazdırılamaz karakterlerden oluşur.
char veri türünü ve bellekteki kapladığı alanı aşağıdaki tabloda görebilirsiniz.

b) Int  türü

Tamsayıları ifade eder. int veri türünü ve bellekteki kapladığı alanı aşağıdaki tabloda görebilirsiniz.

c) Float Türü


Gerçek sayıları ifade eder. double ve float olmak iki şekilde tanımlanır. float veri türünü ve bellekteki kapladığı alanı aşağıdaki tabloda görebilirsiniz.

2) DEĞİŞKENLER

a) Değişken Bildirimi

Bir değişkenin programda kullanılabilmesi için program içerisinde bildiriminin yapılması gerekir. Değişkenin bildirimi, değişkenin türünü ve boyutunu gösteren özel amaçlı bir sözcük ve bir tanımlayıcı ile yapılır.

b) Değişken Kapsamı


Değişkenlerin programda kullanılabilmesi için programın başında bildirimlerinin yapılması gerekir. Bir değişkenin kapsamı program içerisindeki erişilebilirliğidir. Değişken program içerisinde yerel yada genel olarak tanımlanabilir.
  • Yerel Değişkenler: fonksiyon tanımlandığı zaman, fonksiyon tarafından ayrılan bellek alanıdır. Bu değişkenler sadece tanımlandığı fonksiyon içerisinde anlamlıdır ve diğer fonksiyonlar tarafından kullanılamaz. Derleyici yerel değişkeni yalnızca tanımlandığı fonksiyonun bir parçası olarak gördüğü için, farklı fonksiyonlarda aynı isme sahip yerel değişkenler tanımlanabilir.
  • Genel Değişkenler: Derleyici tarafından ayrılan bellek alanları olup, bütün fonksiyonlar tarafından kullanılabilir.

3) SABİTLER


Sabitler program boyunca değeri değiştirilemeyen nesnelerdir. Sabitler birçok durumda derleyici programın parçası gibi davranırlar ve  RAM’den ziyade ROM da saklanırlar.
X+5  atamasında “5” bir sabittir ve derleyici tarafından doğrudan toplama işlemine sokulur.
printf (“selam”); ifadesinde “selam” metni program belleğine yerleştirilir ve değeri değiştirilemez.
Programlayıcıda const özel sözcüğünü kullanıp sabit bildirimi yapabilir. Sabit bildiriminde const özel sözcüğü ile birlikte tanımlayıcı ismi, türü ve değeri belirtilmelidir.
constant  unsigned char k =80;
Bir nesneyi sabit olarak tanımlamak nesnenin kısıtlı depolama alanı bulunan RAM yerine program kodunda saklanmasını neden olur. Bu ise sınırlı RAM alanının korunmasına yardımcı olur.

a) Sayısal Sabitler

Sayısal sabitler, sayısal tabanlarını göstermek ve programı daha okunabilir hale getirmek için farklı şekillerde bildirimleri yapılabilir. Örneğin sabitleri aşağıdaki gibi bildrimlerini yapabilirz.
float türünde olan 32 sabitinin gösterimi aşağıdakilerden biri olabilir

b) Karakter Sabitleri

Karakter sabitleri “0-9” ve “A-Z”gibi yazdırılabilir yada “enter,tab,yeni satır” gibi yazdırılamaz karakterlerden oluşur. Yazdırılabilir karakter sabitleri tek tırnak içerisinde gösterilir(‘C’).  Ayrıca karakter gösterimi ters slash ile birlikte temsil edilen sekizlik veya onaltılık değerlerini yazılarak da yapılabilir.
K karakterinin sekizli gösterimi ‘\113’  , onaltılık gösterimi ‘\x4B’ dir.
Ters slash ile tırnak karakterlerinin gösteriminde ise bu karakterlerin önüne ters slash konulur. Örneğin tırnak için gösterim ‘\’, ters slash için gösterim’\\’ şeklindedir.

4) Tür Dönüştürme


Bazen programda tanımlanmış bir türün farklı türlere çevirme ihtiyacı doğabilir. Bu durumda tür dönüştürücüler kullanılarak var olan bir tür istenilen türe dönüştürülür.
Gösterimi dönüştürülecek türün parantez içerisinde yazılması ile şeklindedir.

5) Sabit ve Değişken İsimleri

Sabit Ve Değişken İsimleri verilirken bazı kurallara uyulmak zorundadır. Bunlar
  • Değişken ve sabit isimleri en fazla 32 karakterden oluşabilir. 32 karakterden uzun isimlerde ilk 32 karakter kayda alınır . Geriye kalan karakterler işleme tabi tutulmaz.
  • Değişken ve sabit isimleri alt çizgi, ingiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) ,  rakamlar (0-9) içermelidir. Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz.
  • Değişken ve sabit isimleri herhangi bir rakam ile başlayamaz. İlk karakter bir harf veya alt çizgi olmalıdır. Sonrakiler rakamlardan oluşabilir.
  • C 'nin özel sözcükleri sabit veya değişken ismi olarak kullanılamaz.



28 Eylül 2017 Perşembe

C PROGRAMLAMA DİLİ'NİN TARİHÇESİ


C Dili’nin Tarihçesi

C Programlama Dili genel amaçlı yapısal bir programlama dilidir. C dili Dennis Ritchie tarafından 1972’de AT&T Bell Telephone Labaratuarlarında B dilinden geliştirilmiştir. C dili, B* ve BCPL** nin önemli genel kavramlarının çoğunu içerir. C dili konusundaki ilk kitap, 1978’de Brian Kernighan ve Dennis Ritchie tarafından yazılmıştır.
1983 yılında C programlama dili standardize etmek amacıyla toplanan bir komite ANSI C*** (American National Standart Institute) standardını tanımlamıştır.C başlangıçta birçok kişi tarafından UNIX işletim sistemini geliştiren dil olarak biliniyordu.(UNIX işletim sisteminin 1000 satırlık bölümü C ile yazılmıştır). Ama günümüzde hemen hemen bütün büyük işletim sistemleri C ya da C++ ile yazılmıştır. Ayrıca Nesneye Yönelik programlama dilleri (C++,Java ve C# gibi) ve script dilleri (JavaScript,JavaApplet,PHP gibi) gibi programlama dilleri tamamen C tabanlıdır.
C donanımdan bağımsız (machine independent) ve taşınabilirdir (portable). Taşınabilirlik,aynı programın farklı donanımlarda ve farklı işletim sistemlerinde işletilebilirliğini ifade eder. Örneğin, Windows işletim sisteminde yazılan bir C kodu, Linux,UNIX, veya VAX gibi işletim sistemlerinde de derlenebilir.
Bir dilin verimliliği (productivity), hızlı fakat fazla yer kaplamayan yazılımlar geliştirmeye olanak sağlaması ile ölçülür. C programlama dili verimli, basit ,fakat güçlü yapısından ve bu dilde geliştirilen uygulamaların taşınabilir olmasından ötürü yaygın olarak kullanılmaktadır.
* B dili 1970’de UNIX işletim sisteminin ilk versiyonunu oluşturmak üzere Bell laboratuarlarında geliştirildi.
** BCPL 1967’de Martin Richard tarafından işletim sistemi ve derleyici yazmak için üretilen bir dildir.

-C DERLEYİCİLERİ

          DERLEME KOMUTLARI
Bir C programı, tümcelere ek olarak, derleyici için komutlar da içerebilir. Derleyici komutları adı verilen bu komutlar, gerçek programın bir parçası değildir. Programda bulunan diğer tümcelerin çevirisini yönetirler.Bu komutlar her zaman numara sembolü (#) ile başlarlar. Programın herhangi bir yerinde, tek bir satırda, yalnız başlarına olmalıdırlar.

CSU DSU NEDİR?

CSU DSU kanal hizmet birim ve aygıt hizmet birimi simgeler. Yönlendirici bir çeşit dijital devre için bağlanmak için kullanılan bir dijital tip cihazdır.

github-logoNEDİR?






Github versiyon kontrol sistemleri için(örneğin Git) uzak bir depo(repository)dur. Uzak depo demek, bir havuz olarak da düşünülebilir. Birçok yazılımcının bir araya geldiği, bir projenin kopyası üzerinde çalışarak projenin alt sürümlerini çıkardığı ya da çeşitli ihtiyaçlarını giderdiği ve yaptığı değişikliği havuza gönderdiği bir sosyal kodlama alanıdır. 
GitHub üzerinde yapılmış bir projenin bir kopyasını alıp, bilgisayarınızda çalışıp yaptığınız değişiklikleri proje sahibine GitHub sitesi üzerinden gönderebileceğiniz gibi, sizde bir hesap oluşturarak GitHub üzerinde proje oluşturabilirsiniz. Github kullanabilmek için sitesinden hesap oluşturmanız gerekiyor. Bazı terimleri de bilmemiz gerekiyor. Repository, branch ve fork gibi. Respository dediğimiz, GitHub üzerinde bulunan her bir projemizdir. Branch ‘ı, repository’lerimizin(projelerimizin) farklı modülleri olarak düşünebiliriz. Fork etmek demek ise, başkasının oluşturduğu bir repository’i, kendi repository’imiz olarak kopyalamak (ayrıca bilgisayarımıza da klon etmeye hazır hale getirmek) demektir.


Git Subversion NEDİR?


Git bir versiyon kontrol sistemidir. SVN olarak da adlandırılan bir sistemdir. SVN, SubVersioN(alt sürüm) kelimesinin kısaltılmış halidir.
Peki bir SVN sistemi olan Git ne işe yarar? diyebilirsiniz..
Bir dosya üzerinde tek başınıza ya da ekip olarak çalıştığınızı düşünün. Siz ya da ekibiniz küçük veya büyük fark etmez, aynı dosya ile çalışmak ve hızla ilerlemek zorundasınızdır. Bu çalışmanızda en fazla sıkıntı veren durum ekipteki kişilerin yaptığı düzenlemelerin, yine ekipteki birisinin yaptıklarıyla çakışmasıdır. Sizin yaptığınız bütün değişiklikler, diğer ekip üyesinde var olmayacağı için o dosyayı farkında olmadan sizin yaptıklarınızın üzerine atar ve bir anda tüm yaptıklarınız ezilir, kaybolur. Aynı şekilde tek başınıza çalışıyor da olabilirsiniz. Mutlaka başınıza gelmiştir. Çalıştığınız dosya da bir değişiklik yapıp kaydettiğinizde ve sonrasında o değişikliğe ihtiyacınız olduğunda geri dönememeniz ve o verinin kaybolması da aynı durumdur.
Bu sebeple Git gibi versiyon kontrol sistemleri de bu sıkıntıları gidermek için oluşturulmuştur. Her ekip üyesinin yaptığı değişiklikler ayrı ayrı ele alınarak, üst üste gelmeyen(çakışmayan) değişiklikler(örneğin aynı satırda yapılmış değişiklikler) yoksa kolayca birleştiriliyor. Eğer üst üste gelen(çakışan) satırlar varsa bu konuda yardımcı olarak kolayca birleştirmemize yardımcı oluyor. Fakat dosya üzerinde yapılan tüm değişiklikleri, saklayarak ta istenildiğinde görülebilmesini ve istenilen revizyona geri dönülebilmesini de sağlıyor.
Kısaca yazılımcılar için olduğu kadar bir belge üzerinde sürekli revizyon yapanlar içinde geçmişe yönelik revizyonları tutan bir sistemdir.
Yazılımcılar için kodlamada yaptığınız bir değişikliği sonradan tekrar geri almak istediğinizde ya da önceki hali ile olan farkını görmek istediğinizde bunu sizin için yöneten harika bir sistemdir.

GCC NEDİR?


GCC bir C derleyicisidir. GCC, GNU araç zincirinin önemli bir parçasıdır.
gömülü platformlarda kullanılabilir. Unix benzeri işletim sistemleri tarafından standart derleyici olarak benimsenmiştir.

MinGW NEDİR?

 C/C++ programlama dilinin compilerıdır.


VMWare Workstation Nedir?

VMware yada  VMWare Workstation sanallaştırma amacıyla kullanılan bir programdır. 1998 Yılında piyasaya sürülen bu programı üreten VMware şirketinin merkezi ABD’nin Kalifornia eyaletinde bulunmaktadır.
VMWare Workstation uygulaması yada programı Microsoft Windows, Linux ve Mac OS X işletim sistemleri üzerinde çalışmaktadır.
Programın temel amacı deneysel amaçla işletim sistemleri ve sunucuların testi ile bir fiziksel bilgisayara birden fazla sanal makine kurulumudur. Özellikle sistem alanında uzmanlaşmak isteyenlerin tercih ettiği bir program türüdür.

LİBERKEY NEDİR?

USB belleğini kullanışlı programlarla doldurmayı seven; fakat hepsini teker teker kurmakla uğraşmak istemeyenler LiberKey ile tam istediklerine ulaşabilecek.
LiberKey, USB belleğinizi için devasa bir program arşivi sunuyor. Bu sayede dışarıda karşılaşabileceğiniz durumlar için hazırlıklı olabilirsiniz. Set, sadece ücretsiz programları kullanıyor.
LiberKey taşınabilir program seti, sadece içerdiği araç sayısıyla birbirinden ayırt edilen üç farklı sürüm şeklinde sunuluyor: 200 programlı Ultimate sürüm, 100 programlı Standard sürüm ve en önemli araçlardan oluşan 30 programlı Basic sürüm.
USB belleğiniz için 200 MB araç
Hepsi dışarıda kullanım için ideal: Set, Office programlarından sistem araçlarına, multimedya programlarından web tarayıcılarına kadar birçok kategori sunuyor. Buna ek olarak LiberKey, programları hemen bulup başlatabileceğiniz bir hızlı başlatıcı (Quick Launcher) sunuyor. "File | Options" yolunu takip ettiğinizde program setini Türkçeye de çevirebilirsiniz.

Tam donanımlı Ultimate sürümün kurulum dosyası 200 MB civarında; USB belleğe açıldıktan sonra ise 500 küsür MB yer kaplıyor. Zayıflatılmış standart sürüm ise en önemli programları içeriyor ve kurulum dosyası boyunu 50 MB.


VirtualBox Nedir, Nasıl Kullanılır?

VirtualBox, bir sanallaştırma yazılımıdır. VirtualBox; ekran kartı, işlemci gibi araçların yazılımsal olarak taklit edilmesiyle, işletim sisteminin bir başka işletim sistemi üzerinde sanal olarak kullanılmasına olanak tanır.

VirtualBox Ne İşe Yarar ?

VirtualBox aslında kullanıcının ihtiyacına ve kullanım amacına göre pek çok sebeple indirilebilir. Fakat sanal makinelerin en önemli avantajları büyük bir güvenlik sağlıyor olmalarıdır. Çünkü sanal makinen sağladığı kaynağı kullanan yazılım, içinde bulunduğu sanal ortamın dışına çıkamaz. Sanal olarak çalışan işletim sistemi (guest) üzerinde yapılan işlemler sanki farklı bir bilgisayarda yapılıyormuş gibi ev sahibinde (host) bir değişikliğe sebep olmaz. Bu sayede sanal makineye bir virüs ya da tehlikeli yazılım bulaştığında bu durumdan ana makine etkilenmemiş olur. Tabi bu noktada iki sistem arasındaki paylaşım dosyalarına dikkat etmeniz gerektiğini de hatırlatalım.

RSS NEDİR?


RSS çeşitli internet siteleri tarafından yayınlanan haber vb. içeriğin tek bir ortamdan topluca izlenebilmesine olanak sağlayan yeni bir içerik besleme yöntemidir. RSSReal Simple Syndication, RDF Site Summary veya Rich Site Summary (Zengin Site Özeti) kelimelerinin baş harflerinden oluşan kısaltmadır. XML biçiminde olan RSS dosyaları ilk olarak NetScape firması tarafından geliştirilmeye başlanmıştır. RSS dosyalarının kullanımı her geçen gün artarak yaygınlaşmaktadır.RSS yöntemini destekleyen sistelerin hazırladıkları XML biçimli dosyalara bir çok programla erişmek mümkündür. XML okuyucusu olan bu programlar, web gezgini veya e-posta istemcisi olabileceği gibi sadece RSS içereriği izlemek için hazırlanan masaüstü programları da olabilir.
RSS ikonunu () gördüğünüz herhangi bir yerde, RSS verilerini RSS istemcinizi kullanarak alabilirsiniz.
Genel olarak, RSS verilerini, XML dosyaları olduğu için Internet Explorer içinden görebilirsiniz. Ancak sayfayı devamlı yenilemek ve RSS verilerini bu şekilde izlemek çok da verimli bir yöntem değildir. Bunun için pek çok insan, bazı RSS istemcileri kullanarak RSS verilerini takip eder. RSS veri "toplayıcıları", RSS verilerini toplamanız ve takip etmeniz için uygun arabirim sunarlar.


Ajax Nedir?



Internette ajax ile ilgili yüzlerce makale bulunuyor, fakat bir tool yada karsilasilan bir hata ile ilgili arama yaptigimizda yüzlerce baslik arasinda kayboluyoruz çogu zaman. Bu yüzden Ajax ile en basitten baslayip tüm içerigi kapsayacak seriler halinde makaleler yazmayi, ve bu makalelerde de karsilasilan hatalari, kullanilan örnekleri, .. vs. derleyip tek kaynaktan kolay erisim imkani sunmayi amaçliyoruz. Bu ilk Makalede adettendir deyip ajax nedir ile basliyoruz.
Ajax etkili ve  interaktif web projelerini çabucak  yapmanizi saglayacak, tüm popüler web browserlarda çalisan ücretsiz bir frameworktür. Asynchronous JavaScript And XML kelimelerinin kisaltmasidir. Aslinda ajax HTML / CSS/ DOM / JavaScript XML / XML/HttpRequest gibi birçok bilesenin birlestirlmesiyle gelistirilmis bir teknolojidir. Bu düsünce önce JSP gelistiricileri tarafindan ortaya atilmis daha sonra da Microsoft tarafindan desteklenmistir. Microsoft ilk önce bunu ATLAS olarak gelistirmis daha sonra da ASP.NET AJAX olarak destegini sürdürmüstür. Yani “Ajax; ne Bir Dil, ne de Bir Kütüphane Degildir. Ajax Sadece Bir Yöntemdir”.
Ajaxda, daha önceden var olan JavaScript ve XML dillerini, web tarayicisinda bulunan XmlHttpRequest nesnesi ile birlikte kullanir. Peki, bu bize ne saglar? Istekler XmlHttpRequest ile gönderilince sunucu ve istemci arasinda tasinan veriler sikistirilmis olur ve aradaki bant genisligi bos yere isgal edilmemis olacagi için ayni anda yapilan birçok islemde daha fazla perfonmans kazancimiz olur.


Delphi Nedir ?
Delphi bir programlama ortamıdır.Programlama dili olarak pascalın nesne yönelimli(object oriented) uzantısı olan Object pascal dilini kullanmaktadır.Object pascal kolay anlaşılır bir dile, hızlı derleme gücüne ve modüler programlama için gerekli tüm komutlara sahiptir.Object pascal delphinin IDE si ile birlikte daha anlaşılır bir yapıya kavuşturulmuştur.IDE tümleştirilmiş uygulama geliştirme ortamı demektir.Aşağıdaki gördüğünüz görüntü delphinin idesidir.

Delphi bir Raddır.Rad (Rapid Application Development) hızlı uygulama geliştirme demektir. Rad sistemli programlama ortamlarında text tabanlı programlama ortamlarına göre program yazmak çok daha kolaydır.Rad ortamında Hazır formlar, bileşenler bulunmaktadır.
Formumuzun tasarımını görsel bir ortamda resim çizer gibi yapıyoruz.
Text tabanlılarda ise görsel bir ekran yoktur.Notepadde yazı yazar gibi program yazarsınız.

Şu an delphinin en son sürümü Delphi .net 2005 dir.Ben .net teknolojisini destekleyen sürümünü değil de win32 uygulamaları yapabileceğimiz delphi7 yi anlatacağım. .net yeni bir teknolojidir. .net de yaptığınız programları çalıştırmak için .net framework un işletim sistemine kurulması gerekir.
Delphi 7nin de birçok sürümü bulunmaktadır.Bunlar Personal , Profesyonel , Enterprise ve Architect sürümleridir.
Personel sürümü yeni başlayanlar ve sıradan programcılar içindir.Bunda yazdığınız programı ticari olarak satamazsınız.Diğer sürümlere göre bileşen sayısı azdır.
Profesyonel sürümü bütün temel özellikleri ve bunlara ek olarak genişletilmiş veritabanı desteği, biraz internet desteği ve harici programların bazılarını içerir.
Enterprise sürümü büyük şirket uygulamaları geliştiren programcılar içindir.Eski adı Client/server suitedir.
Architect sürümünde Enterpriseden farklı olarak BoldSoft'un Bold for Delphi ürünü yer almaktadır.

Burada anlatacağım bilgiler çoğu delphi sürümünde bulunmaktadır.
Delphiye giriş

Delphi karşımızda.Üstünde Form1 yazan pencere bizim programımızdaki formdur. Hemen Run diyelim veya F9 tuşuna basalım ve programı çalıştıralım.Form1 penceresi çalışacak ve karşımıza Windows uyumlu programımız gelecektir.Bunu text tabanlı programlama dillerinde yapmak için birçok kod vs yazarız.Fakat Delphi visual basic Borland c++ gibi görsel dillerde bu gördüğünüz gibi kolaylıkla gerçekleşmektedir.

Şimdi Delphiyi biraz inceleyelim.Üstte delphinin klasik Windows uygulamalarındaki gibi bir menu çubuğu bulunmaktadır(Main window).Onun hemen altında araç çubukları bulunmaktadır.Programımızı kaydetmemizi, çalıştırmamızı, durdurmamızı sağlayan kısayolların bulunduğu araç çubuklarını görüyorsunuz.
Burda standart , additional gibi sekmeleri olan araç çubuğu bizim component (bileşen) paletimizdir. Componentler bir takım özel işlevler için hazırlanmış Windows uygulamalarındaki nesnelerdir. Yukardaki resimde Standart sekmesi altındaki bileşenler gözükmektedir.Windows uygulamarında gördüğümüz birçok bileşen burada bulunmaktadır

İnternette delphide kullanılabilen free veya paralı birçok bileşen mevcuttur.Delphi bileşen desteği ile kendisini kanıtlamıştır.

Ek bilgi:Componentleri bileşen paketine sağ tıklayıp propertiese tıklayarak ve buradan ayarlamalar yaparak özelleştirebiliriz.
Add=Ekle
Delete=sil
Rename=Yeniden adlandır.
Move up -move down=Yukarı çıkar -aşağı indir.

Object treeview programımızdaki bileşenleri göstermektedir.Bize hangi bileşenin hangi bileşenin üzerinde olduğunu da gösterir.Mesela aşağıdaki resimde grup kutusunun üstünde radyo butonları olduğu gözüküyor.


Object inspector seçilen nesnelerin özelliklerini ve olaylarını bize gösterir ve kullanmamızı sağlar.Properties(Özellikler) Events(olaylar).Propertiesleri programımızda tasarım aşamasında değiştirebiliriz.Mesela object inspectorde form1 seçili iken Caption özelliğine İsmimizi yazalım.Programı çalıştırdığımızda Formumuzun başlığında sizin caption özelliğine yazdığınız yazı gözükecektir.Bu özelliklere ilerde değineceğim.

Eventslarda bu bileşenlerin olaylarıdır.Yani bir durum gerçekleştiğinde buradaki komutlar çalışır.Örneğin Bir butona tek tıklanması bir olaydır.Çift tıklanması farklı bir olaydır.Programınızı bu olaylarla yöneteceksiniz.
Yukardaki resimde olayları görebilirsiniz.Açılır kutuda form1 seçili olduğu için form1in olaylarını görüyorsunuz. Mesela onclose olayı formun kapanması anında gerçekleşecek olaydır.Bu olaya komut yazarak Program kapanırken güle güle gibi bir mesaj kutusu açılmasını sağlayabilirisiniz.

Kod editöründe
procedure TForm1.FormCreate(Sender: TObject);
begin

end;
yazısını görüyorsunuz.Procedure alt progr*****lardır.Burdaki Tform1 in Formcreate olayının prosedürüdür.Form açılış olayı geçekleşmeden buradaki yazdığımız kodlar gerçekleşecektir. Begin ve End bloğu kodların başlangıcını ve bitimini temsil etmektedir.Kodlar bu blok arasına yazılır.bunları ileride daha detaylı inceleyeceğiz.Yukardaki yazıları delphi kendisi oluşturur.(Object inspectorde herhangi bir olaya çift tıklayarak)
Kod tamamlama
Kod editörü bize büyük bi kolaylık sağlamaktadır.Ctrl + space tuşuna bastığımızda bize kodları göstermekte , istediğinizle tamamlamaktadır.

Komut parametreleri
Ctrl+Shift+space tuşu da parametreleri göstermektedir.Parametre Fonksiyon veya Procedure kullanırken parantez içine gireceğimiz fonksiyon veya procedurenin kullanacağı değerlerdir.
Örnek vermek gerekirse Topla(10+20); Burada 10 ve 20 birer parametredir

Kod şablonları
Ctrl+J ikilisi de önceden tanımlı ve object pascal yapıları gibi yapıların kod penceresine otomatik olarak eklenmesine olanak tanıyan bir özelliktir.
Mesela Ctrl+j yapalım ve görüntüye bakalım


Şekil:ctrl+j
Burada kodların kısaltmalarını görüyorsunuz.Örneğin ifbye tıkladığımızda bize

if then
begin

end;

Kodlarını otomatikmen eklemektedir.

Kod editöründeki kısayollar;

F9
Programı derle ve çalıştır
F8
Programı adım adım çalıştırır
F7
Programı adım adım çalıştırırken, ilgili rutine dallanır.
Ctrl + S
Unit'te yapılan değişiklikleri kaydeder.
Shift + Ctrl + S
Açık olan tüm unitlerdeki değişiklikleri kaydeder.
Alt + F11
Use Unit... penceresini açar. Bir unitten diğer forma referans veriyorsanız, ilgili formu Uses kısmında tanımlamanız lazım. Bu pencereden proje içindeki unitlerden istediğinizi seçip, tanımlama işini otomatik yaptırabilirsiniz.
Ctrl + F
Arama ekranını açar
Ctrl + E
Artan arama yapar. Bu tuşlara baştıktan sonra kelimeyi yazın. İlgili kelime varsa bulunur.
F3
Arana kelimenin bir sonraki geçtiği yeri bulur
F10
Menülerin ve bileşenlerin olduğu ana pencereyi gösterir.
F11
Object Inspectoru gösterir.
F12
Formla, kod arasında geçiş sağlar.
Shift + F12
Formları açmak için form listesini görüntüler.
Ctrl + F12
Unitleri açmak için unitleri listeler
F1
Üzerinde bulunduğunuz bileşen veya kelime ile ilgili yardımı açar.
Ctrl + Shift + I
Seçili kodu blok halinde sağa kaydırır.
Ctrl + Shift + U
Seçili kodu blok halinde sola kaydırır
Ctrl + Shift + C
Bir rutini tanımladıktan sonra gövdesini oluşturmak için
Ctrl + F4
Dosyayı kapatır.

********************

Forma bileşen ekleme yöntemleri:
Forma bileşeni eklemek için birkaç yöntem vardır. Bileşenin üzerine çift tıklarsak bileşen formun merkezine eklenir.
Bileşenin üzerine tıklayıp formda görmek istediğimiz yere tıklayarak veya çizerek ekleyebilirsiniz..
Bir bileşenden birden fazla eklemek istiyorsak o bileşeni shift tuşu ile seçeriz. Daha sonra istediğimiz yerlere tıklarız.Eklememiz bittiğinde bileşen paletindeki fare simgesine tıklarız.

*Form üzerinde bileşenlerin yerlerini ayarlamak için fareyi kullanabiliriz.Hassas ayarlar için de Ctrl tuşuna basılı tutarak yön tuşlarını kullanabilirsiniz.
*Form tasarımı bittikten sonra bileşenlerimizin yerinin değişmemesini istiyorsak Edit menüsünden Lock controls seçeneğini seçmelisiniz.


Olaylara gitmek
Forma bir buton ekleyelim.Object inspectorden seçili olan bileşenin olayına gitmeye çalışalım.formdaki butonumuzu açılır kutudan seçip Eventsa tıklayalım.

Eventse tıkladığımızda olayları göreceğiz.Burdan hangi olaya gitmek istiyorsak onun yanındaki bölüme çift tıklarız.ve kod editörü o olayı kendisine ekleyip kendisini bize gösterir.
Onclick olayına çift tıklayarak bu işlemi yapalım.ve Begin end arasına
Kod:

Showmessage(‘Merhaba’);

yazalım.Daha sonra programımızı çalıştıralım.(F9).butona tıkladığımızda bir pencere açılacak ve merhaba yazacaktır.
Pencereyi kapattığımızda delphideki programımız sonlanır.Veya sonlandırmak için delphi menüsündeki run dan program resete tıklarız.

Şimdi butona tıklayıp object inspectorden propertiesine girelim.Captionuna Tıklayın yazalım.Entere bastığımızda Butonun üzerinde tıklayın yazacaktır.Tasarım esnasında bileşenlerin özelliklerini bu şekilde değiştirebiliriz.Programın çalışma esnasında da bu mümkündür.
Butonun Tıklanması olayına
Button1.caption:=’Ceylan’; yazdığımızda butonun caption özelliğini ceylan yapmış oluruz.
Burada button1 butonumuzun ismidir.Delphi kendisi otomatikmen eklenen bileşenlere isim verir.Biz bu ismi değiştirebiliriz.Butona tıklayıp name ini ceylan yaptığımızda bu butonun caption özelliğine ceylan.caption ile erişebiliriz. “:=” bir özelliği bir değeri değiştirmek için kullanılan operatördür. “ ‘ ‘ “ bölümü ifadenin string bir ifade olduğunu gösterir.String bir değişken türüdür.Bunları ilerde göreceğiz. “;” kodların sonuna yazılmaktadır.O komutun bittiğini gösterir.

Olaylara gitmenin farklı bir yolu da bileşenin üzerine çift tıklamaktır.Bu yöntemle bileşenin varsayılan olayına gidebilirsiniz.Componentlerin varsayılan olayları en çok kullanılan olaylardır.Mesela butona çift tıkladığınızda butonun tıklanması olayına gider.


Biraz delphi menüsünden bahsedelim.
File osya menüsü dosya kaydedeceğimiz açacağımız Yeni dosya oluşturacağımız vs bölümdür.
Yeni menüsünün altında:
Application: Yeni bir uygulamadır.Varolan uygulamadan çıkılır yeni uygulama açılır.
Form: yeni bir form eklenir.
Frame: Yeni bir çerçeve eklenir.Çerçeve de form gibidir.Formların içine eklenebilirler.
Data Module:Genelde veritabanı bileşenlerinin eklendiği yerdir.
Şimdilik bunları bilmek yeterli.İlerlerde işimiz oldukça diğerlerini de öğrenebiliriz.
Save Save as ı falan anlatmak istemiyorum.Artık onları pek bilmeyen kalmadı.
Delphinin dosya uzantılarından biraz bahsedelim.

PAS Pascal dosyası Her bir unitin kaynak kodlarını içeren dosya.Delphide oluşturulan formlara ait kodlar pas uzantılı dosyalarda saklanır.
DPR Delphi Proje Dosyası Programımızı delphide açmak için olan dosyadır.
DCU Delphi Compiled Unit Derlenmiş unit dosyaları bu uzantı ile kaydedilir.
DFM Delphi Form File Form dosyalarıdır.Form ve formdaki bileşenlerin özellikleri bu dosyaya kayıtlıdır.
DOF Delphi Options File Proje seçeneklerinin mevcut ayarlarını içeren bir metin dosyası. Geliştirme sırasında oluşturulur.
DSK Masaüstü dosyası Bu dosya pencerelerin konumları,editördeki açık dosyalar ve diğer masaüstü ayarları hakkında bilgiler içerir. Projeyi yeni bir dizine kopyalarken silmeniz gerekir.
RES Resource (Kaynak) dosyası Proje ile ilgili kaynakları (genellikle simgesini) içeren binary dosya.
BPG Borland Project Group Birden fazla projeyi aynı anda derlemek için kullanılır. Project manager tarafından kullanılır
CFG Proje seçeneklerini içeren ayar dosyası. Sadece özel derleyici seçenekleri ayarlandığı zaman oluşur.
DPK Delphi Package Bir paketin kaynak kodunu içerir.


Evet delphideki dosya uzantılarımız bunlar.Delphideki programımızı nasıl exe uzantılı Windows uygulaması haline getireceğiz?
F9 tuşuna bastığımızda bunu delphi , programımızın kayıtlı olduğu yere otomatikmen exe uzantılı hale getirir.İstediğimiz yere exe uzantılı dosyanın kaydetmesi için ne yapacağız?
Project optionsu bir inceleyelim.Cevabınızı bulacaksınız.Menüden . Project->options.

Sekmelere biraz göz atalım
Forms: Formlarla ilgili ayarları yapabilirsiniz.Main form programın ilk açılışında çalışacak formdur.Auto create forms Otomatik olarak programınız çalıştığında oluşturulacak formlardır. Bu formlar belleği meşgul eder.Belleği meşgul etmek istemiyorsak bu formları Available forms bölümüne taşıyıp formları program içerisinde çağrılması gerektiğinde oluşturabiliriz.
Application:
Title : Buraya uygulamanızın başlığını yazın. Bu başlık görev çubuğunda ve diğer Windows pencerelerinde uygulamanızın başlığını belirler.
Help File (Yardım dosyası) : Eğer uygulamanızın bir yardım dosyası var ise ismin buraya yazın veya Browse... butonuna basarak seçin.
Icon (Simge) : Uygulamanızın simgesini seçin. Bu simge projenizle aynı isimli .res dosyasında saklanır.
Target file extension : Uygulamanız oluşturulduğu zaman uzantısının ne olacağını belirlersiniz. Uygulamanız .exe uzantılı olacaksa burasını boş bırakın. Bir ActiveX uygulaması yapıyorsanız buraya .ocx, dll oluşturuyorsanız .dll yazmalısınız.
3. Compiler : Bu kısımda bir değişiklik yapmanıza gerek yok.
4. Compiler Messages (Derleyici Mesajları) : Projenizi derlemeniz ve delphide çalıştırmanız esnasında çıkan mesajları ayarlayabilirsiniz.
Show Hints : Derleme sırasında hint(ipucu)'leri göster.
Show Warnings : Derleme sırasında uyarıları göster. Bu seçeneği seçtiğiniz zaman aktif olan Warnings kısmından hangi uyarıların gösterilmesi istiyorsanız seçebilirsiniz. Gösterilmesini istemediğiniz uyarılar önündeki işareti kaldırın.
5. Linker : Bu kısımda bir değişiklik yapmanıza gerek yok.
6. Directories/Conditionals : Bu kısımda projenizin kullandığı ve oluşturduğu dosyaların konumunu belirtebilirsiniz.

Output directory : Uygulama dosyasının (.exe) konulacağı klasör. Biraz önce exe uzantılı olarak kaydetmeden bahsetmiştik.İşte burası.
Unit output directory : .dcu'ların kaydedileceği klasör.
Search path : Harici unit kullanmışsanız kullandığınız unitlerin bulunduğu klasörü burada göstermelisiniz.Yoksa hata verecektir.
Unit Aliases : Kullandığınız bir unit'in ismini değiştirmiş veya başka bir unit'le birleştirmiş olabilirsiniz. Bu durumda derleyici uniti bulamadığı için hata verecektir. Ancak burada “Unitin eski adı = Unitin yeni adı” şeklinde bir tanımlama yaparsanız, yeni isim dikkate alınır.
İPUCU : Bu kısımda yaptığınız ayarlarla hem dosyaların diskinizde daha düzenli dağılmasını, hem de yedekleme yaparken sadece gerekli dosyaları yedeklemenizi sağlayabilirsiniz. Projenize bir klasör açın ve Output Directory olarak bu klasörü verin. Proje klasörünüzün altına Source isimli bir klasör açıp tüm kodları buraya koyun ve Dcu isimli bir klasör açarak unit output directory olarak bu klasörü verin. Böylece sadece Source klasörünün yedeğini almanız yeterli olacaktır.
7. Version Info (Sürüm Bilgisi) : Bu ekranda uygulama dosyanıza sürüm bilgileri ekleyebilirsiniz. Sürüm bilgilerine dosyanıza sağ tıklayıp özelliklerini açtığınız zaman ulaşabilirsiniz. Sürüm bilgisi uygulamanızın dağıtımı takip için kullanılır



- Uygulamanıza sürüm bilgisi eklemek için “Include version information in project” seçeneğini seçin.
Major Version : Uygulamanızın esas sürümünü.
Minor Version : Uygulamanızın ikincil sürümünü gösterir. Uygulamanızda büyük değişiklik yaptığınız zaman bunu bir artırın.
Release : Programınızda değişiklikler yaptığınızda artırmanız gereken bölüm.
Build : uygulamanızın derlenme sayısını gösterir. Auto-increment build number seçeneğini işaretlerseniz bu sayı her derleme sonrasında otomatikmen artırılır.
Language : Bu kısımdan sürüm bilgisinin dilini seçebilirsiniz. Turkish olarak seçin.
Key/Value : bu kısımda da gösterilecek bilgilerin başlıkları vardır. Karşılarına değerlerini girin.
8. Packages (Paketler) : Eğer uygulamanızı sık olarak dağıtıyorsanız .exe dosyanızın mümkün olduğu kadar küçük olmasını istersiniz. Böylece kullanıcılar dosyayı kolayca indirip kullanabilirler.
Delphi'deki paketlerin bir kısmını uygulama dışında tutarak programınızın gerekli bilgileri bu .bpl dosyasından almasını sağlayabilir, boyunu küçültebilirsiniz. Ancak bu durumda kullandığınız .bpl dosyasını da kullanıcı bilgisayarına yüklemelisiniz.(bpl bileşenlerin kullandığı kaynak dosyalardır)
Paketleri uygulamanızın dışında tutmak için “Build with runtime packages” seçeneğini seçin ve istediğiniz paketleri seçin.


İPUCU : Eğer kullanıcılarınız aynı anda birden fazla uygulamanızı kullanıyorlarsa paketleri kullanarak hafıza ihtiyacını azaltabilirsiniz. Tüm uygulamalarınızı “Build with runtime packages” seçeneği ile derlerseniz, tüm uygulamalarınızın kullandığı paketler hafızaya sadece bir kere yükleneceğinden hafızadan kazanç sağlarsınız.

SVN nedir?


Uzun zamandır aklımda olan, uzun zamandır kullandığım ve anlatmak istediğim hayat kurtaran bir fikir: SubVersioN (SVN).
Subversion (SVN)

Subversion nedir ne değildir ne işe yarar biraz açıklamaya çalışacağım. Subversion bir sürüm takip sistemidir. Kısaca SVN olarak da adlandırılmaktadır.

SVN'i anlatmanın en kolay yolu bir örnek üzerinden gitmek. Bir proje geliştirdiğinizi düşünün. Ekibiniz küçük veya büyük farketmez, aynı dosyalardan çalışmak ve hızla ilerlemek zorundasınızdır. Bu tür çalışmalarda en fazla rahatsızlık veren durum her zaman takımdaki kişilerin yaptığı düzenlemelerin, yine takımdan birisinin yaptıklarıyla çakışmasıdır. Sizin yaptığınız bütün değişiklikler, bir başka kişide var olmayacağı için o dosyayı farkında olmadan sizin yaptıklarınızın üzerine atar ve bir anda tüm yaptıklarınız ezilir.

Bu gibi durumlarda ya takım arkadaşlarınızla çok iyi bir iletişime sahip olmalısınız ya da her zaman elinizde yaptıklarınızın yedeği bulunsun ki bir sürü zaman harcayarak çakıştığınız noktaları birleştirmeye uğraşın.

Tüm bunlar bir işkence değil mi?
O zaman SVN kullanabilirsiniz. Üstelik bir takım çalışması da olmak zorunda değil, tek başınıza çalışsanız bile. SVN basit olarak belirlediğiniz klasörleri, içindeki dosyaları versiyonluyor. Bir SVN sunucusu sayesinde (bu kişisel bilgisayarınız da olabilir) proje üzerinde yapılan en ufak değişiklik bile versiyonlanıyor ve veritabanına kaydediliyor. Ekip çalışanları bu dosyalara ulaşmak istediğinde bir SVN programı sayesinde dosyaları bilgisayarlarına çekip, çalışmalarını yapabiliyorlar. Güncelleme işlemi tamamlanınca tüm ekip uğraşmadan yeni dosyalara erişebiliyor.

Neler gerekli?

SVN Mac de dahil bir çok platformu destekliyor. Dilerseniz bir SVN sunucu yazılımını web sitesinden indirebilirsiniz.
Ekip çalışanları SVN sunucusundaki dosyalara erişmek için bir SVN yazılımı kullanmak durumdadırlar. Benim tercihim TortoiseSVN'den yana (Türkçe desteği yok ama kesinlikle tek geçerim).

Nasıl çalışıyor?


SVN üzerinde çalışma mantığı ise oldukça basit. SVN sunucusuna tanımlanan bir proje, çalışanlarda bulunan TortoiseSVN yardımıyla kendi bilgisayarına indiriliyor. Yani sunucudaki dosyaların birer kopyası çalışan insanlarda oluyor. Çalışan kişi dosyalarda istediğini değişikliği yaptıktan sonra TortoiseSVN yardımıyla dosyaları SVN sunucusuna atabiliyor. Böylece diğer çalışanlar SVN projesini güncellediğinde o kişinin yaptığı tüm değişiklikler onların da bilgisayarlarına yansıyor.
Eğer iki kişi aynı dosyada çalıştıysa ve bir şekilde çakışma yaşandıysa TortoiseSVN bu çakışmayı gidermek için elinden geleni yapıyor. Eğer değişiklikler dosyada aynı satırlarda değilse (mesela birisi en üstte, diğeri en altta çalışıyorsa), TortoiseSVN bunları rahatlıkla birleştirebiliyor. Eğer çalışma aynı satırlardaysa bu sefer bir uyarı alıyorsunuz ve size çakışan yerleri gösteriyor. Ancak birleştirme işlemini yapamadığı için size gösterdiği farklılıklardan birleştirmeyi sizin yapmanız bekleniyor, çok daha kısa süren bir işlem.

Kimler için?

İster bir ekip çalışması olsun, isterseniz tek başınıza çalışın her türlü web projesi için kullanmanız oldukça faydalı olacaktır. Versiyonlama sistemi saysinde çakışmaları engellediği gibi, geriye dönüp tüm yapılan değişiklikleri de görebiliyorsunuz. Bundan 2 ay önce yaptığınız, fakat kaybettiğiniz bir dosyayı SVN üzerinden çıkarmak oldukça basit.
Son olarak popüler çevirim içi geliştirme platformları SourceForge ve Google Code da SVN

LİNKER NEDİR?

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ışlardı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.
DEBUGGER NEDİR? NE İŞE YARAR?

Bilgisayar programcıları arasında oldukça sık kullanılan terimlerdir. Tam karşılıkları böcek ve böcekten arındırmadır. Bir programın umulmadık noktalarında hatalar varsa ve program zaman zaman yanlış çalışıyorsa, o programda BUG (Böcek) bulunduğuna ilişkin cümleler kullanılır. Bu hataların bulunarak düzeltilmesi sürecine DEBUG adı verilir. Bu deyimin bilgisayar terminolojisine girmesinin hikayesiyse oldukça ilginçtir.
MARK II elektromekanik bilgisayarı için 1950 li yıllarda program geliştiren Grace Hopper isimli ünlü kadın programcı, hatalı çalışan programındaki problemi bir türlü bulamamaktaydı. Uzun aramalar sonucunda, bilgisayarın röleleri arasında sıkışmış kalmış bir böcek ölüsünün bütün sorunların kaynağı olduğu anlaşılmıştı.
Buradan da anlaşılacağı gibi Debugger hata ayıklayıcı demektir. Derleyici programın arka planında çalışarak yazılan kodlar arasındaki hataları bulmaya çalışır.

Programlama Dili Nedir?


Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tek tipleştirilmiş yoludur. Şu ana kadar 2500’den fazla programlama dili yapılmıştır. Bunlardan bazıları Pascal, Basic, C, C#, C++, Java, COBOL, Perl, Python, Ada, Fortran, Delphi ve 1C Enterprise'dır. Bir programın çalışması demek, Mikroişlemciye daha önceden hazırlanmış bir kod yığınının gönderilmesi demektir. Bu kodlar işlemcinin anlayacağı ASM dilinde yazılmış kısa kodlardır, ASM en hızlı programlama dili olmakla beraber, kullanılması en zor programlama dilidir.ASM dili için kısaca bilgisayarın anadili diyebiliriz, çünkü CPU sadece ASM 
kodlarını anlayacak bir yapıya sahiptir. Ilk çıktığı günlerde sadece ASM dili olduğu için program yazmak gerçekten çok zordu. Bu yüzden üst seviye programlama dilleri geliştirilmiştir.

GUİ (Graphical User Interface) NEDİR?

Grafiksel Kullanıcı Ara yü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 KayDouglas 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ı ara yü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ı ara yüzünü kullanmaktadır.

Pardus nedir?

Pardus; 2003 yılında temelleri atılan milli işletim sistemi olan, Türkiye'de TÜBİTAK-UEKAE tarafından geliştirilen, özgür, hızlı kurulabilen, kolay kullanılır, çoklu dil içeren, bilgisayar kullanıcılarının temel masaüstü ihtiyaçlarını gidermek üzere halihazırdaki linux dağıtımlarının üstün taraflarını kullanan; kurulum, yapılandırma ve kullanım kolaylığı sağlayan açık kaynak bir işletim sistemidir. Pardus'un bugüne kadar yayınlanmış 5 ana sürümü ve 9 ara sürümü mevcuttur. Bunlara ek olarak 2 kurumsal sürümü vardır.


Pardus'un özellikleri nelerdir?

1- Açık kaynaklıdır.
2- GPL lisanslıdır.
3- Özgürdür.
4- Adını Anadolu panterinin isminden alır.
5- TÜBİTAK-UEKAE tarafından gerçekleştirilen bir işletim sistemidir.


Pardus'un bileşenleri nelerdir?

1- YALI (Yet Another Linux Installer): Pardus ve paketlerin kurulumu için kurulum yazılımı
2- ÇOMAR (Configuration Manager): Yazılımların uyumu için yapılandırma yöneticisi
3- PİSİ (Packages Installed Successfully as Intended): Paketlerin kurulumu / kaldırılması için paket yönetim sistemi
4- TASMA: Kullanıcının sisteme dair ayarları değiştirebildiği uygulama
5- Zemberek – Pardus: Türkçe yazım denetimi
6- Müdür: Gelişmiş donanım tanıma sistemi
7- Kaptan: Masaüstü yapılandırması
8- KDE: Masaüstü denetimi
9- OpenOffice: Ofis uygulamaları
GNU NEDİR?

GNUçekirdeği, sistem araçlarını, açıcılarını, kütüphanelerini ve son kullanıcı yazılımlarını içeren, GNU Tasarısı kapsamında geliştirilen bir işletim sistemidir. İsminin açılımı "GNU's Not Unix" (GNU Unix değildir)’dir. Bu ismi almasındaki sebep de tasarımının Unix'e benzerken kendisinin özgür yazılım olması ve herhangi bir UNIX kodunu içermemesidir.
GNU işletim sistemi planı 1983 Eylül'ünde Richard Stallman tarafından duyurulmuş, 1984 Ocak ayında işleyişe başlamıştır. 2006 itibarıyla GNU hâlâ etkin olarak gelişmektedir. GNU'nun geliştirilmesi GNU Tasarısı tarafından gerçekleştirilmektedir ve bu tasarı altında birçok GNU belgeleri ve yazılımları bulunur.
Günümüz itibarıyla hâlâ tamamlanmış bir GNU sistemi sunulmamıştır. Resmi çekirdeği GNU Hurd'dür ancak Hurd henüz bitmemiştir zira geliştirilmesi aşamasında bazı lisans sorunları yaşanmış ve yapısal değişikliğe gidilmiştir. Linux'un da devreye girmesiyle birçok GNU kullanıcısı Linux çekirdeğine geçiş yapmış böylece Linux, Hurd'ün yerini doldurmuştur. GNU resmi olarak başka yazılımları da desteklemektedir (Xorg ve TeX gibi).
Sistemin başlıca içeriği GNU Compiler Collection (GCC), GNU Binary Utilities (binutils), bash kabuğu, GNU C kütüphanesi (glibc) ve coreutils'den oluşur. Görsellik açısından X.Org'u; yazım açısından da TeX yazılımlarını kullanır. Tüm GNU yazılımları halen GNU Hurd çekirdeğiyle uyumlu değildir.
Linux çekirdeğini kullanan kullanıcılar sistemlerini genel olarak "Linux" demektedir ancak GNU Projesi "Linux" yerine "GNU/Linux" denmesini önerir. Çünkü Linux, bünyeside GNU araçlarını barındırmaktadır. Bu konudaki tartışma uzun süredir devam etmektedir.
Birçok GNU yazılımları diğer işletim sistemlerinde de kullanılmıştır (WindowsBSDSolaris ve Mac OS gibi).

GNU Genel kamu lisansı (GPL), GNU Lesser General Public License (LPGL) ve GNU Free Documentation License (GFDL) GNU tarafından yazılmıştır ancak bambaşka birçok diğer konuda da kullanılmaktadır. GNU kamu malı olarak görülmektedir ve başarisinin arkasında olan da herkese olan açıklığıdır. Her kullanıcı GNU'yu geliştirebilir.



COMPİLER NEDİR?

Basitçe bir dilde yazılmış olan 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. Derleyicinin diğer bir tanımı ise 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.

OVERLOADİNG

C/C++ Operatorlerin Aşırı Yüklenmesi (Operator Overloading) C++’ da +,-,*,!,++ gibi operatörler fonksiyonlar yazılarak bu operatörlere ...