Burdasınız :Ana Sayfa » Programlama » PROGRAMLAMA DİLLERİ

PROGRAMLAMA DİLLERİ

   Programlama Dili bilgisayarda çözülecek bir sorun için çözümün bilgisayara adım adım
yazılmasını sağlayan biçimsel kuralları olan ve bu kurallara sıkı sıkıya bağımlılığı
gerektiren bir tanımlar kümesidir.

   Belki daha kısa bir tanımı ile sizinle bilgisayar arasında bir tercümandır demek doğru olur. Bir sorun çözüleceği zaman öncelikle iyice anlaşılmış olmalıdır. Sonra bu sorunu çözebilecek bir çözüm zihinsel olarak hazırlanır. Bu çözüm bilgisayara uygun bir çözüm olmalıdır. Şöyle ki her çözüm bilgisayarda uygulanamaz. Çünkü her çözümün takip ettiği yol yeteri kadar basit olmayabilir. Üretilen çözüm son derece basit adımlarla anlatılabilmelidir. Algoritma kavramını hatırlayınız. Bu adımlar alt alta yazılmak suretiyle oluşturulan çözüm bilgisayar için uygundur. Ancak ihtiyaç var ise bu adımlar akış diyagramlarına çevrilebilir. Algoritmalar doğal bir dil ile yazılır ve sıkı sıkıya kuralları bulunmaz. Anlaşılmasının kolay olması yeterlidir. Akış diyagramlarında belirlenmiş semboller yer alır ve bu semboller tüm dünyada standarttır. Kısmen biçimsel olan bu diyagramlar, sorunun çözümünü daha evrensel bir dille ifade eder.
Son adım olarak, akış diyagramları veya algoritma ile elde edilen çözümün bir programlama dili ile bilgisayar ortamına aktarılması gerekir. Programlama dili son derece standart tanımlar içerir ve bir programı yazarken bu tanımlardan bir an için bile uzaklaşılamaz. O nedenle de bir program parçasından başkalarının başka şeyler anlaması mümkün değildir. Yazılan bu programlar bir derleyici vasıtası ile Makine diline çevrilir varsa hataların bulunmasını sağlar ve kullanıcı bu hataları düzeltir.

      Programlama Dillerinin Bazı Özellikleri

İfade gücü: Dili kullanırken gerçek ifadelerin kullanılması ile ilgilidir. Örneğin bir matematikçi ve kimyacı kodlama yaparken kullandığı işaretleri ve terimleri kullanmak isteyecektir.

Veri Türleri ve Yapıları: Ön tanımlı değişken türlerinin fazla ve ihtiyaçları karşılaması, bir dilden beklenen bir özelliktir.

Giriş - Çıkış Kolaylığı: Dosyalara erişme, karmaşık işlemler yapma imkanlarını kasteden bu özellik, C’de pek gelişmemiştir. Özel kütüphaneler gerektirir. Veritabanı programlama dilleri bu konuda oldukça gelişmiştir.

Taşınabilirlik: Bir sistemde yazılmış kaynak kodun, başka sistemlerde de sorunsuz derlenebilmesidir. Genellikle dilin seviyesi azaldıkça taşınabilirlik azalır. C dili, orta seviyelidir ancak taşınabilirlik bakımından üstündür.

Alt Programlanabilirlik: Programın daha ufak programcıklardan oluşturulmasıdır. Böylece kaynak kod kısalır, algılanması güçlenir, test olanakları artar, kodun güncelleştirmesi ve yeniden kullanılması kolaylaşır.

Verimlilik: Derlenen kodun hızlı ve sorunsuz çalışabilmesidir.

Okunabilirlik: Kaynak kodun hızlı biçimde anlaşılabilmesidir. İyi bir programcının yazdığı kaynak kod, çok iyi işlev gören ama karışık bir koddan ziyade açık ve anlaşılabilir biçimdedir. Ancak bu ölçüt dile de bağlıdır.

