İNTERNET TABANLI PROGRAMLAMA DİLLERİ
İnternet tabanlı programlama dilleri betik diller, istemci sunucu taraflı programlama ve nesne tabanlı programlama olarak üç kategoride ele alınmaktadır.
Betik Diller
Betik dili, Web sayfalarında dinamik içerik oluşturmak ve kullanıcılarla iletişim kurmak amacıyla çalışan dildir. HTML etiketleri arasında tanımlanarak kullanılabilmektedir. JavaScript, Lua, Perl, PHP ve Python programlama dilleri betik dil ailesindedir.
JAVASCRİPT
İnternet tabanlı programlama dilleri içerisinde yer alan javaScript, 1995 yılında Brendan Eich tarafından geliştirilen ve daha sonra Netscape firması tarafından yayınlanan JavaScript dili, istemci tarafı betikler ile tarayıcı ve kullanıcı arasında etkileşim kurulması, tarayıcının kontrol edilmesi, asenkron bir şekilde sunucu ile iletişime geçilmesi ve Web sayfası içeriğinin değiştirilmesi gibi işlevleri vardır. JavaScript ağırlıklı olarak istemci taraflı çalıştığı için Web sunucularını yormaz. Kendi yorumumu ve çevremdekilerin de bu dil hakkında söylediklerinin dikkate alarak web tasarımı denilince akla gelen ilk dildir yorumunu yapacağım. Elbette HTML, CSS ve bir BACKEND ile web siteleri tasarlıyoruz fakat web sitelerinin kullanıcı deneyimini üst düzeye çıkaran dil bana göre JavaScript programlama dilidir. İhtiyaçlara en çok cevap veren dil diyebiliriz. Yani çok yönlülüğü tercih edilmesinde büyük bir etken. JavaScript kodları, HTML kodları arasına etiketleri ile tanımlanarak yazılmaktadır. Aşağıda JavaScript kütüphanelerini sıralayacağım.
- AngularJS
- Backbone.js
- Bootstrap
- D3.js
- Ember.js
- Express.js
- Foundation
- Ionic
- jQuery
- JQuery UI
- LESS
- Node.js
- ReactJS
- Script.aculo.us
- Underscore.js
Kısacası zengin bir kütüphaneye sahip olması da tercih edilmesinde önemli bir husustur. Bu kütüphanelerden yaygın olarak kullanılan kütüphane bana kalırsa jQuery’dir. jQuery, 2006 yılında John Resig tarafından geliştirilen ve jQuery ekibi tarafından geliştirilmesi devam eden açık kaynak kodlu JavaScript kütüphanesidir. Özellikle http://jquery.com/ adresinden jQuery dosyası indirilerek web sitelerine bağlantısı sağlanarak kullanılabilir. Çevirecek olursam “Az kod, çok iş” sloganı ile jQuery Web sitelerine animasyonlar ve efektler eklenmesine olanak tanımaktadır. Bunun yanında jQuery UI ise jQuery kütüphanesi kullanılarak geliştirilen ve daha gelişmiş ara yüzlerin ve araçların daha kolay kullanabilmesine olanak veren ek kütüphanelere sahip JavaScript kütüphanesidir.
LUA
Lua, JavaScript gibi C dilinden üretilmiş bir script dilidir. 1993 yılında Roberto Ierusalimschy, Luiz Henrique de Figueiredo ve Waldemar Celes tarafından tasarlanmış olan bir programlama dilidir. Oyun geliştirilmesinde daha çok tercih edilmektedir.
PERL
Larry Wall tarafından 1987 yılında geliştirilen Practical Extraction and Report Language (Pratik Çıkarım ve Raporlama Dili, Perl), Unix işletim sistemi için yorumlayıcı bir programlama dilidir. Sunucu tarafında çalışır. Dosya uzantısı “pl” dir. Perl programlarının çalıştırılabilmesi için bir Web sunucunun olması gerekir. Unix veya Linux ortamlarında çalışan Apache sunucu veya buna benzeyen programlar kullanılabilir. Böylelikle Açık kaynak kodlu olarak sunulan Perl programlama dili çoğu işletim sistemlerinde çalışmaktadır.
PHP
Rasmus Lerdorf tarafından 1995 yılında geliştirilen PHP dili sunucu taraflı çalışan ve HTML kodlarının içine gömülebilen betik ve programlama dilidir. Lerdorf, Perl dilinde geliştirdiği sayfaları ziyaret eden kullanıcı sayılarını tutmak amacıyla PHP dilini geliştirmiştir. Aynı zamanda PHP, açık kaynak kodlu bir yapıya sahiptir ve geliştirilmesi devam etmektedir. Şu an PHP5 sürümü yayınlanmaktadır. PHP kodları arasına yazılarak oluşturulmaktadır. PHP dilinde hazırlanan Web sayfaları için MySQL veri tabanı tercih edilmektedir. Web ortamında yayınlanması için Web sunucuların Linux işletim sistemine sahip olması gerekmektedir. Son olarak Facebook, YouTube Yahoo, Wikipedia ve gibi bilindik birçok Web sitesi PHP dili ile geliştirilmiştir.
PYTHON
Guido van Rossum tarafından 1990 yılında geliştirilmeye başlanan ve 1994 yılında 1.0 sürümü ile yayınlanan Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve yüksek seviye etkileşimli bir programlama dilidir. Python, derlenmeye gerek duymadan çalışabilen bir yapıya sahiptir. Kendim de kullandığım için öğrenmesi basit bir dil olduğu söylenebilir. Dolayısıyla Sade ve anlaşılır olması tercih edilmesinde büyük etken. Unix , Linux, Mac, Windows, Amiga, Symbian gibi platformlarda çalışabilmektedir.
İstemci-Sunucu Taraflı Programlama
Çok kısa anlatacak olursam, internete bağlı bir bilgisayardan Web tarayıcısında adres çubuğuna ziyaret edilecek Web sayfasının adresi veya IP adresi yazılarak sunucudan bilgi istenir. Sunucudan bilgi istenmesi işlemini istemci gerçekleştirir. İstemciye cevap veren ve istenilen içeriği istemciye ulaştıran yapı sunucu olarak tanımlanmaktadır. İstemciden sunucuya gönderilen istek sayfası HTML sayfasıysa sunucu, Web tarayıcılarının HTML dilini yorumlayarak ekran görüntüsünü yansıtabildiği için istemciden gelen sayfayı aynen geri gönderir.
Sunucu tabanlı programlama dillerine örnek olarak;
- PHP
- Net
- Python
- Ruby
- Java
İstemci tabanlı programlama dillerine örnek olarak;
- JavaScript
- VBScript
- JScript Ayrıca bu diller kullanılarak JQuery, Meteor gibi daha işlevsel ve kullanışlı kodlar yazmaya olanak veren kütüphanelerde bulunmaktadır.
Nesne Tabanlı Programlama
Gerçek dünyada algıladığımız nesnelerin dijital ortamda da kullanılması kodlarla mümkündür. Bu bağlamda ilk kez 1960’lı yıllarda ortaya çıkan nesne tabanlı programlama (Object Oriented Programming), gerçek dünyadaki nesnelerin modellenmesi ve bu modele göre kodlanması yoluyla oluşturulan programlama türüdür. Beş duyu organımızla tanımlayamadığımız fakat dijital ortamda nesne olarak tanımlayabileceğimiz nesneler de mevcuttur. Örnek verecek olursam hastane programı yaparken hastaların randevu alması da nesne olarak tanımlanabilir diyebilirim. Nesne tabanlı programlamada geliştirilecek olan yazılımda gereksinimler, nesneler ve nesneler arasındaki ilişkilerle karşılanmaya çalışılır. Nesne tabanlı programlamada nesneler, özellikleriyle , işlevleriyle
ve olaylarıyla tanımlanır. Nesne tabanlı programlama;
Paketleme, kalıtım ve çok biçimlilik olmak üzere üç prensibe sahiptir.
Nesne tabanlı programlama dillerine örnekler;
- ABAP/4
- C#
- C++
- Eiffel
- Java
- Object Pascal
- Objective-C
- PHP
- Python
- REALbasic
- Ruby
- Simula,
- Smalltalk
- Visual Basic
- .NET
Çok detaya inmeden kısaca bahsetmek istediklerim bunlar. Keyifli okumalar.