مقایسه زبانهای برنامه نویسی و اسکریپت نویسی
امروزه مشخص نمودن مرزی میان زبانهای برنامه نویسی و اسکریپت نویسی کمی دشوار شده است. بدین ترتیب، شاید بتوان گفت این دو مورد با هم تفاوتی نداشته و تفاوت قائل شدن میان آنها کمی بی معنی است. اما اگر بخواهیم کمی بر روی این دو حساسیت به خرج دهیم میتوانیم برای هر کدام ویژگیهایی را در نظر بگیریم.
در یک جمله میتوان یک زبان اسکریپت نویسی را یک زبان برنامه نویسی تعریف نمود که نیازی به مرحله کامپایل ندارد. به عنوان مثال، قبل از اجرای یک برنامهی نوشته شده به زبان C، ابتدا باید آن را کامپایل کنیم. اما هنگامی که یک برنامه به زبان JavaScript یا PHP مینویسیم، به راحتی میتوانیم آن را اجرا نماییم. بنابراین میتوان JavaScript را در دسته زبانهای اسکریپت نویسی و زبان C را در دسته زبانهای برنامه نویسی به شمار آورد.
به طور کلی، برنامههایی که کامپایل میشوند در مقایسه با برنامههایی که تفسیر میشوند دارای سرعت اجرای بیشتری میباشند. به دلیل اینکه برنامههای کامپایل شده به زبان ماشین (۰ و ۱) تبدیل شده و همین امر باعث افزایش سرعت اجرای آنها میشود. همچنین کامپایلرها تنها یکبار کد نوشته شده را خوانده و مورد تجزیه و تحلیل قرار میدهند، اما مفسرها با هربار اجرای برنامه، کد را مورد بررسی قرار داده و برنامه را خط به خط اجرا میکنند. البته امروزه با توجه به وجود سخت افزارهای قدرتمند و شیوهها و متدهای کد نویسی پیشرفته، این موضوع (سرعت اجرای برنامه) را نمیتوان به عنوان مرزی میان زبانهای برنامه نویسی و اسکریپ نویسی به حساب آورد.
نکتهی دیگری که باید به آن توجه داشت، محیطی است که برنامهی نوشته شده در آن اجرا میشود. دلیل اهمیت محیط اجرایی این است که میتوان یک مفسر برای زبانی مانند C طراحی کرده و از آن به عنوان یک زبان اسکریپ نویسی استفاده نمود. همچنین از سوی دیگر میتوان یک کامپایلر برای زبانی مانند JavaScript طراحی کرده و از آن به عنوان یک زبان برنامه نویسی استفاده کرد. برای مثال، موتور JavaScript گوگل کروم (V8) بجای تفسیر کدهای JavaScript، آنها را کامپایل کرده و به زبان ماشین تبدیل میکند. همچنین برای زبان اسکریپت نویسی مانند Ruby امروزه تعداد زیاد کامپایلر طراحی شده است.
برخی از زبانهای اسکریپت نویسی که نیازی به کامپایل ندارند عبارتند از: Python، JavaScript، PHP، Bash، Perl
و برخی از زبانهای برنامه نویسی که قبل از اجرا باید از مرحلهی کامپایل بگذرند عبارتند از: C، C++، Java
حوزههای استفاده از هرکدام از این زبانها میتواند با هم متفاوت بوده و یا همپوشانی داشته باشند. بنابراین نمیتوان گفت که کدام یک از آنها مخصوص چه حوزهای میباشد. پیشنهاد میشود از هر دو در کنار هم استفاده کنید. پس بهتر است تنها به خود زبان توجه و آن را ارزیابی کرده و در نظر بگیریم که زبان مورد نظر به اندازه کافی مناسب کار ما میباشد یا خیر. چرا که هر زبانی دارای نقاط قوت و ضعف در محیطهای و زمینههای مختلف میباشد. علاوه بر تمام این موارد، هیچگاه زبان مورد علاقهی خود را فراموش نکنید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.