28 Aralık 2014 Pazar

Programlama Dilleri

   Yazılımcılar tarafından belli bir yazılım kuralına göre bilgisayara verilen komutlar dizisi ve sistem yazılımı programlama dili olarak tanımlanır. Çok sayıda programlama dili mevcuttur fakat hepsinde bilgisayarın işlemlerini yönetmeye yarayan temel fonksiyonlara karşılık gelen komutlar vardır. Bu programlama dillerini 4 sınıfa ayırabiliriz:

  • Makine dilleri,
  • Assembly dilleri,
  • Üst düzey diller,
  • Uygulama üreteçleri.

1) Makine Dilleri


İkili sayılardan oluşan, en temel programlama dilidir. Makine diline çevrilmiş bir komut iki parçadan oluşur:
  • Operatör: Herhangi bir komuta karşılık gelen işlemin kodudur.
  • Operand: İşlenen veriyi ya da verinin adresini tutan koddur. Bazı komutlarda bulunmayabilir.

Makine diline örnek verecek olursak, aşağıda yazılmış program ekrana "Hello world" yazısını yazar.

1011101100010001 0000000110111001 0000110100000000 1011010000001110
1000101000000111 0100001111001101 0001000011100010 1111100111001101
0010000001001000 0110010101101100 0110110001101111 0010110000100000
0101011101101111 0111001001101100 0110010000100001

2) Assembly Dilleri


İnsanlar tarafından anlaşılması zor olan makine dilini,  insanlar tarafından anlaşılarak programlanması daha kolay anımsatıcı simgelerle değiştirerek düşük seviyede programlama yapabilmeyi sağlar. Bilgisayarla daha kolay etkileşim sağladığı için bu dille yazılan programlar daha hızlı çalışır. Assembly dilini makine koduna çeviren programlara assembler denir.









Assembly diliyle yazılmış soldaki program
ekranda "merhaba dunya" yazısını gösterir.






3) Üst Düzey Diller


Doğal dillere ve matematik işlemlere daha yakın programlama dilleridir. Öğrenmek, kodlamak, hata ayıklamak daha kolaydır. Bu dillerle yazılan programların makine diline çevrilmesi gerekir. Bazı diller bu işlem için derleyici kullanırlar ve tüm kod aynı zamanda makine diline çevrilir. Bazı diller ise yorumlayıcılar kullanır. Yorumlayıcılar her bir satırı makine diline çevirir, çalıştırır, sonra bir alt komuta geçer. Bazı önemli diller şunlardır:
  • Fortran: Bilimsel hesaplamalar ve mühendislikte yaygın olarak kullanılır.
  • Basic: Mikrobilgisayarlarda yaygın olarak kullanılır. Basit ve öğrenmesi kolay bir dildir.
  • Pascal: Genel amaçlıdır. Yapısal kodlamaya olanak tanır.
  • C/C++: İşletim sistemi ve uygulama yazılımı geliştirenler tarafından yaygın olarak kullanılır. Yetenekli, net ve taşınabilir bir dildir.

C dilinde yazılmış bir program örneği.
Ekrana "merhaba, dünya" yazar.




4) Uygulama Üreteçleri


Programlama dillerindeki katı kuralları ortadan kaldırarak bilgisayara ne yapması gerektiğini girdi ve çıktıları belirterek anlatan çok üst düzel dillerdir. Bunlar genellikle içinde
  • Editor,
  • rapor çıkarıcı,
  • veri tabanı yaratıcısı,
  • hata bulucuların yer aldığı paketler halinde satılır.
Sorgulama dilleri de uygulama üreticileri gibi soyut, kuralları gevşetilmiş dillerdir. Günlük konuşma dillerine benzer kurallar içerisinde sorgular yaratarak veri tabanına erişmekte kullanılırlar. Bu tür diller programlama zamanını kısaltmanın yanı sıra, ürettikleri kod genellikle alt seviye dillerde üretilen programlarla karşılaştırıldığında daha verimsizdir. Daha fazla bellek ve disk alanına gereksinim duyabilirler.

Ondalıklı Sayılarda Taban Dönüşümüne Örnekler

234,56 sayısının 2'lik sistemde gösterimi


234,56 sayısının 8'lik sistemde gösterimi


234,56 sayısının 16'lık sistemde gösterimi


365,4827 sayısının 2'lik sistemde gösterimi


365,4827 sayısının 8'lik sistemde gösterimi


365,4827 sayısının 16'lık sistemde gösterimi


29,75 sayısının 2'lik sistemde gösterimi


29,75 sayısının 8'lik sistemde gösterimi


29,75 sayısının 16'lık sistemde gösterimi


ASCII Kodları

