30 Eylül 2017 Cumartesi

SVN (Subversion) Ve RSS Nedir?







     SVN (Subversion) açık kaynak kodlu bir sürüm takip sistemidir. Dosyaları merkezi bir depoda tutar ve dosyalar üzerinde yapılan her değişikliği hatırlar. Bu en büyük avantajıdır. Daha çok yazılım geliştiriciler tarafından kaynak kod paylaşımı ve takibi amacı ile kullanılır.

    RSS ise çeşitli internet siteleri tarafından yayınlanan haber vb. tek bir ortamda topluca izlenebilmesini sağlayan içerik besleme yöntemidir. Real Simple Syndication, RDF Site Summary veya Rich Site Summary kelimelerinin baş harflerinden oluşan kısaltmadır. RSS kullanımı her geçen gün artmaktadır.

IDE (Integrated Development Enviroment) Nedir?





   Bilgisayar programcılarına hızlı ve rahat bir şekilde program geliştirmelerine, geliştirme sürecini organize eden ve bu sürecin verimli olarak kullanılmasına katkı sağlayan bir yazılım türüdür. IDE'lerin olması gereken temel özelliklerinden bahsedecek olursak eğer; programlama diline göre sözdizimi renklendirmesi yapan yazım editörüdür, tümleşik bir derleyici, yorumlayıcı ve hata ayıklayıcıdır, yazılımın derlenmesi, Çalışmaya başlaması ve bağlanması gibi bir çok işi yapabilirler. En bilinen IDE ortamları ise; Eclipse, Microsoft Visual Studio, Code::Blocks, Dev-C++, Anjuta, KDevelop, NetBeans vs.


Git Ve GitHub Nedir?





     Git dünyada yaygın olarak kullanılan bir modern sürüm kontrol sistemidir. 2005 yılında Linux çekirdeğinin yaratıcısı olan Linux Torvalds tarafından geliştirilmiştir. Aktif olarak korunan bir açık kaynak projesidir.Dağıtılmış bir sisteme sahip olan Git, DVCS'ye (Dağıtılmış Sürüm Kontrol Sistemi) örnektir.

     GitHub ise versiyon kontrol sistemleri için bir depodur. Bu depo bir havuz olarak da düşünülebilir. GitHub'ı internet sitesinden hesap oluşturarak kullanabiliriz.

Open Source (Açık Kaynak Kod) Nedir?




     Bu tür yazılımlar kullanıcıya uygulamayı değiştirme olanağı sağlamaktadır. Open source yazılımlar hızlı güvenilir ve uyarlanabilir yazılımlardır. Programcılar kullandıkları programlama dilleri ile kaynak dosya oluşturulur. Daha sonra bunu belirli dillerle çevirerek çalışır duruma getirirler.
   
     Open source kodlar 2005 yılında piyasaya çıkmış ve bu zamandan beri gündemdedir. En iyi bilinen programları Linux,Open Office, GNU ve Debian'dır.
   
     Dünya ülkelerinde bu tür kodların kullanımı yaygınlaşmıştır. Ve hemen her ülke gereksinimleri doğrultusunda open source kodlu Linux dağıtımı yapmıştır.
   
     Türkiye'de ise 10 yılı aşkın bir süredir daha önemli bir hale gelmiştir ve bir topluluk kurulmuştur. Bu topluluk Turkuaz, Gelecek Linux, İstanbulx, Boreas, Turkix gibi dağıtımlar ve farklı open source kodlu yazılımlar geliştirmektedir.

29 Eylül 2017 Cuma

Bit ve Byte'ların Özel İsimleri




        Bilgisayar çoğumuzun bildiği üzere ikilik sistemle çalışır. Yani 0'lar ve 1'ler ile. Bu ikilik sistemdeki her bir rakama "bit" denir. Bu ikilik sistemdeki her basamak "1 bit" tir.

       Bir anlama sahip en küçük sayısal veri miktarına "byte" denir. Byte 8 bit'ten oluşur.




  •      Byte= 8 bit
  •      Yarım byte= 4 bit = Nybble
  •      Word(kelime)= 32 bit
  •      Halfword(Yarım kelime)= 16 bit
  •      Doubleword(Tam kelime)= 64 bit 

