Sun

Java ya Giris

Uzun zamandır acmak istediğim bir baslık olarak Java yı, kısa dersler halinde blog um da anlatmak istiyordum. Şöyle ki, bir iki proje yüzünden ertemek zorunda kaldım . Tabi ki projelerin C# . net ile gelistirdiğimizi belirtmek isterim . Java ya karşı duydugum ilgi C#.net ile kıyaslanamaz . Bunun altında yatan birçok sebep var elbette . İşte onları burada yayınlamak heralde iyi bir ders olur gibi:) (bu yazı için).C#.net ve Java platformları arasında ki farklar,benzerlikler ve özellikleri konusunda kafanıza takılan o kadar çok soru olmustur ki  az çok tahmin edebiliyorum . Bircok sitede bu farklılar hakkında makaleler okumussunuzdur . Bu farklılıkları su an anlatmyı düsünmüyorum eger bir C# programcısıysanız Java yı ögrenerek birbirleri arasındaki müthis benzerliğin yanında bir o kadar farklılıkları da göreceksiniz. Amacım bu yazılar la “Java Dünyasını”  birlikte kesfetmek.

Peki Nedir Bu Java ?

Sun firmasının geliştirdiği platform bağımsız programlama dili. Platform bağımsız ne demek ? Java ile her türlü işletim sisteminde calısabilmek demektir. İşte burada durup C# .net den farklı olarak bir “+” özelliğini ögreniyoruz . Yani sadece Windows tabanlı işletim sisteminde çalısmak C# a özgü bir harekettir . Microsoft un geliştirdiği C# sadece Windows işletim sisteminde çalısabilir demektir . Birçok işletim sistemi vardır . Sıradan bir bilgisayar kullanıcısısanız  UNIX,Linux, Apple Mac ve IBM in geliştirdiği birçok işletim sisteminin de var oldugunu bilmeniz gerek . İste bagımsız çalısan Java platformu butun işletim sistemlerine uyumludur .

İyi bir C++ developer ın  çocuk oyuncağı diyeceği kadar basittir . Çünkü Java C++ ı model alarak tasarlandığı için , bu C++ bilenler için cocuk oyuncagıdır .Nesne Yönelimi (Object Oriented) özelliklerinin birçogunu C++ dan almıstır ki üzerinde durmamız gereken konuya da gelmiş bulunuyoruz. Nedir Nesne Yönelimli ? .

Nesne Yönelimli Programlama (object oriented programing) ?

Sanırım en çok üzerinde durmamız gereken konulardan birisi de Nesne Yönelimli programlamadır . Java dediğimiz de aklımıza  Nesneye dayalı programlama gelebilir ama “nesne yönelimli”  dediğimizde aklımıza sadece Java gelmesi doğru olmaz . Nesne Yönelimi, karmaşık ve uzun vadeli yazılımlara ve onların tasarımlarına çözüm bulmak amaçlı bir sistem olarak bizim işimizi kolaylaştırmaktadır. Günlük hayatta işler ne kadar zorlaşmıssa bu zorluklar bir o kadar üretilmek istenen yazılımlara da yansımıştır . Yazılan herhangi bir fonksiyonun tekrar kullanılamaması programcılar için büyük bir meseledir heralde. İşte bu koşullar altında nesne yonelim mantığı kabaca ,herhangi bir proje için kullanılan fonksiyonu baska bir proje için de kullanma esnekliğini bize sunuyor. Standart C nin bir uzvu olan ve OOP mantığına bir geçis yapan C++ ile nesne yönelimine geçis yapabiliriz . Java da amaç ise tamamen OOP mantığına göre kurulmuştur . Bir problem belirlenir sınıflar ve nesneler tanımlanır . İlk aşama olarak amacımız burada problemi çözmek değildir , onu anlamaktır .Daha sonra sınıfların özellikleri belirlenir .Aralarındaki ilişkiler kurulur . Bu şekilde tasarımm yapıldıktan sonra . OOP mantığına uygun diller yardımıyla ki bu Java ve C# olabilir , kodlamaya başlanabilir . Burada aslında bir iki cümle ile yazılım mühendisliğinin temel mantığını anlatmaya çalısmış da olduk . Nesne yönelim mantığıyla ilgili daha ayrıntılı olarak baska bir başlik altında daha sonra tartısmak da fayda var aslında.

Javanın diğer özelliklerinden biri de çok kanallı(multithread) olmasıdır . Bunu şöyle açıklayabilirim. Birden fazla process i eş zamanlı olarak yapabilme özelliğine sahiptir .

to be continued…

H.Can Çobanoglu.

Tags: , , , ,

Pazar, Ağustos 17th, 2008 Java 2 Yorum