Esneklik: Dilin, programcıyı kısıtlamamasıdır. Ancak esnek bir dil, daha az hata vermesine karşın hata oluşma riski daha fazladır.

Öğrenme Kolaylığı: Dilin konuşma diline yakınlığı, komutlarının sade ve anlaşılır olması gibi ölçütler o dilin öğrenilmesini etkiler.

Genellik: Bir dilin herhangi bir alanda kullanılabilmesidir. Bazı diller sadece mühendislik alanlarında kullanılmasına karşın, C genel amaçlı bir dildir.

Yapısal Programlanabilirlik: Programın bloklar halinde yazılması, atlamasız akışı ve altprogramların kullanılması anlamlarına gelen bir programlama tekniğidir. Kodun okunabilirliğini ve verimini artırır.

Nesne Yönelimlilik: Yeni diller ve eski dillerin yeni uyarlamaları artık nesne yönelimli olmaya başladılar. Verilerin birbirinden daha kesin çizgilerle ayrılmasını öngören bir programlama tekniğidir.

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

   Programlama dilleri, makine dilinde programlama çok zor olduğu için geliştirilmiştir. Programlama dilleri kendi aralarında sınıflara ayrılmışlardır. İnsanın en zor öğrenebileceği, anlayabileceği yani 1100101 gibi makina kodlarına yakın diller en düşük seviyeli (low level) programlama dilleri, insanın en kolay anlayıp kullanabileceği ve insan diline yakın özellikler gösteren diller ise en yüksek seviyeli (high level) programlama dilleridir. Yazılan kodları, zaten makine dilinde değilse, makine diline çevirip koşmaya hazır hale getirmek, o dilin derleyicisinin veya yorumlayıcısının görevidir. Bu diller seviyelerine göre aşağıdaki gibi sınıflandırılabilir;

(Öğrenilmesi Kolay, Daha Yavaş)

          Çok Yüksek Seviyeli Diller (İnsana en yakın) FOXPRO, ACCESS, PARADOX, VB...
          Yüksek Seviyeli Diller : PASCAL, FORTRAN, COBOL, BASIC...
          Orta Seviyeli Diller : C ,C++, C# , Java ,ADA...
          Düşük Seviyeli Diller: Assembly...
          Makine Dilleri (Makineye en yakın diller. 0 ve 1’lerin dizilimlerinden oluşurlar..)

(Öğrenilmesi Daha Zor, Daha Hızlı)

Burada insana yakın demekteki kasıt, insanın anlamasına uygun, anlamlı sözcüklerle kodlama yapmak, makineye yakın demekteki kasıt ise bilgisayarın çalışma mantığına uygun, ne yapılacağı değil, nasıl yapılacağını kodlamaktır. Bir dilin seviyesi yüksekse, o dili öğrenmek kolaydır, kaynak kod kısadır ama oluşacak çalıştırılabilir dosya uzundur, uzun ve karmaşık işlemler kısa kodlarla gerçekleştirilebilir; Alçak seviyeli dillerde ise programcı, makineye daha hakimdir, sorumluluğu daha fazladır, kod yazımı uzun ve zahmetlidir.
Programlama dillerinin kendi alanları vardır ve her dil kendi branşında kullanıldığı sürece başarılı ve etkili kullanılmış olur. Genel olarak programlama dilleri uygulama alanlarına göre aşağıdaki sınıflara ayrılabilir:

