Barış AKDEMİR

Web Yazılım Günlüğü

Script Dili Ne Demektir?

Script denildiğinde bir çok insanın aklına; başkaların tarafından hazırlanmış ve kullanıma hazır kod blogları gelir. Ancak Script dil bundan uzak bir kavram. Script dili, kullandığımız php ve javascript gibi dilleri, programlama dillerinde ayıran ince bir çizgidir. Script dilleri ile programlama dilleri arasında çok keskin ve net bir çizgi vardır.

Bir programlama dilinde, o dile özgü açılış ve kapanış tagları bulunmamaktadır. Açılan dosya tamamen o dile özgün bir dosyadır. Ancak Script dilinde bu tersinedir. Siz bir php dosyası yaratarak, bu dosyanın içerisine php kodlarının yanı sıra, html ve javascript kodları da yerleştirebilir ve bu kodları php yardımıyla üretebilirsiniz. Yani siz php kodlarını, html ve javascript kodlarının arasına, açılış ve kapanış tagları yardımıyla serpiştirebilirsiniz. Aynı şekilde javascript kodlarını da html kodlarının arasına serpiştirebilirsiniz. Çünkü javascript de bir script dilidir. Php üzerinden bir örnek vermek gerekirse.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo 'Site Başlığı'; ?></title>
</head>

<body>
<?php echo 'Site İçeriği'; ?>
</body>
</html>

Şeklinde; php kod bloglarını aralara serpiştirerek bir dinamik sayfa oluşturabilirsiniz. Bu kod blogu sunucu tarafında bir php sayfayı olarak işlem görse de, tarayıcı/kullanıcı tarafında aslında bir html sayfasıdır. Yani kullanıcı tarafına bu kod blogu aşağıdaki gibi gelir ve işlem görür.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Site Başlığı</title>
</head>

<body>
Site İçeriği
</body>
</html>

Toparlamak gerekirse; script dilleri, basit bir şekilde, bize başka kodlamalar üzerine dinamik yapılar oluşturmamızı sağlar. Web uygulamalar üzerinden örnek vermek gerekirse. Php yardımıyla, javascript ve html kodlarının arasına php kodları yazarak kodlar oluşturabilir ve yine aynı şekilde, javascript yardımıyla da html kodlarına müdahale edebiliriz. Programlama dilleri aracılığıyla ise; bu kodları harici bir dosyada oluşturarak, bu dosyaya istek yaparak çalıştırmak istediğimiz kod blogunu işleme alabiliriz.

Web Programlama Nedir

Web programlama kısaca; web üzerinde dinamik sayfalar oluşturmaya yarayan diller topluluğudur. Bu diller; sunucu taraflı olmak üzere başlıca, php, .net ve jsp. Tarayıcı/kullanıcı olmak üzere javascript’tir. Bir çok kişi/otorite bu dillerin programlama dilleri olarak tanımlanmasının yalnış olduğunu söylemektedir. Çünkü bu diller birer script dilleridir. Bu konuyu daha sonra başka bir yazıda derinlemesine işlemeyi planlıyorum.

