da Nesne Kavramı,Program Dilleri ve Özellikleri?

advertisement
C++’da Nesne Kavramı
C++’da Nesne Kavramı
1.Nesne
Nesneye yönelik çözümleme ve tasarım yöntemi de bir dizi
tanım, gösterim şekli ve yordam kullanılmaktadır. Bunlar ,
kullanılan araç veya
dile göre küçük farklılıklar
gösterseler de temelde aynıdırlar. En önemli ortak özellik
olan nesne gerçek dünyadaki varlıkların yazılım alanına
uyarlamasında kullanılır. En basit anlamıyla nesne, mantıksal
bir varlıktır. Örneğin; kendimizi bir nesne olarak düşünelim.
Boyumuz, kilomuz, ten rengimiz, göz rengimiz ve daha bir çok
özellik fiziksel görünüşümüzü belirler. İşte bu fiziksel
görünüşümüzü
belirleyen
verilere
(değişkenlere)
özellik diyoruz. Konuşma, yürüme, koşma gibi eylemler ise
yapabildiğimiz işleri metodlarımız belirler.
Yazılımda
kullanılan nesne ise verileri ve bu veriler üzerinde işlem
yapmaya yarayan program kodunu içeren bir varlıktır.
Programlama açısından nesneler birer kara kutu niteliğindedir.
Her nesnenin bir arayüzü, bir veri yapısı ve bir dizi işlemi
vardır.
1.1. Nesne Sınıflandırma
Nesnelerin birbirleri arasında ilişki kurmak, ortak
özeliklerini belirlemek ve tekrar kullanımı destekleyebilmek
için nesnelerin sınıflandırılmasında fayda vardır. Nesneleri
kullanıldıkları yerlere ve kullanım amaçlarına göre şu
şekilde sınıflandırmak mümkündür:
Denetim
Nesneler bir yazılım biriminin, yani programın,
normal akışı sırasında bilgi işleme denetim unsuru olarak
görev yapabilirler.
Bilgisayar sistemi, yazılım
içinde bir nesne ile gösterilir ve sistemi denetimi bu
nesnenin sağladığı arayüz yordamları ile sağlanır.
Uygulama
Bir yazılım içinde belirli amaçların
gerçekleştirilmesi için nesneler kullanılabilir. Çeşitli
varlıkların bilgisayar ortamında gösterimi nesnelerle
yapılarak soyutlama (abstraction) ve kapsama (encapsulation)
sağlanır.
Veri Yönetimi
Üzerinde işlem yapılacak veriler birer nesne haline
getirilir ve bu nesneler üzerinde yapılan yordamlar (method)
tanımlanır. Nesneye yönelik veri tabanı yönetim sistemi buna
bir örnektir.
Arayüz
Kullanıcı ile uygulama arasındaki arayüzü de
nesnelerle sağlamak mümkündür. Bu da her iki düzey arasında
bağımsızlık oluşturduğundan herhangi birinde yapılacak
değişiklik veya gelişim diğerini fazla etki etmez.
1.2. Nesne Yapıları
Bir nesnenin ana yapısında iki önemli kısım vardır : Öznitelik
(attribute) ve işlem (operation). Öznitelikler çözümleme
sırasında dikkate alınmak üzere seçilen nesneyi tanımlar ve
uygulama alanında anlam taşıyan nesne kavramını oluştururlar.
Nesnelerin özniteliklerini değiştirmek ve nesneye bir iş
yaptırmak için de işlemler kullanılır. Bu işlemlere yordam ya
da metot adı verilmektedir. Öznitelik ve yordamların
belirlenmesi nesneye yönelik çözümlemenin temelini oluşturur.
Özniteliklerin belirlenmesi, çözümleyicinin nesneleri
belirlemede kullandığı yönteme benzer şekilde, problem
tanımını anlatan metnin tekrar incelenmesiyle başlar. Nesneye
ait olabilecek her şey, genellikle isimler işaretlenir.
Hangilerinin birer veri öğesi olabileceği belirlenir. Bileşik
tipte olan veri öğeleri de tekil öğeler şeklinde tanımlanır.
Bu şekilde bir öznitelik listesi oluşturulur.
Yordamlar, nesnenin içinde tutulan bir ya da daha fazla
özniteliği değiştirebilirler. Bir kısım yordam yalnızca
değişiklik yapabilirken, bir kısım yordam da hesaplama yapabilir. Bazıları da nesnenin iç yapısı hakkında kullanıcısına
bilgi sağlar. Yordamlarda öznitelikler gibi problemi anlatan
metin içinden çıkartılır. Bir nesneyle ilişkisi olabilecek
fiiller, yani eylemler, işaretlenir, seçilir ve listelenir.
Yordamların bir kısmı da nesneler arası iletişimi kurmak için
kullanılır. Bu amaçla oluşturulan tek ya da çift yönlü
düzeneğe ileti, yani mesaj denir. Nesneler bu iletileri
birbirlerine aktararak haberleşirler. Gönderici nesneler alıcı
nesnelerin ne yapmaları gerektiğini bu iletilerle bildirirler.
Çözümleme sırasında, iletişimi sağlayan gönderici ve alıcı
nesnelere ait işlemler de belirlenir.
Nesnelerin tanımlanmasındaki son aşama nesnelerin yaşam
süreleriyle ilgilidir. Nesneler yaratılır, öznitelikleri
değiştirilir, belli bir iş yaparlar, işleri bitince de silinirler. Bu amaçla, kullanımı o an için öngörülmese dahi uygun
yapıcı ve yokedici işlemlerin de belirlenmesinde fayda vardır.
1.3.
Nesne Gösterimi
Nesneler birbirleriyle ilişkili veri ve işlemleri bir arada
tutarak kapsama (cncapsula- tion) ve iyi tanımlanmış bir
arayüz ile modülerlik (modularity) ilkelerini desteklerler.
Nesnenin genel kısmı herkese açık ve paylaşılır verileri
içerirken özel kısmında yalnızca kendisi tarafından kullanılan
veriler bulunur. Böylelikle de bilgi gizleme (information
hiding) ilkesi desteklenmiş olur.
Program
Dilleri
Özellikleri?
ve
Programlama dili, yazılımcının bir algoritmayı ifade etmek
amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının
tek tipleştirilmiş yoludur. Programlama dilleri, yazılımcının
bilgisayara hangi veri üzerinde işlem yapacağını, verinin
nasıl depolanıp iletileceğini, hangi koşullarda hangi
işlemlerin yapılacağını tam olarak anlatmasını sağlar. Şu ana
kadar 2500’den fazla programlama dili yapılmıştır
Programlama dilleri insanların algılamasına yakın olmasına
göre 3 gruba ayrılır.
Alt seviye programlama dilleri: Makine koduna oldukça yakın
programlama
dilleridir.
Makine
hakimiyeti
oldukça
gelişmiştir.Bu programlama dillerini bilen kişilerin mikro
işlemciler hakkında bilgi sahibi olması gereklidir.(Assembly
programlama dili gibi)
Orta seviye programlama dilleri: Oldukça esnek olan bu diller
hem üst hem alt seviye programlama yapabilirler. Alt seviye
dillere oranla biraz daha anlaşılırdır. (C programlama dili
gibi.)
Üst seviye programlama dilleri: Olay tabanlı programlama
dilleri olarak da adlandırılırlar yalnız bu programlama
dilleri sadece belirli fonksiyonlar etrafında çalışırlar ve
programlama hakimiyetini azaltırlar. En hızlı ve en etkili
programlama dilleri bu kategoridedir. (visual basic ve pic
basic pro gibi) Diğer programlama dillerine kıyasla daha kolay
öğrenildiği ve uygulandığı için yeni başlayanlara en uygun
diller üst seviye programlama dilleridir.
Aşağıda Bazı Program Dillerin tanımlarını yapacağız.
C Dili: AT&T Bell laboratuvarlarında,
Ken Thompson ve Dennis Ritchie
tarafından UNIX İşletim Sistemi‘ ni
geliştirebilmek amacıyla B dilinden
türetilmiş yapısal bir programlama
dilidir. Geliştirilme tarihi 1972
olmasına rağmen yayılıp yaygınlaşması
Brian Kernighan ve Dennis M. Ritchie
tarafından yayımlanan “C Programlama
Dili” kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm
işletim sistemlerinin (Microsoft Windows, GNU/Linux, *BSD,
Minix) yapımında %95′ lere varan oranda kullanılmış, halen
daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız
gereken her yerde kullanılan oldukça yaygın ve sınırları
belirsiz oldukça keskin bir dildir
C++ Dili: C++, Bell Laboratuvarlarından
Bjarne Stroustrup tarafından 1979
yılından
itibaren
geliştirilmeye
başlanmış, C‘yi kapsayan ve çok
paradigmalı, yaygın olarak kullanılan,
genel amaçlı bir programlama dilidir.
İlk olarak C With Classes (Sınıflarla C)
olarak adlandırılmış, 1983 yılında ismi
C++ olarak değiştirilmiştir.
Donanım ve yazılımın bir veya daha fazla yapılandırması o
programı çalıştırmak için bir tür yol sağlar. Programlama dili
uygulamasında iki yaklaşım vardır: Derleme ve yorumlama.
Herhangi bir tekniği kullanarak bir programlama dili uygulamak
mümkündür.
C#
Dili:
C#
Microsoft
tarafından
geliştirilmiş olan bir programlama dilidir.
C++ ve Java dillerine oldukça benzer, ancak
C#’ın bu dillere benzerliği yanında farkları
da vardır. Örneğin C#, C++’dan farklı
olarak % 100 nesne yönelim tekniğine
sahiptir. Java’dan farklı olarak ise C#’ta
gösterici (pointer) kullanılabilir. Böylelikle eski yazılım
bileşenleriyle uyumlu bir şekilde çalışılabilir.
C# kodları, C++ veya Visual Basic’ten farklı olarak direkt
makine koduna derlenmez. Önce IL dediğimiz bir ara koda
derlenir.
C#’la şunları yapabilirsiniz:
Konsol uygulaması geliştirme
Windows uygulaması geliştirme
ASP.NET uygulaması geliştirme
Web servisleri yazma
Mobil uygulama geliştirme (PDA, cep telefonları vb.
için)
DLL yazma(Dll:Dinamic Link Library(DLL dosyalarının
görevi, programların ortaklaşa yaptıkları görevi
koordine etmektir.)
JAVA:
Java,
Sun
Microsystems
mühendislerinden James Gosling tarafından
geliştirilmeye başlanmış açık kodlu,
nesneye yönelik, zeminden bağımsız, yüksek
verimli, çok işlevli, yüksek seviye, adım
adım işletilen (yorumlanan-interpreted) bir
dildir.
Java ilk çıktığında daha çok küçük cihazlarda kullanılmak için
tasarlanmış ortak bir düzlem dili olarak düşünülmüştü. Ancak
düzlem bağımsızlığı özelliği ve tekbiçim kütüphane desteği C
ve C++‘tan çok daha üstün ve güvenli bir yazılım geliştirme ve
işletme ortamı sunduğundan, hemen her yerde kullanılmaya
başlanmıştır. Şu anda özellikle kurumsal alanda ve mobil
cihazlarda son derece popüler olan Java özellikle J2SE 1.4 ve
5 sürümü ile
başlamıştır
PYTHON:
masaüstü
Python,
yorumlamalı,
etkileşimli
uygulamalarda
nesne
da
yaygınlaşmaya
yönelimli,
birimsel (modüler) ve
yüksek
seviyeli
bir
programlama dilidir.
Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve
akılda kalmasını kolaylaştırır. Bu da ona söz diziminin
ayrıntıları ile vakit yitirmeden programlama yapılmaya
başlanabilen bir dil olma özelliği kazandırır.
Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri
alanı girişini destekler. Hemen hemen her türlü platformda
çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian)
Python ile sistem programlama, kullanıcı arabirimi
programlama, ağ programlama, uygulama ve veritabanı yazılımı
programlama gibi birçok alanda yazılım geliştirebilirsiniz.
Büyük yazılımların hızlı bir şekilde prototiplerinin
üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++
gibi dillere tercih edilir.
PHP:
İnternet için üretilmiş,
sunucu taraflı, çok geniş
kullanımlı, genel .amaçlı, HTML
içerisine gömülebilen betik ve
programlama dilidir.
PHP kodları PHP işleme modülü bulunan bir web sunucusu
tarafından yorumlanır ve çıktı olarak web sayfası üretilir. Bu
kodlar veriyi işlemek üzere harici bir dosyaya kaydedilerek
çağırılabildiği gibi doğrudan HTML kodunun içine de
gömülebilir. PHP zaman içinde bir komut satırı arayüzü sunacak
şekilde evrilmiştir,
PHP özgür bir yazılım olup PHP Lisansı ile dağıtılmaktadır.
PHP tüm web sunuculara ve hemen hemen tüm işletim sistemi ve
platforma ücretsiz olarak yüklenebilir
PHP, özellikle mysql veritabanıyla birlikte ve Linux işletim
sistemi altında iyi bir performans sergilemektedir. C/C++
diline olan benzerliği nedeniyle bu dili önceden bilenlerin
PHP öğrenmesi oldukça kolaydı
kaynaklar:http://www.godoro.com/Divisions/Ehil/Mecmua/Magazine
s/Articles/txt/html/article_ProgrammingAndLanguage.html
http://www.robotiksistem.com/programlama_dilleri_ozellikleri.h
tml
https://tr.wikipedia.org/wiki/PHP
Rifai KUÇİ
Download