Önsöz
Öncelikle merhaba ben Karahan, forumda bitmek bilmeyen "Skript mi iyi Java mı?", "Skript lag yapmaz.", "Java daha uzun ve zor." tartışmalarına biraz açıklık getireceğimi düşündüğüm için bu konuyu açmış bulunmaktayım. Bu konuda sizlere hangisinin iyi olacağını anlatacağım ve neden hangisinin iyi olduğunu da. Kafanızı çok şişirmeden başlayalım isterseniz.
Java'nın Ayrıcalıkları
Java br dildir, evet belki bilmiyordunuz fakat Java bir yazılım dilidir. Java bilmek sadece Bukkit'e eklenti yapmak olmayıp Minecraft gibi oyunları da zor olsada eğer bu alana çok büyük miktarda uğraşırsanız bir ekip toplayıp yapmanız muhtemeldir. Anlayacağınız Java globaldir, 10 yıl önceki telefonlarda bile Java vardır. Yani Java öğrenirseniz bu birçok alanda hatta iş bulmanızda bile işinize yarayabilir yani boşuna öğrenmemiş olursunuz. Şimdi diğer bir özelliğe geçelim, Bukkit hatta Minecraft Java ile kodlanmıştır. Bu nedir, Bukkit'e eklenti yazmak için kullanılabilecek en iyi dil Java'dır. Hatta Bukkit de Java ile kodlanmıştır bunun sebebi Minecraft'a en uygun şekile getirebilmektir. Tabi ki C++ ile bir Bukkit'e benzer bir sunucu modülü yapan da var, hemde eklenti sistemi Lua. Bu dille yapılan bir şeyin ne kadar özelliği olur elbet tartışılır lakin en az lag ve bug yapacak dil Java'dır dememde bir hata olmaz. Gelelim şu en çok tartışılan "Java" lag yapar mı. Java'ya sen istersen her tik çalışan 20 tane timer ekle ve bunu 512MB sunucuya at. Yapacağı lag lag değildir. Fakat bunu Skript de yaparsanız bırakın 20 yi 5 taneden sonra sunucu çökecektir. Bu da Java'yı avantajlı kılan şeydir. Peki neden Skript çökertir derseniz Skript'in looplama mantığı Java'dan çok uzaktır. Gereksiz birçok işlem yapar sadece bir loop için bu da büyük miktarda laga sebebiyet verir. Java kesinlikle lag yapmaz diyebilirim, ben bu yaşıma geldim ve kendi kodladığım eklentiler dışında 512MB sunucumu çökerten bir eklenti daha kullanmadım. Sıradaki özelliğimiz ise alabileceğiniz haklar. Açıkçası birçok lisans firmasını kullanıyorum lakin en çok kullandığım Genel Kamu Lisansıdır ve Skript'e hak alınmadığını hatırlıyorum. Ben birinin Skriptini çalsam paylaşsam bana hiçbir şey yapamaz diyebilirim lakin Java'da olay öyle değildir. Şimdi en havalı konu Java mı uzun, Skript mi uzun bakalım hangisi uzun derseniz burada olay biraz farklıdır şimdi göstereceğim hangisi uzun:
Buna baktığımız da Java daha uzun gibi gözükse de bu aslında pek doğru değildir. Benim bu kodu yazarken tıkladığım tuş sayısı 42'dir. Skript yazan birinin 20 civarı falan, onun işi daha kolay gözükse de bu aslında basit bir proje olduğu için böyledir. Java Skript'den kat be kat kısadır. Böyle basit projelerde kıyaslamak yerine benim kanalımda UFO eklentimin yapılışına bakabilirsiniz, Skript ile kesinlikle daha uzun, daha zor, daha çok lag yapan bir sistem yapacaksınızdır aksini idda eden varsa deneyebilir. Daha birçok Java'nın + özelliği var, Skript de bazı Eventler yoktur Java da vardır, Java'ya uygun daha çok API Skript'e uygun az sayıda Addon vardır. Say say bitmez Java ile Skript'lerin farklı fakat bunlar benim gözüme batanlar. Gelelim Skript'in ayrıcalıklarına.
Skript'in Ayrıcalıkları
Skript'in açıkçası pek ayrıcalığı yoktur hatta dezavantajları vardır lakin genede bazı kabullenmek zorunda olduğumuz ayrıcalıkları vardır. Acemiler için göze büyük gelen şeyler yapılması basittir. Bir acemi bile temeli çözdükten sonra Survival Games kodlayabilir. Bu Skript'i kolay yapan şeydir fakat kesinlikle ama kesinlikle Java ile yapılmış bir SG eklentisi daha kısa olacaktır uzunlukla kolaylığı karıştırmayın. Bunun dışında Skript'in adam akıllı bir obje sistemi yoktur bazı olayları sadece Skript ile yapmak imkansızdır bu yüzden Addonlar yapılmıştır lakin Java'da API'ler mevcut fakat bu API'leri Java ile kendinizinde kodlaması mümkündür. Skript Syntax açısından Python'u andırır, özellikle Tab olayı ve hakikaten çok saçmadır. Python dışında hiçbir yazılım dilinde böyle bir şey yoktur. Saçma kelime yapısıyla da önümüze gelir hani bakın hangisi kolay geliyor size bana Java, hani durup dururken bir Türk'ün aklına greater yerine > gelecektir ve bunu yapmak için gereksiz yere araştıracaktır. Yeterli düzeyde İngilizce bilmeyenler için Skript basit olacağına zordur:
Burada Skript çok ama çok geride kalmaktadır, açıkçası böyle bir Syntax olması insanı gereksiz yere yorar. Skript'in benim bildiğim ayrıcalıkları bunlardır dezavantaj sayısı ayrıcalık sayısından büyük miktarda fazladır.
Sonuç
Evet dostlarım, bu konuda Skript ve Java'yı karşılaştırdım kendiniz gördünüz hangisi iyi. Aksini idda eden arkadaşları sebebiyle yorumlara bekliyorum. Şöyle bir sonuca bakarsak Java bu işi cidden öğrenmek isteyenler, Skript ise bunu sadece hobi olarak gören ve basite kaçan kişiler için bir tercih olacaktır. Fakat unutmayın herhangi bir zihinsel engele sahip olmayan bir insan hem Skirpt hem Java öğrenebilir. Java öğrenmek için bir şeye ihtiyacınız yok, bir kaynak ve bilgisayarınızın olması yeterli. Skript'e boş boş vakit harcayan dostlarıma Java'ya geçin derim. Java ile ilgili sorunları olanlar bana karahan.buhan79 isimli Skype'dan ulaşabilirsiniz.
Öncelikle merhaba ben Karahan, forumda bitmek bilmeyen "Skript mi iyi Java mı?", "Skript lag yapmaz.", "Java daha uzun ve zor." tartışmalarına biraz açıklık getireceğimi düşündüğüm için bu konuyu açmış bulunmaktayım. Bu konuda sizlere hangisinin iyi olacağını anlatacağım ve neden hangisinin iyi olduğunu da. Kafanızı çok şişirmeden başlayalım isterseniz.
Java'nın Ayrıcalıkları
Java br dildir, evet belki bilmiyordunuz fakat Java bir yazılım dilidir. Java bilmek sadece Bukkit'e eklenti yapmak olmayıp Minecraft gibi oyunları da zor olsada eğer bu alana çok büyük miktarda uğraşırsanız bir ekip toplayıp yapmanız muhtemeldir. Anlayacağınız Java globaldir, 10 yıl önceki telefonlarda bile Java vardır. Yani Java öğrenirseniz bu birçok alanda hatta iş bulmanızda bile işinize yarayabilir yani boşuna öğrenmemiş olursunuz. Şimdi diğer bir özelliğe geçelim, Bukkit hatta Minecraft Java ile kodlanmıştır. Bu nedir, Bukkit'e eklenti yazmak için kullanılabilecek en iyi dil Java'dır. Hatta Bukkit de Java ile kodlanmıştır bunun sebebi Minecraft'a en uygun şekile getirebilmektir. Tabi ki C++ ile bir Bukkit'e benzer bir sunucu modülü yapan da var, hemde eklenti sistemi Lua. Bu dille yapılan bir şeyin ne kadar özelliği olur elbet tartışılır lakin en az lag ve bug yapacak dil Java'dır dememde bir hata olmaz. Gelelim şu en çok tartışılan "Java" lag yapar mı. Java'ya sen istersen her tik çalışan 20 tane timer ekle ve bunu 512MB sunucuya at. Yapacağı lag lag değildir. Fakat bunu Skript de yaparsanız bırakın 20 yi 5 taneden sonra sunucu çökecektir. Bu da Java'yı avantajlı kılan şeydir. Peki neden Skript çökertir derseniz Skript'in looplama mantığı Java'dan çok uzaktır. Gereksiz birçok işlem yapar sadece bir loop için bu da büyük miktarda laga sebebiyet verir. Java kesinlikle lag yapmaz diyebilirim, ben bu yaşıma geldim ve kendi kodladığım eklentiler dışında 512MB sunucumu çökerten bir eklenti daha kullanmadım. Sıradaki özelliğimiz ise alabileceğiniz haklar. Açıkçası birçok lisans firmasını kullanıyorum lakin en çok kullandığım Genel Kamu Lisansıdır ve Skript'e hak alınmadığını hatırlıyorum. Ben birinin Skriptini çalsam paylaşsam bana hiçbir şey yapamaz diyebilirim lakin Java'da olay öyle değildir. Şimdi en havalı konu Java mı uzun, Skript mi uzun bakalım hangisi uzun derseniz burada olay biraz farklıdır şimdi göstereceğim hangisi uzun:
PHP:
on join:
message "Hi!"
PHP:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e){
e.getPlayer().sendMessage("hi");
}
Skript'in Ayrıcalıkları
Skript'in açıkçası pek ayrıcalığı yoktur hatta dezavantajları vardır lakin genede bazı kabullenmek zorunda olduğumuz ayrıcalıkları vardır. Acemiler için göze büyük gelen şeyler yapılması basittir. Bir acemi bile temeli çözdükten sonra Survival Games kodlayabilir. Bu Skript'i kolay yapan şeydir fakat kesinlikle ama kesinlikle Java ile yapılmış bir SG eklentisi daha kısa olacaktır uzunlukla kolaylığı karıştırmayın. Bunun dışında Skript'in adam akıllı bir obje sistemi yoktur bazı olayları sadece Skript ile yapmak imkansızdır bu yüzden Addonlar yapılmıştır lakin Java'da API'ler mevcut fakat bu API'leri Java ile kendinizinde kodlaması mümkündür. Skript Syntax açısından Python'u andırır, özellikle Tab olayı ve hakikaten çok saçmadır. Python dışında hiçbir yazılım dilinde böyle bir şey yoktur. Saçma kelime yapısıyla da önümüze gelir hani bakın hangisi kolay geliyor size bana Java, hani durup dururken bir Türk'ün aklına greater yerine > gelecektir ve bunu yapmak için gereksiz yere araştıracaktır. Yeterli düzeyde İngilizce bilmeyenler için Skript basit olacağına zordur:
PHP:
if {a} is greater then 4:
PHP:
if(a > 4)
Sonuç
Evet dostlarım, bu konuda Skript ve Java'yı karşılaştırdım kendiniz gördünüz hangisi iyi. Aksini idda eden arkadaşları sebebiyle yorumlara bekliyorum. Şöyle bir sonuca bakarsak Java bu işi cidden öğrenmek isteyenler, Skript ise bunu sadece hobi olarak gören ve basite kaçan kişiler için bir tercih olacaktır. Fakat unutmayın herhangi bir zihinsel engele sahip olmayan bir insan hem Skirpt hem Java öğrenebilir. Java öğrenmek için bir şeye ihtiyacınız yok, bir kaynak ve bilgisayarınızın olması yeterli. Skript'e boş boş vakit harcayan dostlarıma Java'ya geçin derim. Java ile ilgili sorunları olanlar bana karahan.buhan79 isimli Skype'dan ulaşabilirsiniz.
Son düzenleme: