پراسسینگ (زبان برنامه‌نویسی)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو
Processing
Processing logo
الگو برنامه‌نویسیObject-oriented
ظهوریافته در۲۰۰۱؛ ۱۹ سال پیش (۲۰۰۱)
انتشار پایدار
3.5.3
۳ فوریه ۲۰۱۹؛ ۱۶ ماه پیش (۲۰۱۹-۰۲-03)[۱]
پروانهGPL, LGPL
.pde
وبگاه

پراسسینگ (به انگلیسی Processing) یک کتابخانه گرافیکی منبع باز و محیط توسعه یکپارچه (IDE) برای کارآموزی جوامع هنرهای الکترونیکی، هنر رسانه‌های جدید و طراحی بصری است که هدف آن آموزش مبانی برنامه‌نویسی رایانه‌ای در یک زمینه بصری است.

پراسسینگ از زبان برنامه‌نویسی جاوا، به کمک ابزارهای اضافی ساده مانند کلاس‌های اضافی و توابع ریاضی و عملیات تعریف شده استفاده می‌کند. همچنین یک رابط کاربری گرافیکی برای ساده‌سازی مرحله تدوین و اجرا دارد.

زبان پراسسینگ و IDE بسیاری از پروژه‌های دیگر، به ویژه Arduino , Wiring و p5.js را پیش برده‌است.

تاریخچه[ویرایش]

این پروژه در سال ۲۰۰۱ توسط کیسی ریس و بن فرای، که قبلاً عضو گروه زیبایی‌شناسی و محاسبات در آزمایشگاه رسانه MIT بودند آغاز شد. در سال ۲۰۱۲، آنها بنیاد پراسسینگ را همراه با دانیل شیفمن، که به عنوان سرپرست سوم پروژه پیوست، شروع کردند. یوهاندا هدوا در سال ۲۰۱۴ به عنوان مدیر پشتیبانی به این پروژه پیوست.[۲]

در اصل، پراسسینگ نشانی اینترنتی proce55ing.net را داشت، زیرا دامنه پراسسینگ اشغال شده بود. سپس ریس و فرای دامنهٔ processing.org را به دست آوردند.[۳] گرچه این نام ترکیبی از حروف و اعداد بود، اما همچنان پراسسینگ خوانده می‌شود. آنها Proce55ing را ترجیح نمی‌دهند. علی‌رغم تغییر نام دامنه، پراسسینگ هنوز هم اصطلاح p5 را به عنوان نام اختصاری نامیده‌است (P5 بجای p55 استفاده می‌شود)، به عنوان مثال p5.js که به آن اشاره دارد.[۴]

امکانات[ویرایش]

Processing IDE
Processing logo
عکسی از محیط یکپارچه توسعه نرم‌افزار پراسسینگ
عکسی از محیط یکپارچه توسعه نرم‌افزار پراسسینگ
انتشار پایدار
۳٫۴٫۰
۲۶ ژوئیه ۲۰۱۸؛ ۲۳ ماه پیش (۲۰۱۸-۰۷-26)
مخزن
نوشته‌شده توسطJava, GLSL, JavaScript
سیستم‌عاملCross-platform
گونهIntegrated development environment
وبگاه

پردازش شامل یک sketchbook (محیطی به نام دفترچه نقاشی) و یک جایگزین کم حجم محیط توسعه یکپارچه (IDE) برای سازماندهی پروژه‌ها است.[۵]

هر sketch پراسسینگ، در واقع یک زیر کلاس از کلاس PApplet Java است (قبلاً یک زیر کلاس از Applet جاوا بود) که اکثر ویژگی‌های زبان را اجرا می‌کند.[۶]

هنگام برنامه‌نویسی در پراسسینگ، تمام کلاس‌های اضافی تعریف شده به عنوان کلاس‌های داخلی در نظر گرفته می‌شوند، زمانی که کد قبل از کامپایل شدن به زبان جاوا تبدیل می‌شود.[۷] این بدان معنی است که استفاده از متغیرهای استاتیک و method‌ها در کلاس‌ها ممنوع است، مگر اینکه در حالت جاوای خالص پراسسینگ کد زده شود.

پراسسینگ اجازه می‌دهد تا کاربران کلاس‌های خود را در PApplet sketch ایجاد کنند. این کار اجازه می‌دهد که انواع داده‌های پیچیده بتواند شامل هر تعداد آرگومان باشند و از محدودیت‌هایی با استفاده از انواع داده‌های استاندارد مانند: int (عدد صحیح)، کاراکتر (شخصیت)، شناور (تعداد واقعی) و رنگ (RGB, RGBA, hex) به وجود می‌آیند، اجتناب کنند.

مثال‌ها[ویرایش]

ساده‌ترین نسخه ممکن یک برنامه "Hello World" در پراسسینگ:

