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.

22 Kasım 2014 Cumartesi

Kelime İşlemci Yazılımları


Belge, metin ve döküman yazmaya, düzenlemeye yarayan yazılımlar kelime işlemci yazılımlarıdır. Özellikle ofislerde gerekli olan dökümanlar, bilgisayar teknolojisinin gelişmesiyle birlikte bu yazılımlarla oluşturulmaya başlandı. Günümüze kadar en yaygın kullanılan ofis araçlarının sahibi olan Microsoft'a, bulut teknolojisiyle gelişen çevrim içi kelime işlemciler rakip olmaya başladı. Gelin bir göz atalım...

1) Google Docs


Microsoft uyumlu dosya formatlarını da destekleyen Google Docs, Microsoft'un Office paketinde bulunan Word’ün türevini de içeriyor. Bir web uygulaması olan Google Docs sayesinde, dokümanlarınız kolayca internet üzerinde kaydedilebildiğinden, bir dosya üzerinde çalışırken işinize internete bağlı olan herhangi bir bilgisayardan kolayca devam edebilirsiniz. Ortalama bir kullanıcı için Google Docs’ın sunduğu imkanlar gayet yeterli.

Avantajları:

Türkçe dil desteği mevcut, sade ve hızlı bir yazılım. Eş zamanlı olarak belge üzerinde birden fazla kişiyle ortak çalışma imkanı sunuyor. Herhangi bir sosyal paylaşım platformuna örneğin fotoğraf yükler gibi, belgenizi bu ortama yükleyip arkadaşlarınıza sunma imkanı sağlıyor. Web tabanlı olması sayesinde, istediğiniz anda istediğiniz yerde belgelerinize ulaşmak için tek ihtiyacınız internet erişimi olan bir bilgisayar. Çoğu dosya formatını bilgisayarımızda okuyucuya gerek duymadan, Google Docs kullanarak açabiliriz. Çevrimdışı da kullanılabilir. Belgelerinizin düzeltme geçmişini görebilir ve herhangi bir sürümüne geri dönebilirsiniz. Belgelerinizi masaüstünüze Word, OpenOffice, RTF, PDF, HTML veya zip biçiminde indirebilir,  e-posta eki olarak gönderebilirsiniz.

Dezavantajları:

Microsoft Office 1997 ve 2003 sürümlerinde kullanılan .doc, .xls ve .ppt dosyalarına artık Google Docs üzerinden destek verilmiyor. Kullanıcıları 1 GB’lık depolama alanıyla sınırlıyor. Microsoft Office kadar kapsamlı değil. Google Docs'tan güvenlik ve paylaşım araçları gibi çok daha fazlasını isteyenlerin, belirli miktarda bir ödeme yapmaları gerekiyor.

2) Zoho Writer


Google Gears teknolojisi kullanan bu yazılım, açık kaynak kodlu yazılmış bir firefox veya explorer eklentisi sayesinde Ajax uyumlu tüm uygulamaların internet bağlantısı olmaksızın kullanılmasına imkan tanıyor. Bu sayede Zoho Writer kullanıcıları bağlantılarının kopması durumunda çalışmaya devam edebiliyor. Word'ün bir alternatifi olan Zoho Writer ile .doc veya .docx formatındaki dosyalar üzerinde çalışabileceğiniz gibi, yazılımın kullanımı da Word'ü pek aratmıyor denilebilir. Belgeler arasında geçiş yapılabilen bir üst sekme mevcut. Bir belgeyle uğraşırken başka bir belge açıp orada da düzenlemeler yapabiliyorsunuz. Sonra kaldığınız yerden devam edebiliyorsunuz çalışmanıza.

Avantajları:

Türkçe bir yazılım. Online destek fırsatı sunuyor. Yazılım hem çevrimiçi hem de çevrimdışı çalışabiliyor. Kişisel kullanım için ücretsiz, 20 web tabanlı eklenti sunuyor. Üyelik açmaya gerek duymadan Gmail, Facebook, Yahoo hesabıyla giriş yapılarak kullanabilme imkanı var. Microsoft ve Open Office ile tam uyumlu. Paylaşım ile dilediğiniz kişilere okuyabilme, dilediklerinize de okuma ve değiştirebilme yetkisi verebilirsiniz.

Dezavantajları:

Eş zamanlı olarak diğer arkadaşlarınızla birlikte, bir belge üzerinde değişiklik yapamıyorsunuz. Masaüstü yazılımlara kıyasla, çok kapsamlı değil.

3) Buzzword