Sunucu Taraflı Diller
Bu diller adı üzerinde sunucu taraflı çalışan dillerdir. Bu dillerde ağırlıklı olarak, veri tabanıyla ilişkili işlemler yapılmakta. Bu işlemler, üye kaydı, giriş gibi veri girişi ve veri çıkışı gibi işlemlerdir. Veri çıkışı denildiğinde aklınıza sadece bir web sayfası gelmesin. Bu veri çıkışı ihtiyaca göre bir excel dökümanı olabilir, bir pdf dosyası ya da bir xml dosyası olabilir. Aynı şekilde veri girişi de sadece yazı(text) olmak zorunda değil. Bir dosya, resim ya da döküman olabilir. Sunucu taraflı bir dil yardımıyla bir excel dökümanından veri okuyabilirsiniz. Bir resim üzerinde belli düzenlemeler yapabilirsiniz. Web sayfası olarak veri çıkışlarında bir çok kişinin tam olarak kavrayamadığı bir nokta vardır. Sunucu tarafında hazırlayacağınız veri, kullanıcı tarafına ulaştığında sadece html dili ile hazırlanmış bir veri olacaktır. Yani sunucuya yapılan istek sonucunda oluşturulan veri, kullanıcıya ulaştıktan sonra, sunucu tarafında bu dosyaya artık müdahele edemezsiniz. En azından o sayfa için oluşturduğunuz kodlar içerisinde. Sunucu taraflı diller, sadece istek yapıldığında yaşayan yapılardır. Ancak bazı durumlarda bize sürekli canlı olan yapılar gerekebilir. Örneğin bir üyelik formunda anlık doğrulama yaparken. İşte böyle bir durumda karşımıza javascript gibi hayat kurtaran bir dil karşımıza çıkıyor. Son olarak, sunucu taraflı dillerden hangisini tercih etmemiz gerektiğini sorabilirsiniz. Bu tamamen sizin tercihinize kalmış. Bir çok kişi hangisinin daha iyi olduğuyla ilgili uzun tartışmalar girişiyor. Ancak ben onlardan değilim. Sonuç itibariyle, bir dilde yapabildiklerinizi diğer dillerde de yapabiliyorsunuz. Ben şahsen php ile çalışıyorum. Ama dediğim gibi tercih size kalmış.

Kullanıcı Taraflı Diller
Aslında diller demek yalnız olur. Çünkü bu kısımda sadece javascript bulunuyor. Bazılarınız; ajax, jquery var diyebilirsiniz. Ancak atladığınız bir şey var. O da bunların birer javascript kütüphaneleri olduğudur. Bu kodları açarsanız, javascript kodlarından oluştuklarını görebilirsiniz. Şimdi kullanıcı taraflı demek ne anlama geliyor, avantajları nelerdir, dezavantajları nelerdir. Onları konuşalım. Öncelikle javascript kullanmak için bir sunucuya ihtiyaç duymazsınız, çünkü adı üstünde yazdığınız kodlar kullanıcı tarafında çalışır. Javascript sayfa açık kaldığı sürece yaşayan bir yapıdır. Sunucu taraflı dillerde sayfa oluşturulup; kullanıcıya iletildikten sonra bir değişiklik yapılamaz. Ancak bu dil için bu geçerli değildir. Basit bir örnek vermek gerekirse. Sunucu tarafında zaman verisini alıp ekrana bastığınızda bu veri istek zamanın verisi olur ve değişmez. Ancak kullanıcı tarafında o andaki zaman verisini sürekli güncelleyebilirsiniz. Tabi ki bu çok basit bir örnek. Javascript kütüphaneleri yardımıyla yapılabilecek şeyler hayal gücünün sınırlarını zorlamakta. Ancak bu dil ile ilgili sıkıntılı bir durum vardır. Kodlar kullanıcı taraflı çalıştığı için, saatlerce emek vererek yazdığınız kodlar, başkaları tarafından kolaylıkla çalınabilir.

Tasarım Kısmı
Bu kısımda tabiki html ve css bulunmakta. Ancak bunlara birer programlama ya da script demek pek mantıklı değil. Her ne kadar son zamanlarda css için js(javascript)-ten gören çalmaya başladı denilse de, bu kategoriye girmemekteler. İlerleyen zamanlarda bu iki dil ile de ilgili birer makale yazmayı planlıyorum.

Son Söz
Artık günümüzde bilgisayar denildiğinde aklımıza direkt olarak internet gelmekte ve internet üzerinde sayfalar ve çeşitle dökümanlar oluşturmamıza yarayan dilleri öğrenmek, bu sektörün içinde olmak isteyenler için kaçınılmaz olmuş durumda. Umarım bu işe gönül vermiş herkes, belli bir seviyede uzmanlığa ulaşır. Okuduğunuz için teşekkürler.