GNU Nedir? ve GCC Nedir?





    GNU kullanıcı özgürlüğüne önem veren ve özgür bir yazılıma sahip olan işletim sistemidir. Birçok programdan oluşur. Ocak 1984 'te gelişmeye başlamıştır. Çok fazla kişi tarafından kullanılır ama bunların bazıları GNU değil Linux derler. GNU 'nun Linux isminde bir çekirdeği vardır. Ayrıca 1990 yılında gönüllüler tarafından "The Hurd" isimli bir çekirdek daha yazılmaya başlanmıştır ve halihazırda bu yazma işlemi devam etmektedir.

    GCC ise bir derleyici(compıler) 'dir. GCC ilk olarak GNU işletim sistemi için yazılmış bir derleyicidir. Genelde komut satırı ile çalışır.

Programlama Dillerinde Değişken ve Sabit



    İlk olarak değişkenlerden başlayalım. Değişkenler program yürütülürken değişebilen büyüklüklere denir ve simgesel bir isimle ifade edilirler. Değişkenlerin programda kullanılması için program başında yazılması gerekir.

    Sabitlere gelecek olursak. Sabitler ise programın herhangi bir yerinde değişmeden kalan büyüklüklerdir. Bunlar bir isim verilerek bütün programda aynı şekilde kalırlar. Bu büyüklüklerin karakter olarak gösterimine ise "literal" adı verilir.

      Sabite örnek verecek olursak bir programda matematiksel bir işlem için pi sayısının değeri gereklidir.Burada sayının gerekli olduğu her yerde yazmak yerine programın başında bir sabit atarak bunu o sabit yardımıyla daha kolay bir şekilde işlemeleri gerçekleştirebiliriz.Yani ben bir a değerine 3,14 diyerek işlemlerde bu a değerini kullanırım.

Debugging Nedir?



       


        Debuggin, bir koddaki hatayı ayıklama, bulma ve düzeltme anlamına gelir. Hata ayıklama işlemi kodu yazmaya başladığımız anda başlar ve diğer aşamalarda da devam eder. Büyük programlarda bu işlemler üç aşamada yapılır. Birim testleri, kod incelemeleri ve çift programlama'dır.Bu şekilde yaparsak işimizi daha kolaylaştırmış oluruz. Eğer bir hata varsa bu hatayı bulmak çok önemlidir. Yani debugging işlemi bir program yazarken en gerekli ve en önemli işlemlerden biridir.


Derleyici ve C Derleyicileri



       Merhaba arkadaşlar.Bu konuda derleyici(compıler) nedir, ne iş yapar ve derleyici çeşitlerinden bahsedeceğiz. Ayrıca c derleyicilerini de bu başlık altında göreceğiz. İlk olarak derleyiciden başlamak istiyorum.
     
        Derleyici,herhangi bir dilde yazılmış kodları istenilen başka bir dile dönüştüren programlardır. Bu kodlar çalışır durumda kodlar olmaktadır. Daha güzel bir tanım yapmak gerekirse eğer, derleyiciler seviyeleri farklı iki dil arasındaki tercüme işini yaparlar. Bu tercüme işlemi üst seviyeli dillerden alt seviyeli dillere doğrudur.derleyiciler kod üretimi de yapabilmektedir. Aynı zamanda bu üretilen kodlarda en iyi şekilde olması için kod iyileştirmesi de yaparlar. Bir diğer görevleri ise kaynak koddaki hataları ayıklayıp hataları kullanıcıya bildirmekte derleyicilerin görevidir. Derleyiciler ikiye ayrılır. Tek ve çok geçişli derleyiciler. İlk önce geçiş kavramından bahsetmek lazım. Geçiş, kaynak kodu baştan sona kadar okumaya denir. Adından anlaşılacağı gibi tek geçişli derleyiciler bu işlemi bir defa yaparken çok geçişli derleyiciler bunu birden çok kez yapmaktadırlar.

      C derleyicilerine gelecek olursak. Şahsi bilgisayarlarımızda kullandığımız c derleyicilerini yazan iki şirket vardır. Bunlar Microsoft ve Borland'dır. C derleyicilerine değinecek olursak eğer birden fazla derleyici vardır. Bunlar GCC, Dijital Mars C/C++, Xcode, taşınabilir C derleyici, Arıza güvenli C, Pelles C, nesse C, Turuncu C ve SubC gibi derleyicilerdir.

28 Eylül 2017 Perşembe

