Processing

**Processing**, dijital sanat ve görsel tasarım toplulukları tarafından programlamanın temellerini görsel bir yaklaşımla öğretmek için kullanılan veya elektronik bir eskiz defteri görevi de görebilen açık kaynaklı bir programlama dili ve tümleşik geliştirme ortamıdır (IDE). 2001 yılında Casey Reas ve Benjamin Fry tarafından başlatılan proje Java üzerine kurulmuş olup daha basit bir grafik programlama modeli ve sözdizimine sahiptir.

## Özellikler

Processing, projeleri organize etmek için entegre geliştirme ortamı (IDE)'ne alternatif olan bir "eskiz defteri" içerir.

Her Processing sketch'i aslında Processing dilinin özelliklerinin çoğunu uygulayan `PApplet` Java sınıfı'nın (önceden Java'nın yerleşik uygulamasının alt sınıfıydı) alt sınıfıdır.

Processing'de programlama yapılırken, kod derlemeden önce saf Java'ya çevrildiğinde, tanımlanan tüm ek sınıflar iç sınıflar olarak kabul edilir. Bu, Processing açıkça saf Java modunda kodlaması söylenmediği sürece, statik değişkenler ve Statik metodların sınıflarda kullanılmasının yasak olduğu anlamına gelir.

Processing ayrıca kullanıcıların PApplet taslağı içinde kendi sınıflarını oluşturmalarına olanak tanır. Bu, herhangi bir sayıda argüman içerebilen karmaşık veri türleri'ne izin verir ve yalnızca aşağıdakiler gibi standart veri türlerini kullanma sınırlamalarını ortadan kaldırır: int (tamsayı), char (karakter), kayan nokta (gerçek sayı) ve renk (RGB, RGBA, hex).

## Örnekler

Processing'deki "Merhaba Dünya" programının mümkün olan en basit versiyonu şudur:


```arduino
// This prints "Hello World." to the IDE console.
println("Hello World.");
```


Bununla birlikte, Processing'nin daha görsel yönelimli doğası nedeniyle, aşağıdaki kod dilin görünümü ve hissi için daha iyi bir örnektir.


```arduino
// Hello mouse.
void setup() {
  size(400, 400);
  stroke(255);
  background(192, 64, 0);
}

void draw() {
  line(150, 25, mouseX, mouseY);
}
```


## Lisans
Processing'in çekirdek kitaplıkları, dışa aktarılan uygulamalarda ve uygulamalarda bulunan kod, GNU Kısıtlı Genel Kamu Lisansı kapsamında lisanslanmıştır ve kullanıcıların lisans seçeneği ile orijinal kodlarını yayınlamalarına olanak tanır.

IDE, GNU Genel Kamu Lisansı kapsamında lisanslanmıştır.

## İlgili projeler
Processing tek bir dil değil, daha çok öğrenme, öğretme ve kodla bir şeyler yapmaya yönelik sanat odaklı bir yaklaşımdır. Birkaç çeşidi ve ilgili projeler vardır:

### Sayılarla Tasarım
Processing, MIT'de Sayılarla Tasarım projesinde yapılan çalışmaya dayanır. Aynı fikirlerin çoğunu paylaşır ve bu tecrübenin ürünüdür.

### Wiring, Arduino ve Fritzing
Processing, sanatçılara mikrodenetleyici 'lerin nasıl programlanacağını öğretmenin bir yolu olarak C++ dilinde yazılmış kütüphane koleksiyonuyla Processing IDE'sini kullanan başka bir proje olan Wiring'i (geliştirme platformu) ortaya çıkardı. Halen Wiring ortamını ve dilini kullanarak Wiring ve Arduino olmak üzere iki ayrı donanım projesi vardır.

Fritzing, tasarımcıların ve sanatçıların etkileşimli prototiplerini belgelemelerine ve fiziksel prototiplemeden gerçek ürüne geçmelerine yardımcı olan aynı türden başka bir yazılım ortamıdır.

### iProcessing
iProcessing, insanların Processing dilini kullanarak yerel iPhone uygulamaları geliştirmelerine yardımcı olmak için oluşturuldu. Processing.js kitaplığının ve iPhone için Javascript uygulama çerçevesinin birleşimidir.

## Kaynakça