İçeriğe atla

Processing

Processing
Processing logo
Paradigmasınesne yönelimli
İlk çıkışı2001
Kararlı sürüm1.5.1
EtkilendikleriDesign By Numbers, Java, OpenGL, PostScript, C
İşletim sistemiÇapraz platform
LisansGPL, LGPL
Olağan dosya uzantıları.pde
Web sitesiprocessing.org

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 IDE
Processing logo
Programlama diliJava, GLSL, JavaScript
İşletim sistemiÇapraz platform
TürIntegrated development environment
Resmî sitesi//processing.org
Kod deposu Bunu Vikiveri'de düzenleyin

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

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.[2]

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.[3] 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

Örnek komut dosyasıyla oluşturulan Processing-1.5.1 taslak çıktısının ekran görüntüsü.

Processing'deki "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.");

Bununla birlikte, Processing'nin daha görsel yönelimli doğası nedeniyle, aşağıdaki kod[4] 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);
}

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ı.[5] 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.[6]

Kaynakça

  1. ^ Ira Greenberg (31 Aralık 2007). Processing: Creative Coding and Computational Art. Apress. ss. 151-. ISBN 978-1-4302-0310-0. 6 Mart 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Mart 2022. 
  2. ^ Jeanine Meyer (15 Haziran 2018). Programming 101: The How and Why of Programming Revealed Using the Processing Programming Language. Apress. ss. 121-. ISBN 978-1-4842-3697-0. 6 Mart 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Mart 2022. 
  3. ^ Ira Greenberg (25 Mart 2010). The Essential Guide to Processing for Flash Developers. Apress. ss. 412-. ISBN 978-1-4302-1980-4. 6 Mart 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Mart 2022. 
  4. ^ Tayste. "Hello Mouse - OpenProcessing". OpenProcessing.org. 3 Mart 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2022. 
  5. ^ "Processing, Wiring, and Arduino (EE Tip 101) - Circuit Cellar". 18 Eylül 2013. []
  6. ^ "iProcessing Puts Processing.js on iPhone - But What About Browsers? - CDM Create Digital Music". 11 Şubat 2010. 13 Ekim 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Temmuz 2018. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">D (programlama dili)</span> çoklu paradigma programlama dili

D programlama dili, C++ dilinden daha yüksek seviyede ve hedef alınan işletim sistemiyle donanımlara göre uygulama yazılmasını kolaylaştıran bir "sistem ve uygulama" dilidir.

<span class="mw-page-title-main">Nesne yönelimli programlama</span> nesne kavramına dayalı programlama paradigması

Nesne yönelimli programlama veya kısaca NYP, Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

<span class="mw-page-title-main">NetBeans</span> Vikimedya kategorisi

NetBeans, Oracle tarafından geliştirilen bir Java geliştirme ortamıdır (IDE) ve ücretsiz olarak dağıtılmaktadır. Özellikle kullanıcı arayüzü tasarımında sağladığı kolaylıklardan dolayı tercih edilmektedir. Henüz Eclipse kadar popüler olmasa da popülerliği giderek artmaktadır.

Cephe yönelimli programlama veya ilgiye yönelik programlama, çapraz kesim işlerini bölerek modülerliği artırmayı amaçlayan bir programlama yaklaşımıdır. Bütün programlama yaklaşımlarında kodlar uzadıkça, kodların anlaşılabilirliği çok düşmekte, bazen de içinden çıkılmaz bir hal almaktadır. Programlamanın varlığıyla birlikte bu sorun da hep var olmuştur. Bu sorunla savaşabilmek için sürekli çalışmalar devam etmektedir, bu süreçte ortaya çıkan önemli bir programlama yaklaşımı da Cephe Yönelimli Programlamadır.

<span class="mw-page-title-main">Tümleşik geliştirme ortamı</span> yazılım geliştirmek için kullanılan yazılım ortamı

Tümleşik geliştirme ortamı, bilgisayar programcılarının hızlı ve rahat bir şekilde yazılım geliştirebilmesini amaçlayan, geliştirme sürecini organize edebilen birçok araç ile birlikte geliştirme sürecinin verimli kullanılmasına katkıda bulunan araçların tamamını içerisinde barındıran bir yazılım türüdür.

<span class="mw-page-title-main">Arduino</span> Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından oluşan bir fiziksel programlama platformudur

Arduino bir G/Ç (I/O) kartı ve Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından oluşan bir fiziksel programlama platformudur. Arduino tek başına çalışan interaktif nesneler geliştirmek için kullanılabileceği gibi bilgisayar üzerinde çalışan yazılımlara da bağlanabilir. Hazır üretilmiş kartlar satın alınabilir veya kendileri üretmek isteyenler için donanım tasarımı ile ilgili bilgiler mevcuttur.

Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır.

<span class="mw-page-title-main">Adobe Flex</span>

