Skript VS Plugin

PL vs SK


  • Kullanılan toplam oy
    14

FurkanBoğar

Play.GizemliOyuncu.Com
Mesajlar
74
En iyi cevaplar
0
Beğeniler
82
Puanları
210
Ruh hali
Selamün aleyküm canlar,

Sizce; Plugin mi ?, Skript mi ? ve sebepleri :)

Güzel bi tartışma olsun...

EDİT: Plugin akar aga, sunucuyu yormuyor tak tak tak :D tabi güzel skriptlerde var sunucuyu yormuyan ne bileyim ön yargı bizdeki zaar (:
 


BalonTR

Biz ayıya dayı demeyiz, Köprüyü yıkarız.
Forum Yöneticisi
Mesajlar
1,130
En iyi cevaplar
162
Beğeniler
526
Puanları
4,570
Ruh hali
Günümüzde java kadar gelişim gösteren skript bir hayli kullanımı fazlalaştı ki bu bir hayli güzel aslında skript javaya göre çok daha basit ama bunu tabii ki java kodlayıcı ve skript yazar arkadaşlarımız daha iyi bilir. Ben kendimce acemi bir plugin kodlayıcısıyım zamanında skript ile uğraştığımdan skript daha kolay geliyor ama tabiiki dediğim gibi kendini bu işe vermiş kişiler daha iyi bilir. Ama tabii ki @KadirYLCN dediği gibi perfonmans açısından plugin daha iyi bana göre.
 

Erkutay_

DragonBlock
Mesajlar
745
En iyi cevaplar
11
Beğeniler
832
Puanları
1,490
Ana dili ingilizce olan bir ülkede değiliz, skripti az çok olsada başka yerlerden öğrenebiliyoruz. Ama skript plugine nazaran daha daha basit olduğu için daha çok kullanılıyor.
 

Mr_Obliviate

Play.BlokDunyasi.Net
Mesajlar
1,002
En iyi cevaplar
18
Beğeniler
749
Puanları
1,480
Ruh hali
Skript herhangi bir performans sorununa yol açmaz tamamen skript ile bir sunucu açsanız da lag olmaz. Lütfen skript lag yapar ay şöyle böyle kullanmayalım anamız gider gibi saçma sapan cahilce konu açmaktan vazgeçin. hiçbir farkı yok.
 

MegaCrafter

Obsidyen Madencisi
Mesajlar
1,419
En iyi cevaplar
0
Beğeniler
1,542
Puanları
3,070
Öncelikle konuya güzel bir giriş yapalım: Skript vs Java : Performans Karşılaştırması

Skript ile işlem yapmakla eklentiyle işlem yapmak arasındaki farkı bilmeyip lütfen "skript lag yapmaz skriptten bir şey olmaz" falan diye konuşmayalım. Skript eğer bir dil olarak düşünürseniz "interpreted" dediğimiz bir dildir. Aslında scripting için kullanılan her dil böyledir. "interpreted" derken şunu kast ediyoruz: Bu diller compile edilip hızlandırılmazlar. Her seferinde tekrardan okunup anlaşılmaları gereklidir. Daha iyi anlayabilmek için gelin bir event'in eklenti ve skript arasındaki iletişimine bakalım:

Bu event'in sohbet eventi olduğunu varsayalım. Öncelikle oyuncunun client'ı mesaj bilgisini alır ve bir chat paketi olarak bukkit'e gönderir. Bukkit, bu chat paketini inceler ve yeni bir sohbet mesajı olduğunu algılar. Sonra AsyncPlayerChatEvent'i çağırır ve sistemsel birkaç yoldan sonra bu event eklentiye gelir ve event'e göre işlem yapabilirsiniz. Burada Java ile işimizi direkt halledebiliriz. Bir de skript eklentisinin yaptığı işe bakalım: Skript eklentisi öncelikle kendi içinde sohbet event'ini düzenlemek isteyen bütün skript bölümlerini bulur. Daha sonra bu bölümü tamamen alır ve aradaki bölümleri event'in bilgileriyle doldurur. (Mesajı kimin gönderdiği, mesajın içeriği vs. gibi şeyler). Sonra içerisindeki satırları tek tek okur ve anlam vermeye çalışır. Çünkü her bir satır, event'in bilgilerine göre farklılık gösterebilir. Bu satırlara anlam verebilmek için birkaç yöntem var tabi ama bunların hepsi emin olun ki çok yavaş işlemler. (Regex veya split gibi) Her yapılacak işleme ekstradan satırlara anlam verme gibi bir yavaşlık bindirdiğinizi hayal edin.

İşin özü şu: Tabii ki yazılımda bahsettiğimiz performans farkları milisaniyeler ile ölçülür. Bir insanın tepki süresi de ortalama 230ms kadardır. Yani skript ile eklenti arasındaki farkları hissetmeniz birazcık zor olabilir. Ayrıca dediğim gibi önemli olan skriptlerin uzunluğu veya kaç tane skript dosyası olduğu değildir. Bunlar skript için yavaşlatıcı faktörler değiller. Ancak bir blok içerisinde ne kadar fazla işlem yaparsanız satırları anlama sürelerinin verdiği fazlalıklar gittikçe artacaktır.

TL;DR Java ve skript'i performans açısından karşılaştırmak fazla tek taraflı bir savaş oluyor...
 

Mr_Obliviate

Play.BlokDunyasi.Net
Mesajlar
1,002
En iyi cevaplar
18
Beğeniler
749
Puanları
1,480
Ruh hali
Skript eklentisi öncelikle kendi içinde sohbet event'ini düzenlemek isteyen bütün skript bölümlerini bulur.
her mesaj gönderdiğimizde tüm sk dosyalarında on chat eventini mi arıyor?

Daha sonra bu bölümü tamamen alır ve aradaki bölümleri event'in bilgileriyle doldurur. (Mesajı kimin gönderdiği, mesajın içeriği vs. gibi şeyler).
Java sanki event bilgilerini boş bırakıyor...

Sonra içerisindeki satırları tek tek okur ve anlam vermeye çalışır.
evet her mesaj gönderdiğimizde sk dosyaları yeniden derleniyor..

Çünkü her bir satır, event'in bilgilerine göre farklılık gösterebilir.
ne? yani javada "isim:" + nick yazdığımda nick kısmını değiştirmediğini mi düşünüyorsun.

ayrıca attığın konunun ne kadar saçma bir test olduğunu anlatmama gerek yok. konuda yeterince gömdüler o adamı.
 

MegaCrafter

Obsidyen Madencisi
Mesajlar
1,419
En iyi cevaplar
0
Beğeniler
1,542
Puanları
3,070
her mesaj gönderdiğimizde tüm sk dosyalarında on chat eventini mi arıyor?
Bir tane on chat eventi olmak zorunda olmadığı gibi bu eventler biliyoruz ki içerisinde bir condition'u da kapsayabilir. (on right click with diamond pickaxe gibisinden) Sk dosyalarını bir daha okumuyor tabii ki. Bütün sk dosyaları bir buffer içerisinde rahatlıkla tutulabilir. Ben özellikle de "kaç tane event olduğunun yavaşlığa etki eden bir faktör olmadığını" belirttim.

Java sanki event bilgilerini boş bırakıyor...
Java event bilgilerini zaten örnekteki AsyncPlayerChatEvent içerisinde getiriyordu. Burada yaptığın karşılaştırma çok saçma çünkü skript bu event'i aynı şekilde almak zorunda. Ama skript ekstradan bu bilgileri bir de anlam verdiği satırlara götürüyor.

evet her mesaj gönderdiğimizde sk dosyaları yeniden derleniyor..
Mesajımda dediğim gibi her scripting dili, ki buna skript de dahil, "interpreted" dediğimiz yani derlenmeyen bir yapıdadır. "interpreted language" şeklinde google üzerinden aratarak demek istediğim şeyi ve nasıl çalıştığını anlamak zor değil.

ne? yani javada "isim:" + nick yazdığımda nick kısmını değiştirmediğini mi düşünüyorsun.
Java bir derleyiciye bağlı bir dildir. Orada nick ile birleştirebilmek için olabilecek en iyi yöntemi seçer. Mesela "nick" değişkeni her zaman tek bir değere sahip oluyorsa o zaman preprocess sırasında nick değişkenini yerine direkt olarak o değeri koyarak derleyecektir. Java'nın derleyici sistemiyle skriptin yorumlayıcı sisteminin bir değişken üzerindeki etkisini tartışacak değilim. Az önce de dediğim "interpreted language" aramasıyla çok çok fazla bilgi edinebilirsiniz. Ayrıca karşılaştırma da tam olarak doğru değil zaten. Skript verilen bilginin doğru olup olmadığını da kontrol edip kullanıcıya hatayı belirtmekle yükümlü. Yaptığın karşılaştırma skripti daha da kötüleyecek bir etken yani.
 

NoMan

Taş Madencisi
Mesajlar
76
En iyi cevaplar
0
Beğeniler
111
Puanları
250
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
Bu konu açılmadı hayal görüyorum. Bu konu açılmadı hayal görüyorum. Bu konu açıl..

Skript vs Plugin diye sorulmaz arkadaşlar direkt Skript en iyisidir. Skript tabii Java ile yazılmadı Java Skript ile yazıldı.
Hatta 1969 yılında Aya ilk çıkacak insanın uzay aracında Skript kullanılıyordu. Öyle ki bu atom bombalarının fırlatma rotalarında, yapay zekalarda, görüntü işleme teknolojilerinde, ses formatlarını pcm den çevirmede, atom altı saniyeye göre fotoğraf birleştirme teknolojisinde...

Denilene göre Alien vs Machine filminde makinenin yazılım kısmında Skript kullanılacakmış. Sanırım Terminatör gibi birçok ünlü filmde de Skript kullanılıyordu başka bir açıklaması olamaz bunun.
 

Mr_Obliviate

Play.BlokDunyasi.Net
Mesajlar
1,002
En iyi cevaplar
18
Beğeniler
749
Puanları
1,480
Ruh hali
Ne? Skript dosyaları sunucuyu açtığında okunup ram'de tutuluyor. Onun haricinde sadece "skript reload" kullanımında yeniden okunuyor.
orada kinaye yaptığımı anlaman gerekirdi. lütfen mesajları tamamen okuyup kimin kime ne dediğini anlayıp yorum yap.

491204910490. Sk vs Java tartışma konusuna mesaj atmam ve boş boş açıklamalara kapı açmam büyük bir hataydı. Java her zaman daha profesyoneldir bu konuda tartışma yapan yok zaten. Java'yı anlarsanız javada kod yazmak daha kolaydır çünkü java bir dildir (daha iyi geliştirilmiştir). Bu konuda da kimse tartışmıyor fakat eğer siz skript kullanılmaz, skript tps düşürür, 1049120491204ms lag sokar, %012590591 performans kaybı yaşatır gibi laf atmaya başlarsanız orada kızarım. Bu tür tartışmalar asla bitmez bu yüzden bu konuya daha fazla yorum yapmıyorum.
 

Erkutay_

DragonBlock
Mesajlar
745
En iyi cevaplar
11
Beğeniler
832
Puanları
1,490
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
Bu konu açılmadı hayal görüyorum. Bu konu açılmadı hayal görüyorum. Bu konu açıl..

Skript vs Plugin diye sorulmaz arkadaşlar direkt Skript en iyisidir. Skript tabii Java ile yazılmadı Java Skript ile yazıldı.
Hatta 1969 yılında Aya ilk çıkacak insanın uzay aracında Skript kullanılıyordu. Öyle ki bu atom bombalarının fırlatma rotalarında, yapay zekalarda, görüntü işleme teknolojilerinde, ses formatlarını pcm den çevirmede, atom altı saniyeye göre fotoğraf birleştirme teknolojisinde...

Denilene göre Alien vs Machine filminde makinenin yazılım kısmında Skript kullanılacakmış. Sanırım Terminatör gibi birçok ünlü filmde de Skript kullanılıyordu başka bir açıklaması olamaz bunun.
komik değildi :(
 

FurkanBoğar

Play.GizemliOyuncu.Com
Mesajlar
74
En iyi cevaplar
0
Beğeniler
82
Puanları
210
Ruh hali
Vay be yorumlar fena millet dolmuş demek ki bilmiyorum canlar belki bizdeki önyargı ama bence plugin akar ya cıncık abi cıncık
 

EchTR

Taş Madencisi
Mesajlar
68
En iyi cevaplar
0
Beğeniler
56
Puanları
240
Ruh hali
skript yazımı daha kolay. her ne kadar minecraft sunucusu için çok da ürün geliştirmediysem de (skript ile projelerim var ama profesyonel değil) kullandığım kadar söyleyebilirim ki skript daha yavaş. plugin yazmak daha zor fakat dayanağı var.
 

Üst