// را در کنسول محیط خود چاپ می‌کند"Hello World."

println("Hello World.");

با این حال، به لطف طبیعت بصری گرای پراسسینگ، کد زیر یک مثال بهتر از نگاه و احساس زبان است.

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

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

جوایز[ویرایش]

در سال ۲۰۰۵، Reas و Fry برنده جایزه معتبر Golden Nica از Ars Electronica در بخش Net Vision برای کار خود در پراسسینگ شدند.[۸]

بن فرای در سال ۲۰۱۱ جایزه طراحی ملی را توسط موزه طراحی ملی کوپر-هاوت را در بخش تعامل طراحی به دست آورد. بیانیه جایزه:

«با کار کردن در زمینهٔ طراحی گرافیک و علوم کامپیوتری، بن فری شیفتگی طولانی را با مصورسازی داده‌ها دنبال می‌کند. به عنوان مدیر کل طراحی اطلاعات فاتوم در بوستون، فری نرم‌افزار، کارهای چاپی، تأسیسات و کتاب‌هایی را توسعه و ارائه می‌دهد که موضوعاتی از ژنوم انسان تا درآمد بیسبال تا تکامل اسناد متنی را شرح و توضیح می‌دهد. با کیسی ریس، او پروژه پراسسینگ، یک محیط برنامه‌نویسی منبع باز برای آموزش طراحی محاسباتی و طراحی برنامه‌های رسانه ای تعاملی را تأسیس کرد. این کار برای هنرمندان و طراحان ابزار قابل دسترس برای کار با کد را فراهم می‌کند در حالی که مهندسان و دانشمندان کامپیوتر را به فکر کردن دربارهٔ مفاهیم طراحی تشویق می‌کند.»[۹]

مجوز[ویرایش]

کتابخانه‌های اصلی پراسسینگ، کد شامل شده در اپلت‌ها و برنامه‌های اکسپورت شده، تحت مجوز GNU Lesser General Public می‌باشند، این به کاربران اجازه می‌دهد کد اصلی خود را با انتخاب مجوز انتشار دهند.

IDE تحت مجوز GNU General Public License می‌باشد.

پروژه‌های مرتبط[ویرایش]

پراسسینگ یک زبان واحد نیست، بلکه یک رویکرد هنر-گرا به یادگیری، تدریس و ساختن با کد است. چندین نوع و پروژه‌های مرتبط با پراسسینگ وجود دارد:

طراحی با اعداد[ویرایش]

پراسسینگ بر اساس کار اصلی انجام شده بر روی پروژه طراحی با اعداد در MIT بود. ایده‌های مشابه بسیاری را به اشتراک می‌گذارند و فرزند مستقیم این آزمایش است.

Processing.js[ویرایش]

در سال ۲۰۰۸، John Resig پراسسینگ را به جاوا اسکریپت با استفاده از عنصر Canvas برای رندر کردن، منتقل کرد،[۱۰] این به ما اجازه می‌دهد که پراسسینگ در مرورگرهای مدرن بدون نیاز به افزونه جاوا اجرا شود. از آن زمان به بعد، جامعه متن‌باز از جمله دانش آموزان کالج Seneca در تورنتو پروژه را گرفته‌اند.

Processing.js همچنین برای حمایت از برنامه‌نویسی پایه برای دانش آموزان در تمام سنین بر روی آکادمی خان با ایجاد نقاشی‌ها و انیمیشن‌ها مورد استفاده قرار می‌گیرد. یادگیرندگان خلاقیت و ساخته‌های خود را برای سایر یادگیرندگان به نمایش می‌گذارند.

p5.js[ویرایش]

در سال ۲۰۱۳، لورن مک‌کارتی p5.js را ایجاد کرد، جایگزین جاوااسکریپت برای Processing.js که پشتیبانی رسمی از بنیاد پراسسینگ است. مک‌کارتی همچنین در یک دوره مقدماتی، p5.js را در Kadenze آموزش می‌دهد.[۱۱]

Processing.py[ویرایش]

حالت Python برای پراسسینگ، یا Processing.py یک رابط پایتون به جعبه ابزار اساسی Java است؛ که توسط جاناتان فینبرگ در سال ۲۰۱۰ با کمک جیمز جیلز و بن الکوو توسعه یافته‌است.[۱۳]

Wiring, Arduino, and Fritzing[ویرایش]

پراسسینگ یک پروژه دیگر، Wiring، که از IDE پراسسینگ با مجموعه ای از کتابخانه‌های نوشته شده در زبان C ++ به عنوان راهی برای آموزش هنرمندان به نحوه برنامه‌نویسی میکروکنترلرها، ایجاد کرده‌است.[۱۴] در حال حاضر دو پروژه جداگانه سخت‌افزاری با استفاده از زبان و محیط Wiring وجود دارند، Wiring و آردوینو.