Adobe Flex, çapraz platform tabanlı zengin İnternet uygulamalarının Adobe Flash platformu üzerinde geliştirilmesi ve dağıtılması amacıyla Adobe Systems tarafından yayımlanan bir yazılım geliştirme kitidir. Flex uygulamaları, Adobe Flash Builder kullanılarak ya da Adobe'den ücretsiz olarak kullanılabilen Flex derleyicisi kullanılarak yazılabilir. İlk sürümü Mart 2004'te bir yazılım geliştirme kiti, bir IDE ve Flex Data Services olarak bilinen bir Java EE entegrasyon uygulaması Macromedia tarafından dahil edildi. 2005 yılında Adobe, Macromedia'yı elde ettiğinden beri, artık Flex'in daha sonraki sürümleri, Flex Data Services için bir lisans gerektiriyor, LiveCylce Data Services gibi yeniden markalanmış ayrı bir ürün haline geldi. Adobe tarafından 2007 yılında kod katkısıyla başlayan bir açık kaynak projesi olan BlazeDS, Adobe LiveCycle Data Services'a bir alternatiftir. Şubat 2008'de Adobe, özgür Mozilla Kamu Lisansı altında Flex 3 SDK'yı yayınladı ve böylece Flex uygulamaları, herhangi bir standart IDE kullanılarak geliştirilebilir, örneğin Eclipse. Ayrıca Adobe Flash Builder denilen ticarî ve tescilli bir IDE vardır.

<span class="mw-page-title-main">Yazılım iskeleti</span>

Bilgisayar programlamada yazılım iskeleti, yazılım çerçevesi ya da yazılım çatısı, standart fonksiyonların hazır olarak sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla istenildiği şekilde güncellenebildiği sistemlerdir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

<span class="mw-page-title-main">Android yazılımı geliştirme</span>

Android yazılım geliştirmesi Android işletim sistemi için yeni uygulamaların oluşturulduğu süreçtir. Uygulamalar genellikle Android yazılım geliştirme kiti (SDK) kullanılarak Java programlama dilinde geliştirilir; ancak diğer geliştirme ortamları da mevcuttur. Google, Android uygulamaları Kotlin, Java ve C++ dilleri kullanılarak Android yazılım geliştirme kiti (SDK) kullanılarak yazılabilir" ve diğer dilleri kullanmak da mümkün olduğunu belirtiyor. Go, JavaScript, C, C++ veya Assembly gibi Java sanal makinesi (JVM) dışı tüm diller, muhtemelen kısıtlı API desteğiyle araçlar tarafından sağlanabilecek JVM dil kodunun yardımına ihtiyaç duyar.

<span class="mw-page-title-main">Xcode</span>

Xcode macOS, iOS, watchOS, tvOS ve visionOS için yazılım geliştirmek için Apple tarafından geliştirilen macOS için entegre bir tümleşik geliştirme ortamıdır. Yazılım geliştirme araçlarını içerir. İlk kez 2003 yılında piyasaya çıkan hizmetin en istikrarlı sürümü, sürüm 8.3.3'tür ve Mac App Store'den macOS Sierra kullanıcıları için ücretsiz olarak sunulmaktadır. Kayıtlı geliştiriciler, Apple Developer web sitesinden paketi önizleme sürümlerini ve önceki sürümlerini indirebilirler. Bununla birlikte, Apple son zamanlarda yazılımın sürüm 9 beta 2'nin beta versiyonunu Apple Developer hesaplarıyla halka açık hale getirdi.

iOS SDK

iOS SDK Apple tarafından geliştirilen bir yazılım geliştirme kitidir. Kit, Apple'ın iOS işletim sisteminde mobil uygulamaların geliştirilmesine olanak tanır.

Windows Runtime, 2012 yılında ilk olarak Windows 8 ve Windows Server 2012'de tanıtılan platform tabanlı bir uygulama mimarisidir. WinRT, C++/WinRT, C ++/CX, JavaScript-TypeScript, yönetilen kod dilleri C Sharp ve Visual Basic .NET (VB.NET) 'in geliştirilmesini destekler. WinRT uygulamaları, hem x86 hem de ARM mimarisini doğal olarak destekler ve daha fazla güvenlik ve kararlılık sağlamak için sandbox ortamında çalışabilir. WinRT bileşenleri, yerel, yönetilen ve betik dilleri dahil olmak üzere birden fazla dil ve API arasında birlikte çalışabilirlikle tasarlanmıştır.

<span class="mw-page-title-main">Arduino IDE</span>

Arduino için Entegre Geliştirme Ortamı(IDE), C ve C ++ dilleri ile yazılmış bir platformlar arası uygulamadır. Arduino uyumlu kartlara program yazmak ve yüklemek için kullanılır, aynı zamanda 3. taraf çekirdekler ve satıcıların geliştirme kartları için de kullanılabilir.

Apache Cordova ilk olarak Nitobi tarafından yaratılmış mobil uygulama geliştirme iskeletidir. 2011'de Adobe Nitobi'yi satın aldı ve PhoneGap olarak yeniden markalaştırdı ve daha sonra yazılımın açık kaynaklı bir sürümü olan Apache Cordova'yı piyasaya sürdü. Apache Cordova yazılım programlamacılarının Android, iOS veya Windows Phone'daki platforma özgü API'leri kullanmak yerine CSS3, HTML5 ve JavaScript kullanarak mobil cihazlar için uygulamalar derlemelerini sağlar. CSS, HTML ve JavaScript kodlarının cihazın platformuna göre paketlenmesini sağlar. Cihazda çalışması için HTML ve JavaScript'in özelliklerini genişletir. Elde edilen uygulama melezdir. Ne tamamen gerçek anlamda doğuştan mobil uygulamadır ne de tam olarak Web temellidir. Sürüm 1.9'dan itibaren yerel ve melez kod parçacıklarını karıştırmak mümkündür.

<span class="mw-page-title-main">Cloud9 IDE</span>

Cloud9 IDE, sürüm 2.0'dan sürüm 3.0'a kadar açık kaynak olarak yayınlanan bir Çevrimiçi IDE'dir. C, C++, PHP, Ruby, Perl, Python, Node.js ile JavaScript ve Go gibi birçok programlama dilini destekler.