Hangi Programlama Dilini Seçmeliyim?

   Bu soru programlamaya yeni başlayan yada başlamayı düşünen herkesin aklından geçirdiği bir sorudur.Gerçektende ortalıkta bu kadar programlama dili,teknolojisi olunca insanın kafası ister istemez karışabilir.Bu yazıda programlama tarihinde kısa satır başları,programlama dillerinin çeşitleri,özellikleri ve kullanım alanları vb bir çok konu ele alınacaktır.
yazılımcı
Doğru dili ve alanı seçebilmek ancak dilin özelliklerini,kullanım alanlarını,avantaj ve dezavantaj gibi yönlerini bilmekle mümkün olur.Aksi durumlarda boş yere para ve zaman kaybı,emek kayıpları,bir programlama dilinden diğerine geçmeler,yarıda bırakmalar,tam uzmanlaşamama vb. birçok sorun yaşanabilir.

Nesne Yönelimli Programlama(Object Orient Programming):Yazının bundan sonraki bölümlerinde NYP olarak belirtilecektir.

Programlama Tarihindeki Bazı Satır Başları

 

programlama-tarihi-abaküs-deliklikart

  • Çinlilerin abaküsü icat etmesi.(bu alanda yapılan ilk adımlardandır denilebilir)
  • 18.yüzyıldan itibaren dokuma tezgahları,nüfus sayımı vb işlerde kullanılan delikli kartların ortaya
çıkması.
  • 1822-1848 yılları arasında Charles Babbage'nin (günün yetersizliklerinden dolayı çalışmayan) Differential Engine ve Analytical Engine isminde iki makine tasarlaması.
  •  1944-1946 yılları arasında Pensilvanya Üniversitesinde çalışan ilk bilgisayar olan ENIAC'ın yapılması.
  •  1972 yılında Dennis Ritchie ve Ken Thompson tarafından birçok dilin atası olan C dilinin geliştirilmesi.
  • 1995'te Java'nın piyasaya sürülmesi.
  • 2002 yılında .Net Framework'un birinci sürümünün piyasa sürülmesi.

 Programlama Dillerinin Sınıflandırılması

 

Günümüze kadar geçen sürede 1000'nin üzerinde programlama dili olduğu söylenmektedir.Bunların hepsinin amaçları,yapıları,kullanılma alanları birçok yönden farklı ve kendine has bir özellik taşımaktadır.Bir dille kolayca yapılabilecek bir iş,diğeriyle inanılmaz derecede zorlayıcı olabilir.Onun için bilinçli olarak üzerinde çalıştığınız dilleri tanımak her zaman için faydalıdır.Ne kadar çok programlama dili olduğunu daha iyi anlamak için aşağıdaki sayfayı ziyaret edilebilir.

http://tr.wikipedia.org/wiki/Programlama_dilleri_listesi

Kullanıdığı Alana Göre Dillerin Sınıflandırılması:

Mühendislik ve bilimsel alanlar.
Sistem Programlama.
Veritabanı Programlama.
Yapay Zeka.
Web Programlama.
Masaüstü Programlama..
Mobil Programlama..
Resim İşleme-Grafik Programları vb.

Seviyesine Göre Dillerin Sınıflandırılması:

Programlama dillerini düşük,orta,yüksek ve çok yüksek seviye olmak üzere dört seviyede sınıflandırabiliriz.Bir dilin seviyesi düştükçe zorluğu artar fakat donanıma daha yakın olması nedeniyle çalışma hızıda artar ve yüksek seviyedeki bir dile göre programa müdahale etmek-daha etkin kullanmak bakımından avantajlarıda olabilir.Düşük seviyeli diller genelde sistem programlama,mikroişlemci programlama vb alanlarda kullanılır.Zamanın ve kolaylığın önemli olduğu alanlarda ise yüksek seviyeli diller devreye girer.

Seviyelerine Göre Dillere Örnekler:

    Düşük Seviyeli Diller:Assembly.
    Orta Seviyeli Diller:C,C++(C plus plus),C#.
    Yüksek Seviyeli Diller:Basic,Cobol,Fortran,Pascal.
    Çok Yüksek Seviyeli Diller:Access,Clipper,Dbase,Vbasic.

