Kral-Forum - En Büyük Paylaşım Platformu
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Kral-Forum - En Büyük Paylaşım Platformu

Alemin En Kral Paylaşım Platform Sitesi
 
AnasayfaPortalLatest imagesKayıt OlGiriş yapsitemiekle

 

 Günümüzde Java

Aşağa gitmek 
YazarMesaj
By LaZoLi53
Administratör
By LaZoLi53


Erkek Mesaj Sayısı : 152
Nerden : mars\'dan
İş/Hobiler : pc,hacked
Kayıt tarihi : 18/02/08

By Poyraz
masterhack:
Günümüzde Java Left_bar_bleue0/0Günümüzde Java Empty_bar_bleue  (0/0)

Günümüzde Java Empty
MesajKonu: Günümüzde Java   Günümüzde Java Icon_minitimeC.tesi Mart 22, 2008 12:40 pm

Günümüzde Java
Her
iş sektörünün bir jargonu var, ve insan bir sektöre elini attığında ilk
bocalamasını aslında hiç bir anlam ifade etmeyen terimlerin bu sektörde
ne kadar anlam ifade ettiğini anladığında yaşıyor. Bana ilk "Java
biliyor musun?" diye sorduklarında, yine arkasından her derde deva
gelen birşeylerin çıkacağını kestirir gibi oldum. Artık bu Java
kardeşimizi duymayan yok, bir de kim olduğunu bilsek...

Java bilgisayar dünyasına daha dün doğmuş bir programlama dili, ve daha
doğar doğmaz bir isim benzerliğinden dolayı, uzun süre dünyanın her
yerinde JavaScript ile karıştırıldı. Java'yı herhangi başka modern bir
programlama dili ile aynı kefeye koyabiliriz. Sıfırdan oturup, her
şeyiyle çalışan bir yazılım geliştirmek mümkün. JavaScript ise adından
anlaşılacağı gibi bir scripting dilidir. Burada scripting dilinin ne
olduğunu açıklamaktan kaçınıyorum, ancak Java ve JavaScript ile ilgili
ortalarda en çok duyacağınız cümle şu olacaktır:"Biri derlenir, diğeri
edilmez." Maalesef bu tür derme çatma açıklamalar, bu işin jargonu ile
birlikte yeni başlayanın korkulu rüyasıdır. Bu iki isim benzeri
arkadaşı ayıran en önemli özellik yukarıdaki cümle değildir. Yine
burada bu dillerin farklarını anlatmaktan kaçınıyorum, çünkü bu yazının
amacı bu değil. Bilinmesi gereken en önemli nokta bu iki dilin yapı
gereği farklı olduğudur.

Java'nın yaratıcısı Sun Microsystems'in mühendislerinden biri olan
James Gosling, bu uğurda saçlarını ağartmış ileri görüşlü biri. Java
tasarlanırken amacın piyasadaki bir çok programlama diline bir yenisini
eklemek olduğunu zannetmiyorum, burada amaç biligisayar dünyasına yeni
bir ufuk açmak, yeni fikirler getirmek. Java'nın en büyük problemi
kendisinden önce insanlara ulaşan bu yeni fikirlerin arasında kendini
tanımlayamaması oldu. Çoğu insan Java'yı bu fikirlerle aynı kefeye
koydu, bir başka kesimse yüzüne bile bakmadı. Bundan dolayı ilk olarak
Java ile Java'nın getirdiği fikirleri birbirinden ayırarak işe başlamak
istiyorum.

