İşleme (programlama dili) - Processing (programming language)
paradigma | Nesne odaklı |
---|---|
Tarafından tasarlandı | Casey Reas , Ben Fry |
İlk ortaya çıktı | 2001 |
kararlı sürüm | 4.0b1 / 9 Ağustos 2021
|
Lisans | GPL , LGPL |
Dosya adı uzantıları | .pde |
İnternet sitesi | işleme |
Processing , programcı olmayanlara bilgisayar programlamanın temellerini görsel bir bağlamda öğretmek amacıyla elektronik sanatlar, yeni medya sanatı ve görsel tasarım toplulukları için oluşturulmuş ücretsiz bir grafik kitaplık ve entegre geliştirme ortamıdır (IDE) .
İşleme, ek sınıflar ve diğer adlandırılmış matematiksel işlevler ve işlemler gibi ek basitleştirmelerle birlikte Java dilini kullanır . Ayrıca derleme ve yürütme aşamasını basitleştirmek için bir grafik kullanıcı arabirimi sağlar.
İşleme dili ve IDE, Arduino , Wiring ve p5.js dahil olmak üzere diğer projelerin öncüsü olmuştur.
Tarih
Proje 2001 yılında , her ikisi de eskiden MIT Medya Laboratuvarı Estetik ve Hesaplama Grubundan olan Casey Reas ve Ben Fry tarafından başlatıldı . 2012 yılında, üçüncü proje lideri olarak katılan Daniel Shiffman ile birlikte Processing Foundation'ı kurdular . Johanna Hedva , Vakfa 2014 yılında Savunuculuk Direktörü olarak katıldı.
Başlangıçta, İşleme etki alanı alındığı için İşleme , proce55ing.net URL'sine sahipti . Sonunda Reas ve Fry, işleme.org alanını satın aldı. İsmin harf ve rakamların bir kombinasyonu olmasına rağmen, yine de telaffuz edildi işleme . Proce55ing olarak adlandırılan ortamı tercih etmezler . Alan adı değişikliğine rağmen, İşleme hala p5 terimini bazen kısaltılmış bir ad olarak kullanır ( p5 özellikle kullanılır, p55 değil ), örneğin p5.js buna bir referanstır.
2012'de İşleme Vakfı kuruldu ve 501(c)(3) kar amacı gütmeyen statüsünü alarak, Topluluğu İşleme Projesi ile başlayan araçlar ve fikirler etrafında destekledi. Vakıf, dünyanın dört bir yanındaki insanları her yıl Processing Community Day adı verilen yerel etkinliklerde buluşmaya teşvik ediyor .
Özellikleri
kararlı sürüm | 3.5.4 / 17 Ocak 2020
|
---|---|
depo | |
Yazılmış | Java , GLSL , JavaScript |
İşletim sistemi | Çapraz platform |
Tip | Entegre geliştirme ortamı |
İnternet sitesi | işleme |
İşleme, projeleri düzenlemek için entegre bir geliştirme ortamına (IDE) minimal bir alternatif olan bir eskiz defteri içerir .
Her İşleme çizimi, aslında İşleme dilinin özelliklerinin çoğunu uygulayan PApplet
Java sınıfının (önceden Java'nın yerleşik Uygulamasının bir alt sınıfı) bir alt sınıfıdır.
Processing'de programlama yaparken, kod derlemeden önce saf Java'ya çevrildiğinde, tanımlanan tüm ek sınıflar iç sınıflar olarak ele alınacaktır . Bu , Processing'e saf Java modunda kod yazması açıkça söylenmediği sürece, sınıflarda statik değişkenlerin ve yöntemlerin kullanılmasının yasak olduğu anlamına gelir .
İşleme 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ürlerine izin verir ve yalnızca int (tamsayı), karakter (karakter), kayan nokta (gerçek sayı) ve renk (RGB, RGBA , hex ) gibi standart veri türlerini kullanma sınırlamalarını ortadan kaldırır. ).
Örnekler
İşlemedeki bir "Merhaba Dünya" programının mümkün olan en basit versiyonu şudur:
// This prints "Hello World." to the IDE console.
println("Hello World.");
Ancak, İşleme'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.
// Hello mouse.
void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
line(150, 25, mouseX, mouseY);
}
Ödüller
2005 yılında Reas ve Fry , İşleme konusundaki çalışmaları nedeniyle Net Vision kategorisinde Ars Electronica'dan Altın Nica ödülünü kazandı .
Ben Fry , Etkileşim Tasarımı kategorisinde Smithsonian Cooper-Hewitt Ulusal Tasarım Müzesi tarafından verilen 2011 Ulusal Tasarım Ödülü'nü kazandı . Ödül açıklaması şöyle diyor:
"Grafik tasarım ve bilgisayar biliminde bir arka plan çizen Ben Fry, verileri görselleştirme konusunda uzun süredir devam eden bir büyünün peşinde. insan genomundan beyzbol maaşlarına, metin belgelerinin evrimine. Casey Reas ile birlikte, hesaplamalı tasarım ve etkileşimli medya yazılımı çizimi için açık kaynaklı bir programlama ortamı olan Processing Project'i kurdu. Sanatçılara ve tasarımcılara erişilebilir çalışma araçları sağlar. mühendisleri ve bilgisayar bilimcilerini tasarım kavramları hakkında düşünmeye teşvik ederken kodla."
Lisans
Processing'in çekirdek kitaplıkları, dışa aktarılan uygulamalarda ve uygulamalarda bulunan kod, GNU Kısıtlı Genel Kamu Lisansı altında lisanslanmıştır ve kullanıcıların orijinal kodlarını bir lisans seçeneği ile yayınlamalarına olanak tanır.
IDE, GNU Genel Kamu Lisansı altında lisanslanmıştır .
İlgili Projeler
İşleme tek bir dil değil, daha çok öğrenme, öğretme ve kodla bir şeyler yapmaya yönelik sanat odaklı bir yaklaşımdır. Birkaç varyant ve ilgili projeler vardır:
Rakamlarla Tasarım
İşleme, MIT'de Design By Numbers projesinde yapılan orijinal çalışmaya dayanıyordu . Aynı fikirlerin çoğunu paylaşır ve bu deneyin doğrudan çocuğudur.
Processing.js
2008'de John Resig , işleme için Canvas öğesini kullanarak İşleme'yi JavaScript'e taşıdı ve İşleme'nin bir Java eklentisine gerek kalmadan modern web tarayıcılarında kullanılmasına izin verdi. O zamandan beri, Toronto'daki Seneca College öğrencileri de dahil olmak üzere özgür yazılım çalışanları projeyi devraldı.
Processing.js ayrıca, çizimler ve animasyonlar oluşturarak Khan Academy'de her yaştan öğrenciye çok temel programlamayı savunmak için kullanılır . Öğrenciler yarattıklarını diğer öğrencilere sergilerler.
p5.js
2013'te Lauren McCarthy , Processing Foundation'ın resmi desteğine sahip Processing.js'ye yerel bir JavaScript alternatifi olan p5.js'yi yarattı .
P5Py
p5, Python kullanarak hızlı bir şekilde simülasyonlar ve etkileşimli sanatlar oluşturmanıza yardımcı olmak için yüksek düzeyde çizim işlevselliği sağlayan bir Python kitaplığıdır. Programlamayı yeni başlayanlar, eğitimciler ve sanatçılar için daha erişilebilir hale getirmek için İşleme'nin temel fikirlerini (görsel bir bağlamda kodlamayı öğrenme) Python'un okunabilirliğiyle birleştirir.
Processing.py
İşleme için Python Modu veya Processing.py, temeldeki Java araç setine yönelik bir Python arabirimidir. Esas olarak 2010 yılında başlayarak, James Gilles ve Ben Alkov'un katkılarıyla Jonathan Feinberg tarafından geliştirilmiştir.
Kablolama, Arduino ve Fritzing
İşleme başka projeyi oluşmasına neden oldu Kablolama yazılmış kütüphaneler koleksiyonu ile İşleme IDE kullanan, C ++ nasıl programı öğretmek sanatçıların bir yolu olarak dile mikrodenetleyiciler . Artık Wiring ortamını ve dilini kullanan Wiring ve Arduino olmak üzere iki ayrı donanım projesi var . Fritzing , tasarımcıların ve sanatçıların etkileşimli prototiplerini belgelemelerine ve fiziksel prototiplemeden gerçek ürüne adım atmalarına yardımcı olan aynı türden başka bir yazılım ortamıdır.
Mobil İşleme
Artık feshedilmiş olan başka bir yan proje, İşleme dili ve ortamı kullanılarak yazılan yazılımların Java destekli mobil cihazlarda çalışmasına izin veren Francis Li'nin Mobil İşleme'sidir. Bugün aynı işlevlerin bir kısmı Processing'in kendisi tarafından sağlanmaktadı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 bir Javascript uygulama çerçevesinin bir entegrasyonudur.
Spde
Spde (Scala Processing Development Environment), Processing'in azaltılmış Java sözdizimini ve özel önişlemcisini , Java platformunda da çalışan ve statik yöntemlere izin vermemek gibi aynı kısıtlamalardan bazılarını uygulayan ve aynı zamanda daha kısa olmasına izin veren kullanıma hazır Scala programlama dili ile değiştirir. kod ve destekleyici işlevsel programlama .
JRubySanat
JRubyArt (eski adıyla Ruby-processing ), JRuby kullanarak Java platformunda çalışan Ruby dilinde İşleme için bir sarmalayıcıdır .
tüy
Quil, Clojure ve ClojureScript için İşleme tabanlı etkileşimli bir animasyon kitaplığıdır .
medya
İçin müzik video House of Cards tarafından Radiohead verileriyle birleştirilecek işleme kullanılarak oluşturuldu lidar kullanılarak birlikte, teknoloji akrilik cam ve aynalar görüntüsü bozuk olduğu sahneleri oluşturmak için, kısmen kaybolur veya rüzgarla taşınırken sanki disintegrate. İşleme ayrıca Nature ve New York Times gibi yayınlar için illüstrasyonlar oluşturmak , galeri sergileri için heykeller çıkarmak, devasa video duvarlarını kontrol etmek ve kazak örmek için kullanıldı.
Ayrıca bakınız
- Kül (C++)
- OpenFrameworks (C++)
- JavaFX
- Maks (yazılım)
- koda
Dipnotlar
Referanslar
- Bohnacker, Hartmut; Brüt, Benedikt; Laub, Julia; Lazzeroni, Claudius (22 Ağustos 2012), Generative Design: Visualize, Program, and Create with Processing (1. baskı), Princeton Architectural Press , s. 472, ISBN 978-1616890773
- Glassner, Andrew (9 Ağustos 2010), Görsel Sanatçılar için İşleme: Etkileyici Görüntüler ve Etkileşimli Sanat Nasıl Yaratılır (1. baskı), AK Peters/CRC Press, s. 955, ISBN 978-1-56881-716-3, 21 Nisan 2011 tarihinde orijinalinden arşivlendi
- Reas, Casey; Fry, Ben (17 Haziran 2010), İşlemeye Başlarken (1. baskı), Make, s. 208, ISBN 978-1-4493-7980-3
- Noble, Joshua (21 Temmuz 2009), Programlama Etkileşimi: İşleme, Arduino ve Openframeworks için Tasarımcı Kılavuzu (1. baskı), O'Reilly Media , s. 736, ISBN 978-0-596-15414-1
- Terzidis, Kostas (11 Mayıs 2009), İşleme Dili Kullanarak Görsel Tasarım Algoritmaları (1. baskı), Wiley , s. 384, ISBN 978-0-470-37548-8
- Reas, Casey; Fry, Ben; Maeda, John (30 Eylül 2007), İşleme: Görsel Tasarımcılar ve Sanatçılar için Programlama El Kitabı (1. baskı), The MIT Press, s. 736, ISBN 978-0-262-18262-1, orijinalinden arşivlendi, 17 Nisan 2011
- Fry, Ben (11 Ocak 2008), Verileri Görselleştirme (1. baskı), O'Reilly Media , s. 382, ISBN 978-0-596-51455-6
- Greenberg, Ira (28 Mayıs 2007), İşleme: Yaratıcı Kodlama ve Hesaplamalı Sanat (Vakıf) (1. baskı), ED'nin arkadaşları, s. 840, ISBN 978-1-59059-617-3, 27 Ocak 2011'de orijinalinden arşivlendi
- Shiffman, Daniel (19 Ağustos 2008), Öğrenme İşleme: Görüntüleri, Animasyonu ve Etkileşimi Programlamaya Yeni Başlayanlar Kılavuzu (1. baskı), Morgan Kaufmann, s. 450, ISBN 978-0-12-373602-4
- Faludi, Robert (4 Ocak 2011), Kablosuz Sensör Ağları Oluşturma: ZigBee, XBee, Arduino ve İşleme ile (1. baskı), O'Reilly Media , s. 320, ISBN 978-0-596-80774-0, 12 Haziran 2019'da orijinalinden arşivlendi , 18 Mayıs 2011'de alındı
- Vantomme, Ocak (20 Eylül 2012), İşleme 2, Yaratıcı Programlama Yemek Kitabı (1. baskı), Packt Publishing , s. 291, ISBN'si 9781849517942, orijinalinden 2 Temmuz 2014'te arşivlendi , 25 Şubat 2013'te alındı
- Pearson, Matt (1 Haziran 2011), Generative Art, Processing (1st ed.), Manning, s. 240, ISBN 9781935182627, 24 Haziran 2019'da orijinalinden arşivlendi , 25 Şubat 2013'te alındı
- Ocak, Vantomme (20 Eylül 2012), İşleme 2: Yaratıcı Programlama Yemek Kitabı (1. baskı), Packt Publishing , s. 306, ISBN 978-1849517942, orijinalinden 2 Temmuz 2014'te arşivlendi , 25 Şubat 2013'te alındı
- Sauter, Daniel (2 Mayıs 2013), Rapid Android Development: Build Rich, Processing ile Sensör Tabanlı Uygulamalar (1. baskı), Pragmatic Bookshelf, s. 300, ISBN 978-1937785062, 13 Ekim 2019'da orijinalinden arşivlendi , 18 Temmuz 2013'te alındı
- Gradwohl, Nikolaus (20 Mayıs 2013), Processing 2: Creative Coding Hotshot (1. baskı), Packt Publishing , s. 266, ISBN 978-1782166726, 2 Temmuz 2014'te orijinalinden arşivlendi , 18 Temmuz 2013'te alındı