Merhaba sevgili e-bergi okurları,
Bu yazımda sizlere Processing'den bahsedeceğim. Processing Ben Fry ave Casey Reas tarafından oluşturulmuş bir programlama dili olup aynı zamanda bir geliştirme ortamı ve online bir topluluktur. 2001'den bu yana Processing, görsel sanatlar ve teknoloji dahilinde yazılım okuryazarlığını desteklemiştir. Başlangıçta yazılımsal bir eskiz defteri olarak hizmet etmek ve görsel bir çerçevede bilgisayar programlama temellerini öğretmek için oluşturulan Processing, zamanla profesyoneller için de bir gelişme aracı haline gelmiş bulunmakta. Bugün on binlerce öğrenci, sanatçı, tasarımcı, araştırmacı ve amatör Processing'i öğrenmek, prototip yapmak ve üretmek için kullanmaktadır. Hatta Processing ile oyun bile geliştirebilmek mümkün. :)
Türkiye'de çok fazla yaygın olmasa da yurt dışında özellikle görsel sanatçıların sıklıkla kullandıkları bir programlama dili olan Processing, yüzden fazla kütüphane içeriyor. Çoklu ortam türleriyle (video, resim, ses gibi) sorunsuz ve kolay bir şekilde çalışılabilmesi, çok kolay öğrenilebilir olması, programlama prensiplerini anlamaya olanak sağlaması gibi nedenlerle programlamaya giriş eğitim aracı olarak kullanılmak için ideal bir dil aslında.
Programın bir koordinat düzlemi üzerinde çalıştığını düşünün. (0, 0) koordinatı çıktınızın sol üst köşesi olmak üzere x değişkeni için sağa doğru artan değerler alırken, y değişkeni için aşağı yönde artan değerler alıyor. İşte programlama dilimizin temel mantığı bu ve bu mantıkla koordinat sistemi üzerinde nokta, çizgi, dikdörtgen, elips vb. tanımlamak mümkün. Öyle ki Processing için basit bir "Hello World" eşdeğeri sadece çizgi çizmekten ibaret. :) Üstelik bu sadece line(x1, y1, x2, y2); şeklinde belirli koordinatlar girilerek sağlanıyor. Buradaki değişkenleri açmak gerekirse:
x1 = x ekseninde başlangıç noktası y1 = y ekseninde başlangıç noktası x2 = x ekseninde bitiş noktası y2 = y ekseninde bitiş noktası
Peki nedir bu programlama dilinin teknik özellikleri? Processing bir eskiz defteri ve projeler düzenlemeye yönelik tümleşik bir geliştirme ortamı (IDE) için minimal alternatif içermektedir. Her Processing taslağı aslında Processing dilinin özelliklerinin çoğunu uygulayan PApplet Java sınıfının bir alt sınıfıdır. Programlama esnasında, tanımlanan bütün ek sınıflar, kod derlenmeden önce saf Java'ya çevrilirken dahili sınıflar olarak kabul edilecektir. Yani programa saf Java modunda kodlamak istediğinizi açıkça söylemediğiniz sürece statik değişkenlerin ve metodların sınıflarda kullanımı olası değil.
Processing ayrıca kullanıcıların PApplet taslaklarıyla kendi sınıflarını yaratmalarına olanak sağlıyor. Bu da herhangi bir sayıda argüman içeren karmaşık data sembollerine imkan veriyor ve sadece standart data sembollerinin kullanımı kısıtlamasını engelliyor. Örnek vermek gerekirse: int (tamsayı), char (karakter), float (reel sayı) ve renk (RGB, ARGB, hex).
Processing dilini incelediğimizde Java'ya olan benzerliği fark ediliyor. Fakat Java'dan en önemli farkı grafikler ve iletişim metodları üzerine özel nitelikleri olması. Geliştirme arayüzü, Processing Development Environment (PDE), Processing için özel tasarlandığı için çok basit ve sade, bir o kadar da kolay bir arabirim. Yazdığınız programları çalışmaya hazır hale getirebilmek için sadece PDE'deki "export" butonunu kullanmak yeterli.
"Processing yerine adını Seal (fok balığı) koymadığımız için pişmanım. Programlama dilimizin burnunun üzerinde klavyeyi dengede tutmaya çalışarak maskotluk eden bir hayvanın adını taşımasını gerçekten çok isterdim." demiş programın yapımcılarından biri olan Casey Reas. Gerçekten de ilginç bir izlenim olabilirdi bizim için. :)
Gelecek sayılarımızda görüşmek üzere!
Kaynakça:
- http://processing.org/
- http://en.wikipedia.org/wiki/Processing_(programming_language)
- http://rhizome.org/editorial/2009/sep/23/interview-with-casey-reas-and-ben-fry/
- http://wiki.processing.org/w/Java_Comparison
- http://www.elektrikport.com/teknik-kutuphane/processing-dili-nedir-1-bolum/8928#ad-image-0