PDF formatını yaratan Adobe'un geliştirdiği ve kullanıcılarına sunduğu Buzzword, bir kelime işlemciden beklenen birçok işleve fazlasıyla sahip. Kullanışlı ve gösterişli bir arayüzü var. Birden fazla kişi aynı dosyada oynama yapabiliyor, dosyaya yorumlar ekleyebiliyor. Çoklu çalışmanın aktif hale gelebilmesi için, döküman isminin sağ tarafındaki oka tıklayıp Share…‘ı seçip, dökümanda değişiklik yapmasını istediğimiz mail adreslerini yazmamız gerek. Dökümanlarımızı diğer web sitelerinde gösterebilmemizi sağlayan widget’lar da kullanabiliyoruz.

Avantajları:

Dökümana en son ulaşanlar ve pozisyonları da (yayıncı, eleştirmen vs.) kolayca görülebiliyor. Dökümanlar sayfalandırılıyor, .pdf, .doc, .zip, .txt, .xml gibi dosya çıkışları alınabiliyor. Yazılara tablolar ve resimler eklenebiliyor. Resim boyutları gerçek zamanlı olarak ayarlanabiliyor. Buzzword’un en büyük özelliklerinden biri olarak da, PDF’in online şartlarla hazırlanabilecek en yakın şeklini oluşturabilmesi gösterilebilir.

Dezavantajları:

Türkçe karakter desteğinin olmaması büyük bir dezavantaj. 5 gigabayt depolama alanı sunuyor ve eş zamanlı olarak belge üzerinde ortak çalışma yapamıyorsunuz.

4)Quip


Quip, basit ve sade arayüzü ile açık ve anlaşılır bir uygulama. Hazırladığınız yazı ve belgeleri, çevrimiçi olarak eşitleme imkanı ile ister bilgisayarınızdan ister Android cihazınızdan düzenleyin, anında eşitleyerek sizlere hem zaman tasarrufu sağlıyor, hem de veri kaybı ihtimalini en aza indiriyor. iPad, iPhone, Android ve Web üzerinde çalışan uygulama ile arkadaşlarınızla ya da ekibinizle ortak dosyalar oluşturabilir ve düzenleyebilirsiniz. Yazılarınızı yazarken kolaylıkla tablo ve resim ekleyebilir, birinden bahsederken mention bile atabilirsiniz. Quip’in onay listesi, bağlantı paylaşma ve kod bloğu özelliklerini yazılarınızda kullanabilirsiniz.

Avantajları:

Ekip olarak bir tablo ve metin üzerinde çalışıyorken yaptığınız değişikliklerin yanına yorum ekleyebilir ve bu yorumlar üzerinden konuşabilirsiniz. İşleminiz bittiğinde ise yazılarınızı webde paylaşabileceğiniz gibi pdf olarak indirebilir ya da çıktı alabilirsiniz. Twitter, Github, Zapier ve Stripe gibi birçok platform ile entegrasyonu bulunan uygulama tüm bu özelliklerinin yanında birde grup sohbeti hizmeti sunuyor. 400’den fazla Excel fonksiyonu ve formülünü destekliyor. Çevrimdışı da çalışma olanağı sunuyor ve bildirim özelliği mevcut.

Dezavantajları:

Ortak çalışma platformu olarak tasarlandığından, bir ofis programı ciddiyeti taşımıyor.

5) Thinkfree


Uygulamaları kullanmadan önce Java platformuna sahip olmanız gerekiyor ve ardından dilerseniz sadece web tabanlı olarak, dilerseniz ThinkFree uygulamalarını bilgisayarınızda kurarak dosyalarınızı oluşturmaya başlıyorsunuz. Bu noktada ThinkFree’yi masa üstünde yer alacak bir kısa yol aracılığıyla kullanabilmek, diğer rakiplerine karşı artı bir puan daha getiriyor. Görsel açıdan Microsoft Word’ü andıran ThinkFree, özellikler itibariyle de geri kalmıyor. Yeni bir Word dosyası, tablo yapısı, sunum veya basit bir not almak ThinkFree ile oldukça basit.

Avantajları:

Üye olmadan Gmail hesabı ile kullanılabilme imkanı var. Masaüstünden de bir kısa yol aracılığıyla kolayca ulaşılabiliyor. Özellik ve görsel açıdan MS Office Word’e benzer yapıda. Yaklaşık 50 MB yer kaplayan kurulum dosyası sisteminize ücretsiz bir ofis paketi yüklüyor ve yarattığınız dokümanlar ister bilgisayarınıza ister çevrim içi hesabınıza kaydediliyor.

Dezavantajları:

Türkçe değil ve çalışması için java gerekli. Kullanmak için serfettiğiniz çaba dışında, bazen yavaş çalışıp size zaman kaybettirebiliyor. 1 GB’lık alanla sizi sınırlandırıyor.