Programlama Dilleri



      Konuya başlamadan önce programlamanın ne olduğunu söylemek istiyorum. Kısaca programlama, bir işlemin bilgisayarın anlayabileceği bir biçime dönüştürülmesi işlemidir.Programlama işlemi ise programlama dilleri sayesinde yerine getirilir.
      Programlama dillerine gelecek olursak, Programlama dili çözülecek problemin nasıl olduğuna bağlı olarak seçilebilir. Programlama dillerinin tümü simgeseldir. Bilgisayarın anlayacağı işlemleri insanların anlayacağı simgelerle ifade ederler.
      Kullanıcıların bir programlama diline bağlı olarak hazırladığı programın simgesel kodlardan oluşan kısmına "kaynak program(source program)"denir. Bu kodlar bilgisayarlarda doğrudan çalışmaz.Kodların çalışması için makine diline çevrilmesi gerekir. Makine dilinde ki kodlara ise "nesne kodu(object code)"denir. Günümüze kadar 2500'den fazla programlama dili geliştirilmiştir.
      Programlama dilleri insanların algılamasına göre üçe ayrılırlar. Bunlar alt seviyeli, orta seviyeli ve üst seviyeli programlama dilleridir.

  • Alt seviyeli programlama dilleri; makine diline oldukça yakın dillerdir ve makine hakimiyeti oldukça fazladır. Örnek olarak Assembly programlama dili verilebilir.
  • Orta seviyeli programlama dilleri; Esnek olan bu diller hem üst hem alt seviye programlama yapabilir. Alt seviyeye göre daha anlaşılırdır. Örnek olarak C programlama dili verilebilir.
  • Üst seviyeli programlama dilleri; Olay tabanlı programlama dilleri olarak da adlandırılırlar. Bu programlama dili belirli fonksiyonlarla çalışırlar ve programlama hakimiyetini azaltır. En hızlı ve en etkili diller bu kategoride yer alır. Örnek olarak Visual Basic verilebilir. Bu diller kolay öğrenildiğinden dolayı yeni başlayanlar için en uygun dillerdir.
     Programlama dilleri dört farklı biçimde sınıflandırılırlar. Bunlar makine, assembly, yüksek düzey, dördüncü kuşak dillerdir.

  1. Makine Dilleri: Doğrudan makine kodlarından oluşurlar. Bu dil belirli özelliklerinden dolayı alçak düzeyli bir dil olarak değerlendirilir.
  2. Assembly Dilleri: Simgelerin kullanıldığı dillerdir. Makine dillerinden daha üst düzeyde diller olarak değerlendirilirler. Adresler simgesel adresler olarak belirtilirler. Bu dilin derleyicisine "assembler" adı verilir. Alt seviyeli programlama dillerine örnektir.
  3. Yüksek düzey diller: Programcıya kolaylık sağlayan dillerin tümü bu gruba dahildir. Bu diller bilgisayar türlerinden bağımsız olarak çalışırlar. Bu dillerin kaynak kodları hazırlandıktan sonra makine diline çevrilmesi gerekir. Bu dillere örnek olarak COBOL, BASIC, PASCAL, C, C++, C#, JAVA dilleri verilebilir. C dili orta seviyede sayılabilir.
  4. Dördüncü kuşak diller: Bu diller programcının yapması gereken kodu otomatik olarak üretebilirler. Bu diller arasında sorgulama dilleri sayılabilir. Sorgulama dilleri, veri tabanları üzerinde çok az kod ile karmaşık sorguların yapılabilmesine olanak sağlayan araçlardır.

C'nin Tarihçesi


   
  Blog yazılarıma ilk olarak C dilinin tarihçesi ile başlamak istiyorum.

           C dili 1972 yılında Dennis Ritchie tarafından UNIX işletim sistemlerini ve PDP-11 bilgisayarlarını geliştirmek için üretilmiştir. C'nin tüm dünyada tanınması ise 1978 yılında Dennis Ritchie ve Brian Kernighan'ın yazdığı "The C programing Language" kitabı ile olmuştur.1983 yılında ANSI(American National Standards Institute) tarafından standartize edilmiş ve 2000 yılında Standart C olarak belirlemiştir. Bundan sonrada taşınabilir sistem programlama dili olarak devam eder.


          Günümüzde işletim sistemlerinin geliştirilmesinde kullanılmaktadır. C popülerliğini asemply gibi diller ile yüksek seviyeli dillerin özelliklerini üzerinde bulundurmasından kazanmaktadır.
Ayrıca nesneye yönelik programlama dilleri yani C++, Java, C# gibi ve script dilleri yani JavaScript, PHP gibi programlama dilleri C tabanlı dillerdir. C donanımdan bağımsız ve taşınabilir bir dildir. C dili verimli,basit ve güçlü yapısından dolayı yaygın kullanılan bir dildir.

Operatörlerin Aşırı Yüklenmesi (Overloading)

    Operatörlere bilinen özellikleri dışında başka özellikler kazandırmak mümkündür. C++ da bu işleme operatörlerin aşırı yüklenmesi adı v...