PROGRAMLAMA TÜRLERİ
1 Yapısal Programlama
Yapısal programa tekniğinde ise alt programlar (procedures)
ve fonksiyonlar (functions) kullanılır. Böylece program akışının kontrolünde
büyük kolaylıklar sağlanmış olur. Program akışı esnasında, ana program
içerisinden alt programlar çağrılıyor. Bu alt program çalıştırıldıktan sonra,
program akışı tekrar geri dönecek ve programın işleyişi kaldığı noktadan devam
edecektir. Yapısal programlama tekniğinde kod içerisinde aynı alt program
defalarca çağrılabilir. Böylece gereksiz kod tekrarı da ortadan kalkmış olur.
2 Modüler Programlama
Modüler programlama tekniğinde belli altprogramlar ayrı ayrı
modüller içinde gruplandırılır. Her modül içerinde ana program içinde tanımlı
global değişkenler geçerlidir. Aynı zamanda her modül kendi verisine de
sahiptir.
3 Nesne Tabanlı Programlama
Nesne tabanlı programlama (Object-Oriented Programming, OOP)
dilleri 1980’li yıllarda C++ ile ortaya çı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ğlar. Bu programlama sisteminin zor olması nedeniyle, çok
sayıdaki nesneler önceden programcıya hazır bir şekilde sunulur. Günümüzdeki
programcılar ise nesneye yönelik olan ve Visual özellikler içeren sürümleri
kullanmaktadır. Visual C++, C++ Builder, Delphi, Java, Visual Basic vb. gibi
örnekler sayılabilir.
Bu teknikte nesneler birbirlerine mesaj göndererek etkileşim
içinde bulunurlar. Nesne yönelimli programlama tekniğinde açık bir biçimde
altprogramları çağırmak yerine, direkt olarak ilgili nesneye bir mesaj
gönderilir. Nesne kendine gelen mesajı alır ve öncelikle nesnenin bir örneğini
(kopyasını) oluşturur. Bu kopya gerekli işlemleri yaptıktan sonra kendini yok
eder. Tüm bu işlemlerden nesnenin kendisi sorumludur.
4 Olay Temelli Programlama
Bilgisayarda bir uygulamayı kullanırken, ekran üzerinde bir
nesnenin hareket ettirilmesi veya bir tuşa basılarak düğmelerin seçilmesi
işlemleri bir olaya dayanır. Olay temelli programlama (Event – Driven
Programmming, EDP) kullanıcıların yapacakları işlemlere göre programın hareket
etmesi temeline dayanır. Daha önceki programlarda ekrana gelen menülerde daha
çok klavyenin fonksiyon ve yön tuşları aktif olarak kullanılıyordu. Olay
temelli programlamada farenin menüler ve pencereler üzerinde oldukça yaygın
olarak kullanılması sağlanmıştır. Bu şekilde işlemler daha basit, fonksiyonel
ve daha kullanışlıdır.
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;
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.
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.
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.
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 bir ç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.
Assembly
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.
bir sonraki dersimizde görüşmek üzere esen kalın... ebi
Hiç yorum yok:
Yorum Gönder