Allahim nerden girdim bu gayya kuyusuna?
Birden su guzelim(!) bytecode dokumanimin orasina burasina dokunurken, sonraki 1,5 yilim gözlerimin önunden geciyor. Biliyorum sIkca merak edecegim neden böyle bir ise girdim. Cevabi da yok onu da biliyorum. Neden ister insan kendini böyle bilinmezlerin dunyasina atmayi? Bilinenler sIkIcI oldugu icin mi? Tum bilinen seyleri biliyoruz sanki de bilinmeyenler kaldi...
(Nilufer- Dokunsalar Aglarim)
Ne yazilacak? Simdi java virtual machine var, adi gibi degil, aslinda var bu arkadas. Hepinizin bilgisayarinda hazir ve nazir, ve hatta telefonlarinizda da var. Nedir bu tantana peki? Bu iste JVM dilinde (JVML) bir programi alip onu calistiriyor. Ne derse bu program yapiyor yani.
Ne diyor bu programlar peki? Cok anlasilir seyler demiyorlar. Cok basit bi mekanizma var. Simdi böyle az miktarda komut var. (Syntax) Dokumana bunu bi yaziyoruz. Zaten ben 15 tanesini falan aliyorum dokumana. Bu komutlar genelde surdan al, buraya yaz, su fonksiyonu cagir tadinda. Alinan, yazilan seyler de cok basit. Benim su anda aldigim modelde bi sayilar var ortamda. Ama yakin zamanda harf dizileri de olacak. Simdi harf dizilerinde söyle bir durum var. Bu java arkadasimiz böyle bilgileri paketleyip siniflandirmanin sevildigi bir dil. Habire yeni paketcikler yapip bunlara ad veriyorsunuz. Ve fonksiyonlarinizi sadece belirli bir paket icin yaziyorsunuz. Harf dizileri de bu primitif dilde bir paket. Neyse, syntax dedigimiz dil taniminda ayni zamanda bu paketciklerin siniflarindan da bahsetmek gerekiyor. Örnegin dedigimiz gibi her fonksiyon bir sinifa mensup oluyor, ayni zamanda fonksiyonun uzerinde calistigi tum bilgilerin de siniflari oluyor. Ne biliyim 2 sayi uzerinde calisiyor mesela f fonksiyonu ve de C sinifina ait.
Butun bunlardan bahsettikten sonra bir de semantik var. Yani nasil calistiriliyor bu komutlar? Burada olay tabi bir butun. Bir static semantik var. Yani bu jargonda ortam dedigimiz seydeki tanimlamalar. Bu ortam arkadasimiz alip sizin programinizi okuyan hatirliyan bir sey. Ona C sinifinin f fonksiyonu nedir deseniz, size bir dizi satir verecek ve her satirda bir komut olacak. Ustune C sinifinin fonksiyonlari nedir deseniz, size f1, f2 vs. diyecek. Böyle bilgili bir arkadasimiz.
Esas action dinamik semantik kisminda tanimli. Siz pilgisayarda, bir programi calistirdiginizda aslinda olan su, diyorsunuz ki "Al JVM kardes, su fonksiyonu su su argumanlarla bi calistir bakalim" O da gidiyor önce bi ortama okutuyor sizin fonksiyonu ve tabi onun mensup oldugu sinifi. Sonra.. Sonra ne yaptigini bu dinamikle acikliyoruz iste. Diyoruz ki bizim bi makine var, bu makine halden hale gecer. Böylece sizin programi calistirir. Halleri anlatmak icin de cesitli teraneler var. Bu teraneleri anlatmak zorunda olmak (size degil de rapor/makale okuyucularimiza) bende acayip bir "az daha WoW oynasam" hissi yaratiyor. Gayya kuyusu, gayya.
Birden su guzelim(!) bytecode dokumanimin orasina burasina dokunurken, sonraki 1,5 yilim gözlerimin önunden geciyor. Biliyorum sIkca merak edecegim neden böyle bir ise girdim. Cevabi da yok onu da biliyorum. Neden ister insan kendini böyle bilinmezlerin dunyasina atmayi? Bilinenler sIkIcI oldugu icin mi? Tum bilinen seyleri biliyoruz sanki de bilinmeyenler kaldi...
(Nilufer- Dokunsalar Aglarim)
Ne yazilacak? Simdi java virtual machine var, adi gibi degil, aslinda var bu arkadas. Hepinizin bilgisayarinda hazir ve nazir, ve hatta telefonlarinizda da var. Nedir bu tantana peki? Bu iste JVM dilinde (JVML) bir programi alip onu calistiriyor. Ne derse bu program yapiyor yani.
Ne diyor bu programlar peki? Cok anlasilir seyler demiyorlar. Cok basit bi mekanizma var. Simdi böyle az miktarda komut var. (Syntax) Dokumana bunu bi yaziyoruz. Zaten ben 15 tanesini falan aliyorum dokumana. Bu komutlar genelde surdan al, buraya yaz, su fonksiyonu cagir tadinda. Alinan, yazilan seyler de cok basit. Benim su anda aldigim modelde bi sayilar var ortamda. Ama yakin zamanda harf dizileri de olacak. Simdi harf dizilerinde söyle bir durum var. Bu java arkadasimiz böyle bilgileri paketleyip siniflandirmanin sevildigi bir dil. Habire yeni paketcikler yapip bunlara ad veriyorsunuz. Ve fonksiyonlarinizi sadece belirli bir paket icin yaziyorsunuz. Harf dizileri de bu primitif dilde bir paket. Neyse, syntax dedigimiz dil taniminda ayni zamanda bu paketciklerin siniflarindan da bahsetmek gerekiyor. Örnegin dedigimiz gibi her fonksiyon bir sinifa mensup oluyor, ayni zamanda fonksiyonun uzerinde calistigi tum bilgilerin de siniflari oluyor. Ne biliyim 2 sayi uzerinde calisiyor mesela f fonksiyonu ve de C sinifina ait.
Butun bunlardan bahsettikten sonra bir de semantik var. Yani nasil calistiriliyor bu komutlar? Burada olay tabi bir butun. Bir static semantik var. Yani bu jargonda ortam dedigimiz seydeki tanimlamalar. Bu ortam arkadasimiz alip sizin programinizi okuyan hatirliyan bir sey. Ona C sinifinin f fonksiyonu nedir deseniz, size bir dizi satir verecek ve her satirda bir komut olacak. Ustune C sinifinin fonksiyonlari nedir deseniz, size f1, f2 vs. diyecek. Böyle bilgili bir arkadasimiz.
Esas action dinamik semantik kisminda tanimli. Siz pilgisayarda, bir programi calistirdiginizda aslinda olan su, diyorsunuz ki "Al JVM kardes, su fonksiyonu su su argumanlarla bi calistir bakalim" O da gidiyor önce bi ortama okutuyor sizin fonksiyonu ve tabi onun mensup oldugu sinifi. Sonra.. Sonra ne yaptigini bu dinamikle acikliyoruz iste. Diyoruz ki bizim bi makine var, bu makine halden hale gecer. Böylece sizin programi calistirir. Halleri anlatmak icin de cesitli teraneler var. Bu teraneleri anlatmak zorunda olmak (size degil de rapor/makale okuyucularimiza) bende acayip bir "az daha WoW oynasam" hissi yaratiyor. Gayya kuyusu, gayya.
0 Comments:
Post a Comment
<< Home