Java, gerçek anlamda bir programlama dilidir. Java ile günümuzün
popüler dili C++ ile ne yapılıyorsa hepsinin yapılması mümkündür.
İçinizden olur mu hiç öyle şey dediğinizi duyar gibiyim. Bal gibi de
olur. Bilgisayar dilleri, syntax'ı hariç birbirlerinden çok farklı
diğillerdir. Önemli olan sizin programı yazmak istediğiniz platform
için elinizde bulunan kütüphane(library)'lerdir. C++ bu konuda çok
geniş olup Java ise kısıtlıdır. Peki o zaman Java ile her şey nasıl
yazılır? Java, başka bir dilde yazılmış bir kütüphaneyi çok rahat
kullanabilmektedir. Bu da yeni doğmuş bu dilin işini oldukça
kolaylaştırmaktadır. "Olur mu öyle şey o zaman Java programımız bütün
platformlarda çalışmaz!" işte bu cümle yine Java ile Java'nın
felsefesini karıştıran cahilliğin eseridir. Kim demiş ki biz Java
programlarımızı her platformda çalıştırmak istiyoruz diye. Bilgisayar
programları satan bir yerden bir yazılım(software) alırken hangi
platform için yazıldığına bakarak alırız, ve de gidip aynı software'i
cep bilgisayarımızda da güle oynaya kullanabileceğimiz fikrine
kapılmayız (tabi eğer program cep bilgisayarı için yazılmadıysa). Aynı
mantıktan yola çıkarak Java ile Java derleyicisini elde edebileceğimiz
herhangi bir platform için spesifik olan bir yazılım çıkarmak hiçte
yanlış bir davranış değildir.

Microsoft, Java'ya bir programlama dili olarak verilmesi gereken önemi
daha çok önceden anlamış, ve çıkardığı Visual J++ adlı software'inde PC
platformuna spesifik program yazmak için gereken bir çok gereci içine
koymuştur. Sun Microsystems ise kanımca yanlış bir strateji izleyerek
bunu baltalamaya calışmaktadır. İşte Sun Microsystems ile Microsoft
arasında uzun süredir süren davaların nedeni bundan ileri gelmektedir.
Peki ama Sun'ın, Microsoft'la alıp veremediği nedir? Niçin faydalı
birşeyi baltalamaya calışmaktadır? Bunu anlamak için Java'nin getirdiği
fikirleri anlamak gerekir.

Java'nin bir programlama dili olduğunu anladık. Peki getirdiği fikirler
nelerdir? Java tasarlanırken amaç, bu dille yazılan bir programı kolay
bir şekilde diğer platformlara taşıyabilmekti. Bir platform için
yazılmış bir yazılım'ın başka bir platformda calışır hale getirmek çok
emek gerektirir. İşte Java bu probleme ilaç olmak için düşünüldü. Peki
bu iş nasıl olur? Öncelikle, bütün dünyadaki bigisayar
tasarlayıcılarının bir araya gelip ortak, herkesi memnun edecek bir
bilgisayar çıkartması ufukta görünmediği için, bu işi yazılım bazında
halletmek gerekir. Bunun için Sun "Virtual Machine" dediği sanal bir
bilgisayar tasarlamıştır. Bu sanal bilgisayar,sizin gerçek
bilgisayarınızda çalışan bir program olup, Java programlarınızı
çalıştıracaktır. Burada ortaya atılması gereken en büyük soru şu
olmalıdır: "İyi de bu Virtual Machine denen programı butun platformlar
için nasıl ve kim yazacak?" İşte Sun Microsystems ve birçok Java
programcısının gözünden kaçan da bu olmuştur. Su anda bu sanal
bilgisayar bir elin parmaklarını geçmeyecek kadar değişik platform için
hazırda vardır, gelecekte bu sayının artması beklentimiz olmalıdır.
Üstüne üstluk bu platformlardaki Virtual Machine'in en son
version'larını sadece iki platformda bulmak mümkündür. PC ve Sun'ın
ürettiği Solaris. Apple maalesef yarışta geride kalmıştır. Bu nedenden
dolayı Sun'ın Microsoft'u, Java'yı güçlü bir programlama dili olarak
sunmasını baltalamaya çalışması yanlıştır. Nede olsa, Java ile yazılan
programlar hiç bir zaman dünyadaki bütün platformlarda calışmayacaktır.
Bunu düşünmek aptallık olur.

Olayın biraz daha detayına inelim. Yukarıdaki paragrafta aslında
dikkatli incelenirse bazı yanlışlar vardır, aslında basite indirgemek
desek daha doğru olur. Virtual Machine'i baska bir platforma aktarmak
zor olan bir şey değildir, ve de ilk çıktığından bu yana fazla yeni
sürümüde çıkmamıştır. Şimdi yine bazı okuyucular bana gülüyorlar
biliyorum, hatta içlerinden şu cümle geçiyor: "Çıktığından beri
değiştirmedikleri yeri kalmadı, bir oğrendiğimiz ertesi gün yok!"
Programcılar bu kaygılarını dile getirirken aslında bir şeyi
unutmaktadırlar. Değişen Virtual Machine değildir. Değişen Virtual
Machine ile birlikte Sun'in tasarladığı standard kütüphane'lerdir. Bir
dili kullanılır yapan öğenin kütüphane'lerinin genişliği olduğunu daha
önce belirtmiştim. İşte bu kütüphane'leri değişik platformlara taşımak
gerçek bir azaptır, ve de bir gecede olmayacaktır, çünkü bir PC de
ekrana bir pixel basmakla, bir Macintosh'ta ekrana bir pixel basmak
farklı prosedürlerdir.