Bilinen Bazı Programlama Dillerinin İncelenmesi

 


  C Programlama Dili

 1972 yılında Dennis Ritchie ve Ken Thompson tarafından AT&T Bell laboratuvarlarında geliştirilmiştir.
 İşletim sistemi yapımında,sürücü yazılımlarında,sistem yazılımlarında ve hızın önemli olduğu
 alanlarda büyük ölçüde kullanılmaktadır.C dili yapısal bir dil olup Nesne Yönelimli Programlama yapılamaz.
 C++,C#,Objective-C vb birçok dil C'den türemiştir diyebiliriz.Esnek,taşınabilirliği ve okunabilirliği
 yüksek bir dildir.

Pascal Programlama Dili

Adını ünlü matematikçi Blaise Pascal'dan alan bu dil 1970'te Niklaus Wirth tarafından geliştirilmiştir.
Pascal,Algol programlama dilinden türeyen bir dildir.Macintosh işletim sisteminin büyük bölümü
bu dil ile yazılmıştır.
Kullanım Alanları: Pascal'ın popüler bir dil olmadığı için genelde bilim ve mühendislik alanındaki uygulamalar,öğrencilere bilgisayar ve programlamayı öğretmek vb amaçlarla kullanılır.

C++ (C Plus Plus) Programlama  Dili

1979 yılından itibaren Bell Laboratuvarlarından Bjame Stroustrup tarafından geliştirilmeye
başlanan,NYP'nin mümkün olduğu güçlü bir dildir.C ve Objective C'nin özelliklerini içerir.ANSI C standartlarını ve C dilini destekler ve taşınabilir özelliktedir.NYP'nin bir avantajı olarak büyük projelerde ve takım çalışmasına uygundur.Programcılar projenin belirli bir kısmını
gerçekleştirebilir ve önceden hazırlanan kodlar kullanılabilir.C++ güçlü programlama kütüphanelerine
sahiptir.
Kullanım Alanları:
Sistem programlama,driver yazılımları,oyun programlama,grafik ve animasyon ağırlıklı programlama vb.

Objective-C Programlama Dili

1980'lerde Brad Cox tarafından geliştirilen,C ve C++ arasında ve NYP'ya dayalı bir dildir.C ve C++'a göre daha zor bir Syntax(sözdizimi)'ne sahiptir.Xcode ve interface builder ile geliştirilir.developer.apple.com'dan bu dille ilgili bilgilere erişilebilir.
 Kullanım Alanları:Apple ürünleri(ipod,iphone,ipad,mac)için uygulama geliştirme.

Java Programlama Dili

Java James Gosling tarafından Sun Microsystem firmasında geliştirilmeye başlanan NYP'ya yönelik bir
programlama dilidir.1995 yılından itibaren piyasaya sürülen bu dil C ve C++'a olan benzerliğiyle dikkat çeker.Gerçektende C bilen birinin hem Java hemde benzer Syntax'a sahip başka bir dili öğrenmesi
kolaydır.
Java'nın artıları olarak yazılan uygulamanın herhangi bir işletim sisteminde çalışabilmesi,Dünya genelinde büyük yazılım firmalarınca desteklenmesi vb özellikleri sayılabilir.Eksileri olarakta yorumlayıcı içerdiği için C ve C++ vb dillere göre daha yavaş olması söylenebilir.

Kullanım Alanları:İnternet programlama,masaüstü programlama,cep telefonları,mobil cihazlar,veritabanı uygulamaları,oyun cihazları,ev aletleri vb.

Visual Basic Programlama Dili

Microsoft firması tarafından geliştirilen NYP ve windows tabanlı ve öğrenilmesi kolay bir programlama dilidir.NYP olmayan dillere göre bu dille kısa sürede ve yüksek görsellikte programlar oluşturulabilir.
Artıları olarak C# gibi .Net Framework'e gereksinim duymadan Windows üzerinde çalışması,bazı script dilleri için temel teşkil etmesi ve öğrenilmesinin oldukça kolay olması sayılabilir.Eksileri olaraksa standart ve zengin programlama kütüphanelerinden yoksun olması,sadece Windows platformunda çalışması ve .Net'le beraber popülerliğini ve kullanım yaygınlığını yitirmeye başlaması sayılabilir.
.Net teknoloji ve C#'ın gelişimiyle beraber VisualBasic artık tarihe karışmaya başlamıştır diyebiliriz.
Yinede yeni başlayanlar için basit ve keyifli bir NYP aracı olabilir.

C# Programlama Dili