ASCII (American Standard Code for Information Interchange - Bilgi Değişimi İçin Amerikan Standart Kodlama Sistemi) her biri 7 bitten oluşan bazı kontrol karakterlerini ve yazdırılabilir karakterleri kapsayan bir settir. Değişik bölgelerde özel karakter ihitiyacını karşılamak amacıyla ASCII çeşitlemeleri yapılabilir.


Şimdi bu kodlarla ismimi değişik sayı sistemlerini ilave ederek yazmaya çalışalım


Gördüğünüz gibi ismimin (MERT) bilgisayar dilindeki karşılığı:

1001101 1000101 1010010 1010100

27 Aralık 2014 Cumartesi

Bilgisayar Alırken Nelere Dikkat Etmeliyiz?

    Bilgisayar alırken seçimimizi kullanacağımız alana bağlı olarak yapmalıyız. Çok özellikli, gelişmiş, pahalı bir bilgisayarı sadece internete girip haber okumak için alıyorsanız hata etmiş olursunuz. Ya da alacağınız bilgisayarda son teknoloji oyunlar oynamak istiyorsanız ucuz bir bilgisayar işinize yaramayacaktır. Bu yüzden önce ne istediğimizi bilmeliyiz. Kullanım alanını belirledikten sonra bilgisayarımızın hızını belirleyecek sistem özelliklerini analiz etmemiz gerekiyor. Sabit disk boyutu, pil ömrü, ekran kartı, ekran boyutunun yanısıra port çeşitleri çok önemli. Kullandığımız notebookun son teknolojiye uyumlu olması gerekiyor. Mesela USB-3 ve HDMI portu mutlaka bulunmalı. Bunun dışında bilgisayar hızı elbette dikkat etmemiz gereken bir unsur.

    CPU (İşlemci) bilgisayarın en önemli parçasıdır. İşlemcinin saniyede yaptığı işlem sayısı, hızını belirler. Bu da saat hızını (sistem saati - system clock) ifade eder. Yani MegaHertz (bir saniyede yapılan milyon tane işlem) değeri ne kadar yüksek olursa o kadar iyi bizim için. Günümüz bilgisayarları saniyede milyarlarca işlem yapabilmektedir, bu da GigaHertz'le gösterilir. İşlemcinin içindeki registerlar bilgisayar hızına doğrudan etki eder. Registerlar işlemcinin o an çalıştırdığı veriyi tutan geçici depolardır. 32 bit veya 64 bit register boyutunu ifade eder. RAM'ler registerlardan farklı olarak, kullanılan programın komutlarını ve gerektirdiği verileri tutar. Bu açıdan bilgisayarlarda RAM de çok önemlidir. En basit kullanım için bile 2 Gb RAM mutlaka gereklidir. RAM ile işlemci arasında, çok sık kullanılan bilgisayar talimatlarının ve geçici olarak tutulan bilgilerin yer aldığı bir Ön Bellek (Cache Memory) bulunur. Bu bellek RAM'den daha hızlıdır. İşlemcinin RAM'den veri alırken harcadığı zamanı azaltır. Ayrıca verinin anakart üzerinde geçtiği yollar da hız açısından önemlidir. Farklı birimler arasında farklı veri yolları olabilir. Bunlara veri aktarım demetleri adı verilir. En önemlisi ise doğrudan işlemciye ve sistem belleğine bağlı olan sistem veri yolu (system bus) dur.

Şimdi bu açıkladığımız önemli unsurları kullanarak iki bilgisayarı karşılaştıralım:




ASUS X550JK

- CPU: İntel Core i5 4200H
- Register: 64 Bit
- System Clock: 2.8 - 3.4 GHz
- RAM: 4 GB
- Cache Memory: 3 MB













ACER E5-571G

- CPU: İntel Core i7 4510U
- Register: 64 Bit
- System Clock: 2.0 - 3.1 GHz
- RAM: 8 GB
- Cache Memory: 4 MB




i7 işlemci teknoloji olarak i5'ten üstün olsa da Asus marka bilgisayarın ulaşabileceği maksimum system clock değeri daha fazla. RAM ve Cache memory olarak ise Acer marka bilgisayar daha iyi görünüyor. Genel olarak baktığımızda Acer önde gibi duruyor ancak fazla RAM alanına ihtiyaç duymayanlar için Asus da tercih edilebilir.

26 Aralık 2014 Cuma