Peki Sun kendine Microsoft'a karşı destekçi nasıl bulmaktadır. Bu o
kadar zor bir şey değildir. Microsoft piyasadaki monopol olarak zaten
bir çok kullanıcının ve programcının nefretini kazanmayı başarmıştır.
Dakka başı yeniden başlatmak zorunda kaldığımız Windows da bunun
cabasıdır. Tek yapılması gereken piyasaya bir slogan atmaktır: "Visual
J++ ile yapılan Java programlarınız başka platformlarda çalışmaz!" Bu
doğru bir cümle değildir, ama amacına ulaşmaktadır. Burada bizlerin
anlaması gereken, Java'ya yeni başlayan birinin ne yaptığını bilmeden
bu yazılım'ı kullanıp yazdığı bir Java programının baska platformlarda
calışmama olasılığının bulunduğudur. Şahsen ben Visual J++'in son
sürümünü beğenerek kullanıyorum, ama kesinlikle bu işe yeni başlayan
birine tavsiye etmiyorum. Eleştiriler çok da yersiz değil. Ancak,
önemli noktayı kaçırmamak gerekir. Microsoft, kanımca Java konusunda
kendisine özgü olmayan bir şey yapıyor: gerçekten faydalı olmaya
çalışyor. Sun ise Microsoft'a pazarı kaptırmanın verdiği hiddetle
saldırıyor. Olaydan zararlı çıkan aslında yine biz programcılarız.

Yazımı biraz da Java'yi popüler yapan "Java Applet"lerinden bahsederek
tamamlamak istiyorum, çünkü maalesef etrafta bilir bilmez konuşulan
kavramların başında geliyor. Java Applet'lerinin Java programlarından
farkı, web browser'ınız tarafından çalıştırılabilmesi, ve de Internette
dolaşırken bir web sayfasında karşımıza çıkabileceği için güvenliğiniz
düşünülerek sınırlandırılmış olmalırıdır. Konun detayları, bu
sınırlandırmanın nasıl yapıldığı, veya nasıl kaldırılabildiği yine bu
yazının içeriği değildir. Bunların haricinde Java Appletleri, Java
programlarindan hiç farklı değildir, onlar da Virtual Machine ile
çalıştırılırlar. Önemli olan nokta Java Applet'lerini yazarken platform
spesifik kütüphane'ler kullanılmaması gerektiğidir. Çünkü sizin web
sayfanızı ziyaret eden kişinin ne marka bilgisayar kullandığını
bilemezsiniz. İşte Sun'ın standard kütüphane'lerdinden şaşmamanız
gereken yer burası. Yok hayır, beni sadece PC kullanıcıları bağlar
derseniz, o zaman istediğiniz yapmakta yine serbestsiniz. Kalkıp
Microsoft'un DirectX kütüphane'sini kullanip 3 boyutlu mekanlarda
insanları dolaştırmak mı istiyorsunuz, yada insanlarin kulağına
Directional Audio ile hitap mi etmek istiyorsunuz? Bunlarin hepsi
mümkün. Unutulmaması gereken Applet'lerin uzunca bir süre gerçek
programların yerini alamayacaği. Düşünülmesi gereken bir başka nokta
ise, Appletler'in bu amaçla kullanılmasının ne kadar doğru olduğu. Bunu
size düşünme konusu olarak bırakıyor, bir başka yazıda tartışmayı
diliyorum. Java'yı desteklemeyi bırakmayın. Herkese iyi programlamalar
Sayfa başına dön Aşağa gitmek
https://kral-forum.catsboard.com
 
Günümüzde Java
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Kral-Forum - En Büyük Paylaşım Platformu :: Programlama Dilleri :: Java/JSP-
Buraya geçin: