یک زبان اجرانامهنویسی یا اسکریپتنویسی یک زبان برنامهنویسی است که اجرای وظایف را خودکارسازی میکند From Wikipedia, the free encyclopedia
زبان اسکریپتنویسی یا زبان پردازهنویسی (به انگلیسی: script language یا scripting language) یک زبان برنامهنویسی است که اجرای وظایف را خودکارسازی میکند. اسکریپت برای محیطهای زمان اجرای خاص طراحی شدهاند.[۱] اگر از زبان اسکریپتنویسی استفاده نشود، وظایف باید تک به تک توسط عامل انسانی اجرا گردد. زبانهای اسکریپتنویسی اکثراً تفسیر میشوند (به جای آنکه کامپایل شوند).[۲] هر برنامهٔ اسکریپتی دنبالهای از دستورها است که پیدرپی انجام میشوند، از این رو به آن «دستورنامه» یا «دستنامه» هم گفته میشود.
این محیطها میتوانند توسط اسکریپتها خودکارسازی شوند:
اسکریپتها به آغازینها که معمولاً یا وظایف ابتدایی یا فراخوانی رابط برنامهنویسی کاربردی هستند، اجازه میدهد تا به برنامههای دیگر ترکیب گردند.[۲]
برای مثال، معمول نیست که جاوا را یک زبان اسکریپتنویسی بدانیم، زیرا کلاسهای موجود در فایلها دارای نحو پیچیده و قواعد زیادی میباشد و به صورت تعاملی، امکان اجرای مستقیم جاوا نیست، زیرا فایلهای منبع میتوانند فقط شامل تعاریف باشند، که این تعاریف باید از «خارج» توسط برنامه کاربردی میزبان یا راهانداز برنامهکاربردی فراخوانی شوند.[۲]
public class HelloWorld {
public void printHelloWorld() {
System.out.println("Hello World");
}
}
این قطعه کد میخواهد "Hello World" را چاپ کند، و کاری نمیکند زیرا main در کلاس HelloWorld تعریف نشدهاست.[۲]
در نقطه مقابل پایتون امکان تعریف بعضی از توابع را در یک فایل منفرد میدهد، و روی هم رفته جلو تعریف مجزای تابع را میگیرد، و از سبک برنامهنویسی دستوری استفاده میکند. یا به صورت تعاملی از آن استفاده میکند.[۲]
print("Hello World")
این یک خط کد است که "Hello World" را چاپ میکند، و هیچ عبارت اعلانی مثل main() در اینجا نیاز نیست.[۲]
خیلی از زبانهای همهکاره گویشهایی دارند که به صورت زبان اسکریپتنویسی استفاده میشود.
عبارت «زبان اسکریپتنویسی» همچنین برای ارجاع به
مثالهایی از این دسته عبارت است از: جاوا اسکریپت، پرل و پایتون (زبان برنامهنویسی).
زبانهای اسکریپتنویسی برای اجرا نیاز به مفسر دارند تا در ابتدا تبدیل و دستور به دستور ترجمه شده و سپس اجرا شوند اما زبانهای برنامهنویسی قبل از اجرا توسط کامپایلر تبدیل به کد ماشین شده و برای اجرا از کامپایلر استفاده مینمایند.
به دلیل استفاده از مفسر برای اجرای اسکریپتها، دستورها یکی پس از دیگری و سطر به سطر ترجمه میشوند بنابراین زمان بیشتری برای اجرا گرفته و هر زمان که با اروری مواجه شوند، متوقف میشوند این در حالی است که کامپایلر قبل از اجرا ابتدا تمام کد را بررسی کرده و در صورت مشاهده خطا، گزارش میدهد.
زبانهای اسکریپتنویسی نیاز به کدنویسی کمتری داشته و زمان کمتری از برنامهنویسی میگیرند اما در برنامهنویسی با سایر زبانها، برنامهنویس مجبور است تا تمامی دستورها را به صورت دستی وارد نماید.
در برخی از موارد زبانهای برنامهنویسی محدودیت بیشتری نسبت به زبانهای اسکریپتنویسی دارند. بهطور مثال شما قادر به ایجاد و طراحی یک برنامه دسکتاپ یا تلفن همراه به وسیله زبانهای برنامهنویسی نخواهید بود چرا که هیچگونه محیطی برای اجرای آنها وجود ندارد. برای درک بهتر میتوان PHP را مثال زد که از فریمورکهای آن نظیر وردپرس برای وبسایتها یا برنامههای تحت وب استفاده میگردد.
اسکریپتها در مقابل برنامهنویسی سیستمی قرار دارند. از این نظر، اسکریپتها مخصوصاً کد چسبیاند، و مولفههای نرمافزاری را متصل میکنند (زبانی که برای این هدف اختصاص یافتهاست یک زبان چسبی است).[۲]
یک کلاس عمده از زبانهای اسکریپتنویسی برای خودکارسازی کنترل وظیفه پدید آمدند، که با شروع و کنترل رفتار برنامههای سیستمی مرتبط است.[۲]
با پدید آمدن واسط کاربری گرافیکی، یک نوع بهخصوص از زبان اسکریپتنویسی برای کنترل یک رایانه پدید آمد. این زبانها با گرافیکهای مشابه با پنجره، منو، دکمه و غیره که انسانها با آن کار میکنند، تعامل داشتند.[۲]
زبانهای برنامه کاربردی خاص میتوانند به ردههای بسیار متفاوتی شکسته شوند (اجرا شوندهها)، زبان برنامه کاربردی مبتنی مجزا، زبانهای درونی برنامه کاربردی خاص (مثل postscript) و از بین آنها زبانهای اسکریپتنویسی اصطلاحی وجود دارد که برای نیازهای کاربر برنامه کاربردی متناسبسازی شدهاند.[۲]
برخی زبانها برای هدف جایگزینی با زبانهای اسکریپتنویسی کاربردی خاص طراحی شدهاند، این کار از طریق قرار گرفتن در برنامه کاربردی انجام میشود.[۲]
در دهه ۱۹۶۰ اولین پوستههای فرمان ساخته شدند. کاربران این پوستهها گاه مجبور بودند برای انجام امور خود، سلسلهای از دستورهای تکراری یا مشابه را در پوسته وارد کنند. کمکم به پوستهها قابلیتهایی اضافه شد که کاربر با آن میتوانست الگوی دستور kmهای خود را به پوسته اعلام کند و پوسته بهطور خودکار دستورها را انجام میداد. این پیشرفتها منجر به ساخت اولین اسکریپتهای پوستهای شد.
در واقع اسکریپتهای اولیه برنامههای کوچکی بودند که به وسیله آنها میشد برخی وظایف تکراری و پراستفاده یا یک وظیفه طولانی را بهطور خودکار انجام داد. زبانهای اسکریپتنویسی امروزه پیشرفتهای زیادی کردهاند. آنها در زمینههایی چون کنترل وظایف و پوسته، واسطهای گرافیکی کاربر، واژهپردازی، خدمتگزاران وب و خدمتگیرندههای وب استفاده میشوند.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.