1. Bilimsel ve Mühendislik Alanında : Üniversitelerde ve bilimsel kuruluşlarda mühendislik veya matematik hesapları için kullanılırlar. Bu dillere Pascal, C, C++, Java, Fortran gibi diller örnek olarak verilebilir.
2. Veritabanı Kullanımında : Genellikle personel kayıtları, stok veya depo denetimi vb gibi veritabanı gerektiren işlemlerde kullanılan dillerdir. Bu dillere DBase, Sql, Foxpro, Paradox gibi diller örnek olarak verilebilir.
3. Sistem Programcılığında : İşletim sistemlerinin ve sistem programlarının yazılımında kullanılan dillerdir. Örnek olarak C, C++, Java ve makina dilleri verilebilir.
4. Genel Amaçlı kullanım : Çeşitli konularda uygulama geliştirmek için kullanılan dillere Örnek olarak C, C++, Java, VB ve Pascal’ı verebiliriz.
5. Yapay Zeka Kullanımında : Özellikle son zamanlarda popüler olan yapa zeka uygulamalarında kullanılan dillerdir. Örnek olarak Prolog, Lisp gibi diller verilebilir.
Son yıllarda programlama dillerinde nesneye yönelik tasarımlar yapılmış ve bu dillerin çoğunun nesneye yönelik programlama yapabilen uyarlamaları çıkmıştır. Nesneye yönelik programlama, programcının kendi sınıfını ve nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak sağlayan ve programlama dillerinin geldiği son aşamalardan birisidir.
OOP (Object Oriented Programming) yani NYP (Nesneye Yönelik Programlama)’nın kullanılmasıyla ve Visual (Görsel) programcılığın da gelişmesi ile beraber ortaya oldukça güzel görünümlü ve kullanışlı programlar çıkmaya başlamıştır. Bu durum bilgisayar programlarına olan ilgiyi bir hayli arttırmış ve bu konulardaki araştırmaları hızlandırmıştır. Sonuçta, pek çok dilin artık nesneye yönelik olan ve görsel özellikler içeren sürümleri kullanılmakta ve tercih edilmektedir. Örneğin: Visual C++, C++ Builder, Delphi, Kylix, Java, Visual Basic vb. gibi diller.
İnternet’in de yaygınlaşmasıyla programlama dillerine yeni özellikler eklenmiş ve İnternet’te kullanılabilecek nitelikte görsel özellikli diller çıkarılmıştır. Örneğin web sayfalarının gösteriminde kullanılan HTML, kullanıcının dikkatini çeken, renkli ve hareketli arabirimiyle her geçen gün yeni ekler ile gelişmektedir. JavaScript ve VBScript gibi script diller HTML’ye getirdikleri ek özelliklerle çokça kullanılır olmuştur. Öte yandan Asp, Php, Perl vb. ile veri tabanlarını aktif kullanıma sunma, sunucu taraflı aktif sayfalar hazırlama olanağı elde edilmiştir.
Uygulama programlarına, ticari programlara veya işletim sistemlerinin kullanımına yönelik yazılım geliştirmek isteyen programcıların C, C++, Java, Delphi vb. gibi son zamanların en popüler dilleri üzerinde çalışması ve en az bunlardan bir tanesini öğrenmesi gerekir. Özellikle İnternet’in gelişmesi ile birlikte programlama dillerinin, yapılacak işe veya kullanılacak platforma göre değişik özellikler gösteren varyasyonları çıkmıştır. Bu durumda web teknolojisini izleyen ve İnternet üzerinde yazılım geliştirmek isteyen bir programcının javascript, vbscript, HTML gibi dilleri de bilmesi ve bu konularda kendini geliştirmesi de ayrı bir gereklilik olmuştur. Sıkça kullanılan programlama dilleri kısaca özetlenirse;