Microsoft firmasının .Net teknolojisi için geliştirdiği yeni bir programlama dilidir.Java gibi C ve C++'a benzer bir sözdizimine sahiptir.C# ile yazılan programların bilgisayardaçalışabilmesi için Microsoft .Net Framework,Portable.Net,Mono yada ECMA standartlarına uygun bir kütüphane yada yorumlayıcının olması gerekir.C# NYP ile tam uyumlu bir dildir ve çok geniş bir kullanım alanına sahiptir.İnternet üzerinde bu dille ilgili birçok  alanda zengin kütüphaneler,eğitim setleri,örnek uygulamaları,uygulama-proje siteleri vb bulmak mümkündür.C# Microsoft'un web için geliştirmiş olduğu Asp.net teknolojisinde de en çok kullanılan dillerin başındadır.Bu dille masaüstü,web,mobil programlama
vb birçok alanda program geliştirilebilir.C#'ın eksi bir yönü olarak çalıştığı cihazda .Net Framework
gerektirmesini söyleyebiliriz.

PHP Programlama Dili

PHP(Personel Home Page)1995 yılında Rasmus Lerdorf tarafından oluşturulan,internet uygulamaları için tasarlanan ve sunucu taraflı,HTML içine gömülebilen ve yaygın kullanımlı bir programlama dilidir.PHP lisansı ile dağıtılıp,bütün web sunucuları,işletim sistemleri ve platformlarına ücretsiz olarak yüklenebilmektedir.Geliştirilmesi ise PHP platformu tarafından yapılmaktadır.Java'da olduğu gibi C yada C++ bilen birinin PHP'yi öğrenmeside oldukça kolaydır.
Artıları olarak Mysql veritabanı ve Linux işletim sistemiyle yüksek performanslı uygulamalar,hızlı çalışması,öğrenim kolaylığı ve internette büyük bir geliştirici topluluğunun olması,windows,Linux,Unix işletim sistemlerinde çalışabilmesi,MsSql,MySql,Oracle,Sqllite vb veritabanlarına bağlanabilmesi sayılabilir.Eksileri olarakta hatalarla baş etmenin zor olabilmesi,yapılacak küçük bir hatanın önemli sorunlara yol açabilmesi,güncellemelerde web sunucu ile eş zamanlı olarak derleme gerektirmesi,
detaylı programlamalarda programdan cevap alma süresinin uzayabilmesi söylenebilir.

 Delphi Programlama Dili

Delphi,Borland firması tarafından geliştirilen ve Pascal'ın nesne tabanlı sürümü diyebileceğimiz
görsel bir programlama dilidir.Delphi'nin ilk sürümü 90'lı yılların ortasından itibaren çıkmıştır.
Sonraki süre boyunca çeşitli sürümleride çıkan Delphi Windows ve .Net desteği sayesinde Windows ve .Net için program yazmaya izin verir.Fakat .Net için Delphi'yi kullanmak kaynak sıkıntısı bakımından pek tavsiye edilmemektedir,C# kullanmak daha avantajlı olabilir.Artıları olarak öğrenmenin kolay olması,
.Net ortamı için uygulama geliştirme,NYP uyumlu olması sayılabilir.Eksileri olarakta Java ve C# gibi yaygın bir kullanıma sahip olmaması ve bundan dolayı kaynak sıkıntısı çekilmesini söyleyebiliriz.

Kullanım Alanları:Masaüstü uygulamalar,web uygulamaları,ticari uygulamalar vb.

Matlab Programlama Dili

Matlab(Matrix Laboratory) Cleve Moler tarafından 1970'lerin sonunda geliştirilmeye başlanan ve
genelde mühendislik,bilimsel çalışmalar gibi konularda kullanılan bir programlama dilidir.

Kullanım Alanları:Matematiksel hesaplamalar,Fourier analizi,filtreleme,resim işleme,bilgisayarlı
görü sistemleri,2D-3D grafik çizimleri,veri analizleri,modelleme vb.


Sonuç

Bu yazıda günümüzde yaygın olarak kullanılan bazı programlama dilleri çeşitli açılardan incelenmiştir.Bir programlama dilini seçerken dilin seviyesi,hitap ettiği kullanım alanı,avantaj-dezavantajları,internette bu dille ilgili varolan kaynaklar vb birçok yönden değerlendirme yapılmalı ve bunun sonucunda hangisi daha uygun olarak görünüyorsa o yolda ilerlenmelidir.Böylelikle zaman-para kaybı,emek kaybı,başka dile geçme vb sorunlarında önüne geçilebilir.