Fritzing یک محیط نرم‌افزاری دیگر از همان نوع است که به طراحان و هنرمندان کمک می‌کند تا نمونه‌های تعاملی خود را مستند کنند و از نمونه اولیه فیزیکی تا محصول واقعی پیش ببرند.

پراسسینگ موبایل[ویرایش]

یکی دیگر از پروژه‌های مشتق گرفته شده که اکنون از بین رفته‌است، پراسسینگ موبایل ساخته شده توسط فرانسیس لی است که اجازه استفاده از نرم‌افزار ساخته شده با استفاده از زبان و محیط پراسسینگ برای اجرا در دستگاه‌های موبایل جاوا را می‌دهد. امروزه برخی از همان قابلیت‌ها توسط خود پراسسینگ ارائه شده‌است.[۱۵]

iProcessing[ویرایش]

iProcessing برای کمک به مردم در توسعه برنامه‌های نیتیو آیفون با استفاده از زبان پراسسینگ ساخته شده‌است. iProcessing از ادغام کتابخانه Processing.js و فریم وورک برنامه جاوا اسکریپت برای iPhone ساخته شده‌است.[۱۶]

SPDE[ویرایش]

SPDE (محیط توسعه پراسسینگ Scala) جایگزین سینتکس کاهش یافتهٔ جاوای پراسسینگ و پیش پردازنده عادی با زبان برنامه‌نویسی Scala شده‌است که همچنین در سکوی جاوا اجرا می‌شود و برخی از محدودیت‌های مشابه مانند محدودیت استفاده از متدهای استاتیک را اعمال می‌کند، با این حال اجازه مختصرتر نوشتن کد و پشتیبانی از برنامه‌نویسی تابعی را می‌دهد.[۱۷][۱۸][۱۹]

JRubyArt[ویرایش]

JRubyArt (قبلاً به نام ruby-processing) یک بسته‌بندی برای پراسسینگ در زبان Ruby است که در سکوی جاوا با استفاده از JRuby اجرا می‌شود.

موضوعات بیشتر[ویرایش]

  • سیلندر (C ++)
  • OpenFrameworks (C ++)
  • JavaFX
  • Max (نرم‌افزار)
  • کدا

پانویسها و منابع[ویرایش]

  1. "Download Processing.org". processing.org. Retrieved 2018-07-26.
  2. "People". processingfoundation.org. Archived from the original on 5 October 2019. Retrieved 2017-04-24.
  3. "Processing 1.0 _ALPHA_ - processing.org". processing.org. Archived from the original on 28 April 2012. Retrieved 15 June 2019.
  4. "What means number 5 in name "p5"? · Issue #2443 · processing/p5.js". GitHub.
  5. Ira Greenberg (31 December 2007). Processing: Creative Coding and Computational Art. Apress. pp. 151–. ISBN 978-1-4302-0310-0.
  6. Jeanine Meyer (15 June 2018). Programming 101: The How and Why of Programming Revealed Using the Processing Programming Language. Apress. pp. 121–. ISBN 978-1-4842-3697-0.
  7. Ira Greenberg (25 March 2010). The Essential Guide to Processing for Flash Developers. Apress. pp. 412–. ISBN 978-1-4302-1980-4.
  8. Meredith Hoy (3 January 2017). From Point to Pixel: A Genealogy of Digital Aesthetics. Dartmouth College Press. pp. 142–. ISBN 978-1-5126-0023-0.
  9. http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf
  10. "John Resig - Processing.js". Archived from the original on 22 March 2017. Retrieved 15 June 2019.
  11. Introduction to Programming for the Visual Arts with p5.js on Kadenze
  12. What means number 5 in name "p5"?
  13. Allison Parrish; Ben Fry; Casey Reas (11 May 2016). Getting Started with Processing.py: Making Interactive Graphics with Processing's Python Mode. Maker Media, Incorporated. ISBN 978-1-4571-8679-0.
  14. "Processing, Wiring, and Arduino (EE Tip 101) - Circuit Cellar". 18 September 2013.[پیوند مرده]
  15. "Android - Processing". Archived from the original on 19 August 2014. Retrieved 2013-06-03.
  16. "iProcessing Puts Processing.js on iPhone - But What About Browsers? - CDM Create Digital Music". 11 February 2010. Archived from the original on 13 October 2019. Retrieved 15 June 2019.
  17. "Spde: Spde". Technically.us. Archived from the original on 2 August 2011. Retrieved 2013-08-20.
  18. "Coderspiel / Runaway processing". Technically.us. Archived from the original on 10 November 2016. Retrieved 2013-08-20.
  19. "Coderspiel / Flocking with Spde". Technically.us. Retrieved 2013-08-20.

منابع[ویرایش]

پیوند به بیرون[ویرایش]