Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Java Nedir?
#1
Java Nedir?
Bu kitap hiç programlama bilmeyenler için yazılmıştır.
Bir programlama dilini öğrenmek, anadil öğrenmeye benzer. Çocukken, ana dilimizin sözdizimini (gramer) bilmeden, başkalarının yaptığı gibi kullanmaya başlarız; yani taklit ederiz. Ancak okula başladıktan sonra grameri adım adım öğreniriz. Bu derste genellikle bu yöntemi izleyeceğiz; yani Java dilini sistematik değil, pedagojik öğreneceğiz. Bir çok kavramı önce kullanacak, sonra onların esasını öğreneceğiz.
İlk bölümlerde söylenen kavramları esastan anlamanız beklenmiyor. Programların sözdizimlerinin (syntax -gramer) dayandığı temelleri iyi anlamasanız bile, bir çocuğun ana dilini öğrenmesi gibi, o kalıpları olduğu gibi kullanmaya çalışmalısınız. Yeni başlayanların bir dili öğrenmesinin en iyi yolu budur. Taklit etmek ve bolca tekrarlamak. Bu ders boyunca kavramları sık sık tekrarlayacağız ama her tekrarda o kavrama yeni bilgiler eklemiş olacağız.
Birinci Bölümde Nesne Yönelimli Programlama kavramına doğrudan girmek yerine, her programlama dilinde var olan ve programlamanın temelleri sayılan kavramlar, hiç programlama bilmeyenler için açıklanacaktır. Daha önce bir programlama dili öğrenmiş olanlar, bu bölümü okumadan atlayabilirler.
Java Programlama Dili
İlk bilgisayarlar ortaya çıktığında, şimdi kullandığımız FORTRAN, COBOL, Pascal, C/C++, Java gibi üst düzey diller yoktu. Farklı makinelerin donanım yapıları farklı olduğu için, farklı marka ve model bilgisayarların makine dilleri (makinelerin anladığı tek dil) birbirlerinden farklı idi. O nedenle, ilk programcılar, bilgisayara, ancak kullandıkları makinenin  makine dili ile iş yaptırabiliyorlardı. Makine dilini öğrenmek zor olmak yanında, bir makine için öğrenilen makine dili, farklı marka ve modeller için geçerli olmuyordu. Bu zorluğu aşmak için önce assembler dili ve hemen arkasından üst düzey diller ortaya çıktı. Üst düzey diller, programcılara büyük rahatlık getirdi. Çünkü, programcı, işletim sistemini ve makineyi düşünmeden, kaynak programını istediği dille yazabiliyordu. Örneğin, C ile yazılan bir kaynak programı, uygun derleyici ile her işletim sisteminde ve her makinede derlenip çalıştırılabiliyordu. [Tabii, C derleyicisi yazan farklı şirketlerin standarttan ufak sapmalarını göz ardı ediyoruz.] 
Şimdi adına prosedürel diller denilen FORTRAN, COBOL, Pascal, Modula, C gibi üst düzey diller uzun yıllar programcılara başarıyla hizmet ettiler; halen de etmektedirler. Ama ortada bir problem vardı. Belirli bir işletim sistemi altında çalışan belirli tür bir makinede derlenen bir kaynak program, ancak o işletim sistemi altında çalışan o tür makinelerde koşturulabiliyordu. İşletim sistemi ve/veya makine türü değişince; yani platform değişince, program orada koşamıyordu; yeni platforma uygun bir derleyici ile yeniden derlenmesi gerekiyordu. Buna, kısaca platform bağımlılık diyoruz. Platform bağımlılıktan kastettiğimiz şey, bir kaynak programın belirli bir işletim sistemi altında çalışan belirli bir derleyici ile derlendiği ve ancak belirli bilgisayar türlerinde koşturulabildiği gerçeğidir. Örneğin, Windowsişletim sistemi altında çalışan  bir PC de derlenen bir bilgisayar programını  Macintosh ya da Linuxişletim sistemi altında çalışan  bir makinede koşturmak mümkün değildir.
Piyasaya farklı işletim sistemlerinin ve çok sayıda farklı donanımın çıkması, bilgisayar ağlarının gelişmesi, bir ağa bağlı makinelerin farklı işletim sistemleri altında çalışan farklı marka ve model bilgisayarlardan oluşuyor olması problemi büyüttü.
Problemin çözümü, platformdan bağımsız çalışabilecek bir dilin yaratılmasını gerektiriyordu. Bu iş, Sun firmasının geliştirdiği Java dili ile çözüldü. Gerçi Sun firması, ortaya çıkan bu büyük problemi çözmek için değil, daha basit bir amaçla yola çıktı. Elektrikli ev aletlerinin kolay kullanılmasını sağlayacak bir dil geliştirmek istiyordu. Kısa zamanda, bu işin ancak ortak bir platformda yapılabileceğini anladı. Sun’ın programcısı James Gosling, 1995 yılında her platformda çalışan Java dilini yarattı.
Gosling basit ama harika bir buluş yaptı. Farklı işletim sistemleri ve farklı donanımlarda kurulabilen ortak bir sanal makine tasarladı. Adına JVM (Java Virtual Machine) denilen bu sanal makine ücretsiz dağıtıldı. JVM her platforma kolayca kurulabilir. Java dili ile yazılan kaynak programlar, java derleyicisi ile JVM de çalışabilen bir tür makine diline dönüştürülür. Adına java byte kod denilen bu program JVM tarafından yorumlanır ve çalıştırılır. Java byte kod bir bakıma, prosedürel dillerde yazılıp derlenmiş kaynak programların işlevini yapar.
Java uygulamalarını çalıştırmak isteyen herkes, kendi makinesine JVM ‘i kurabilir. Bunun için JRE (Java Runtime Environment) adlı programı internetten indirip yüklemesi yetecektir. JRE bilgisayara bir kez yüklenir. Ondan sonra Java uygulamalarının hepsi bu makinede çalışabilir. Makinede bir java uygulaması çalışacağı zaman, JRE kendiliğinden JVM sanal makinesini oluşturur. JVM gerektiğinde çalışan bir programdır; her program gibi, işi bitince ana bellekten silinir. Dolayısıyla makineye bir zarar vermesi söz konusu değildir. Günümüzde, java uygulamaları ile karşılaşan tarayıcıların çoğu, JRE’yi otomatik olarak indirip yükleme yeteneğine sahiptir.   
Java basit, modern, nesne yönelimli, tip-korumalı ve C ile C++ dillerinin iyi özeliklerini almış bir dildir. Fazla olarak, her platformda çalışabilme yeteneğine sahiptir. Bu yetenek, onu yalnız bilgisayarlarda değil, internet uygulamalarına, cep telefonlarına, oyun makinelerine, ev aletlerine kadar geniş bir yelpazede uygulama alanı bulmasını sağladı. Bu nedenle, Java’yı hem programlama dili, hem de bir ortam olarak düşünebiliriz. Bu ortamda işletim sistemi, ağlar, internet programlama, veritabanı ve bütün orta katman (middleware) teknolojileri yer alır.
 
Özetle, Java basit bir dildir. Kolay öğrenilir. Genel amaçlı bir dilin bütün hünerlerine sahiptir. C, C++ dillerinin iyi özeliklerini almıştır. Kullanıcı dostu ve hızlı bir uygulama geliştirme  aracıdır.
[img=0x100]https://media.giphy.com/media/3og0ISdfBSjCwBwSfS/giphy.gif[/img]
Cevapla


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi

   
Hakkımızda
MyBB, © 2002-2024 MyBB Group Tema yapımcısı: Rankings