Günümüzde Bilgisayar Kullanımı


    Bilgisayarın kullanım alanlarını sağlık, bilim, sanayi gibi çoğaltabiliriz fakat biz biraz kişisel boyutta inceleyeceğiz. İşlerimizi daha hızlı ve kolay yapmamızı sağlaması dışında, depolama ve paylaşma konusunda hayatımızda vazgeçilmez bir yeri var artık bilgisayarların. İnternetin gelişmesiyle ve yayılmasıyla birlikte hızlı bir biçimde tüm dünyaya ulaşabilme imkanı sundu bizlere. Her an, internet erişimi olan bir yerden kolaylıkla paylaşım yapabilir veya anında dünyadan haberlere ulaşabiliriz. Bu denli hayatımızda olan bilgisayarları eğlence için bile kullanabiliyoruz. Gerçek hayatta ne bulursak taşıyoruz bu mecraya. Günümüzde "asosyallik" olarak tabir ettiğimiz olay, "bilgisayardan sosyalleşme" yoluyla ortaya çıkan bir durum aslında. Yeni insanlar tanıyoruz, onlarla muhabbet ediyor, oyunlar oynuyor, bir şeyler paylaşıyoruz gerçek hayattaki gibi.

    Bilgisayarların kullanım alanı da hayatın diğer konularında olduğu gibi yaştan yaşa, insandan insana farklıkaşıyor aslında. Küçük yaşlardan beri çocukların bu teknolojiyle iç içe olması, onu daha iyi kavrayıp içselleştirmesini sağlıyor. Lise çağında bir çocuğu ele alacak olursak, bilgisayar genellikle bir eğlence veya ödev yapma aracı olarak kullanılıyor. Tanımadığı insanlarla saatlerce oyun oynayabiliyor veya ödeviyle ilgili bir çok içeriğe, bir tıkla anında ulaşabiliyor. Genişleyen paylaşım alanlarıyla birlikte televizyona bile gerek duymadan, dizilerini ve filmlerini bilgisayardan takip edip izliyor. Sağladığı kolaylıklar, onu iletişim alanında da cazip kılıyor. Facebook, Twitter gibi ortamlarda sosyalleşiliyor ve arkadaşlarla sürekli iletişimde kalınıyor. Akıllı telefonlar iletişim konusunda bilgisayarları birazcık sarsmış olsa da, hala hayatımızdaki vazgeçilmez yerini korumaya devam ediyorlar. Bir nevi elimiz ayağımız niteliğinde...

25 Aralık 2014 Perşembe

Yazılım ve Program Arasındaki Fark


    Yazılım ve program sanılanın aksine birbirinden farklı şeylerdir. Yazılım, çeşitli elektronik parçaların verimli ve uyumlu bir şekilde çalışmasına olanak sağlayan makine komutlarıdır. İşletim sistemleri yazılıma örnektir. Programın kelime anlamına bakacak olursak, belirli kurallar dahilinde yapılması öngörülen işlemlerin tümüdür. Buradan da yola çıkarak, programın bir işi yapmak için tasarlanmış komutlar zinciri olduğunu söyleyebiliriz. Klavyenin sürücüsü, programa örnektir.

    Toparlayacak olursak: Program belirli bir düzende direktif verir, yazılım ise programlanan işi bilgisayara anlatan ve yaptıran asıl şeydir. Google Chrome tümüyle bir yazılımken, chrome.exe programdır. Yani yazılımlar programı içinde barındırır, programlar yazılımı değil. Böylece yazılımın daha kapsamlı olduğunu ve bir programın tek başına işe yaramayacağını anlamış olduk.

Bilgi ve Enformasyon Arasındaki Fark

    Bilgi ve enformasyon arasındaki farkı anlamak için öncelikle verinin ne demek olduğunu kavramak gerekir. Veri, bir durumun işlenmemiş sayısal veya sözel simgesidir. Örneğin 13 sayısını ele alalım. Verimiz "1" ve "3" simgelerinden oluşur ve anlamsızdır. Verinin anlamlı ve kullanılabilir olması için bir tema çerçevesinde anlamlandırılıp işlenmesi gerekir. Veriler toplanıp düzenlenince (özetleme, sıralama, sınıflama), işlenen veri anlam kazanır ve enformasyona dönüşmüş olur. Verimizin (13) Ankara'nın o günki hava sıcaklığına ait olduğunu düşünürsek, diğer günlerle birlikte hava değişimlerini kaydettiğimiz tablo enformasyona örnek olur. Yani Ankara'daki hava sıcaklığının verisini diğer verilerden ayıkladık, belirli tarihlere göre sıralayarak tablolandırdık ve böylece bir enformasyon oluşturduk. Artık bu anlamlı veriyi bilgiye dönüştürebilmemiz mümkündür. Bilgi, enformasyon parçalarını kullanarak çıkarımda bulunma yeteneğidir. Örnekte bahsettiğimiz tablodan devam edecek olursak: Ankara'da havanın 13 derece olduğu günün, o aya ait en yüksek sıcaklık olduğu bilgisine varılmış olunabilir.