C
Yapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça kullanışlı ve esnek yapısı ile adından yıllarca bahsettirmiş, bilgisayar programcılığının temel dillerinden biridir. C ile bilgisayarınıza bir sistem yazmaktan bir oyun yazmaya kadar her türlü işlem yapılabilir. Bu özelliği sayesinde kullanım alanı çok geniş olan bir dildir. Bu kitabın odaklanacağı dilde bu olacaktır.
C++
Nesneye yönelik programlama yapabilen diller arasındadır. C’nin saydığımız tüm özelliklerine ek olarak güçlendirilmiş nesne yönetim özelliği ile şu anda bilgisayar dünyasının en çok kullanılan dillerinden biridir.
Pascal
Yapısal bir dildir, C diline benzerlik gösterir. Öğrenilmesinin kolay oluşu ve genelde, bilgisayar eğitimi veren okullarda okutulan bir ders olması sebebiyle kullanım alanı daha çok üniversiteler ve bilimsel hesaplamalar yapan kurumlardır.
C#
Nesneye dayalı bir programlama dilidir. C++’ın ve Java’nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. İleriye dönük olarak Microsoft firmasının Java teknolojisine rakip olarak ortaya sürdüğü bir programlama dilidir ve Microsoft’un bu konulardaki (İnternet uygulamaları) yelpazesini genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#’ı öğrenmeleri zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği açıktır.
Delphi
Pascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır. Öğreniminin kolay oluşu ve genellikle üniversitelerde Pascal eğitiminin ağırlıklı verilmesi nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği bir dildir. Görsel programlama özelliği taşır. Şu anda İnternet üzerinde en çok desteklenen ve üzerine bileşen (component) geliştirilen dillerin başında yer alır. Geniş bir kullanıcı kitlesi vardır.
Visual Basic
Basic tabanlı bir dil olup öğrenilmesi kolay, kullanım alanı geniş bir dildir. Özellikle görsel uygulamalarda projenin arabiriminin hızlı yazılmasını sağladığı için genelde kullanıcı arabirimi tasarımlarında kullanılır. Kapsamlı veya çok kullanıcılı uygulamalarda kullanılmaz. Kullanıcı sayısı az olan veya kısa sürede bitmesi gereken küçük ölçekli projelerde tercih edilir. Delphi’den sonra yoğun olarak kullanılmaktadır
VB.NET
Nesneye dayalı bir dildir. VisualBasic(VB) teki biçok özellik bu dilde yeniden yapılandırılarak değişmiştir. Yapısına bakılırsa VB den ayrı yeni bir dil geliştirilmiş denilebilir. Eklenen bazı özellikler ile VB de yapılamayan birçok işlem artık yapılabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak sağlanmıştır. VB programcılarının VB.NET’e geçişleri kolay olmayacak olsa da VB yerine VB.NET kullanımı gün geçtikçe artacaktır. VB.NET internet uygulamalarından yerel uygulamalara kadar kullanım imkanı geniş bir dildir.

Java
Açık olmak gerekirse, İnternet programcılığı, esnek programlama mimarileri, OOP gibi konularda söylenmesi gereken önemli bir nokta; Java dilinin, programlama dünyasına getirdiği önemli bir yeniliktir. Bu yenilik platformdan yani işletim sisteminden bağımsız olarak her sistemde çalışabilen programların yazılabilmesidir. İleriye yönelik bir bakış açısı ile bakıldığında cep bilgisayarlarının, kablosuz cihazların, cep telefonlarının sıklıkla kullanılacağı ve artık PC döneminin kapanmaya başladığı düşünülürse birçok cihazda çalışabilecek programların yazılmasının ne derece önemli olduğu anlaşılabilir. Java, son yıllarda programlama dünyasına gelmiş en iyi programlama araçlarından biridir ve yeni çıkacak programlama dillerinin çoğu Java’nın birçok özelliğinden esinlenmektedir.
Java, nesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil olup modern ve yenlikçi altyapısı, görsel özellikleri ve sürekli gelişen kütüphane (library) desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Java dili platform bağımsızlığı özelliği ile hemen hemen her alanda kullanılabilen esnek ve güçlü bir dildir.

Programlama dillerinin hepsini incelemeye imkan olmadığından burada çok kullanılan bir kısım dilden bahsedildi. Her dilin kullanım amacı ve yönelimi farklı olabilir önemli olan hedeflediğiniz konularda size yardımcı olacak dili seçip onunla çalışmanızdır.

1 yorum:

  1. şimdiye kadar okuduğum en yardım edici yönlendirici ve anlatım dili sade kolay bir makale bu gerçekten teşşekür ederim. iyi çalışmalar

    YanıtlaSil