برنامه نویسی چیست؟
در این فصل قصد داریم جاوا اسکریپت را معرفی کنیم. همچنین محیط برنامهنویسی را برای کار با جاوا اسکریپت آماده خواهیم کرد. در عین حال چند برنامهی ساده با جاوا اسکریپت خواهیم نوشت.
آنچه در این فصل میآموزید :
- برنامهنویسی چیست؟
- تاریخچهی جاوا اسکریپت
- ابزارهای لازم برای برنامهنویسی با جاوا اسکریپت
- جاوا اسکریپت در Console
- سلام دنیا! اولین برنامهی جاوا اسکریپتی شما
- جاوا اسکریپت در مرورگر
- یک برنامهی پیچیدهتر با جاوا اسکریپت
برنامه نویسی چیست؟
برنامهنویسی فرایندی است که به کامپیوترها میگوید چه کاری را باید انجام دهند. یک برنامهی کامپیوتری، مجموعهای از دستورالعملها است که به کامپیوتر میگوید یک وظیفه را چگونه انجام دهد. متاسفانه کامپیوترها به زبان انسان صحبت نمیکنند و زبانشان فقط متشکل از ۰ و ۱ است. کامپیوترهای اولیه با کارتهای پانچ شده برنامهنویسی میشدند که در آنها هر نقطهی سوراخ شده به معنی ۱ و هر نقطهی سوراخ نشده به معنی ۰ بود.
اولین برنامههای کامپیوتری به زبان ماشین و زبان اسمبلی نوشته شدند. اینها زبانهای برنامهنویسی سطح پایین هستند که بسیار نزدیک به ساختار سختافزار هستند. برنامهنویسی به این زبانها کار بسیار سختی است. چرا که به شدت وابسته به معماری سختافزار هستند. بنابراین جهت برنامهنویسی با این زبانها لازم است تا برنامهنویس، در حد مناسبی با معماری سختافزار نیز آشنا باشد. اگر سرعت اجرای برنامه اهمیت خیلی زیادی داشته باشد، این زبانها گزینهی بسیار مناسبی هستند.
در سوی دیگر زبانهای برنامهنویسی سطح بالا قرار دارند. این زبانها نزدیکی بیشتری به زبان انسان دارند. برنامههایی که به این زبانها نوشته میشوند (مانند زبانهای C، C++، Java)، قبل از اجرا شدن، باید توسط نرمافزاری به نام مترجم یا کامپایلر (Compiler) به زبان ماشین ترجمه شوند. با توجه به ترجمه شدن این زبانها به زبان ماشین، برنامههای نوشته شده به این زبانها، از سرعت اجرایی بالایی برخوردار هستند (البته کمی کندتر از برنامههای نوشته شده به زبان ماشین یا اسمبلی). در نتیجه برای نوشتن برنامههای تجاری بزرگ و بازیهای کامپیوتری که نیاز به سرعت اجرای بالایی دارند از این نوع زبانها استفاده میشود. همچنین برنامههایی که برای اجرا در یک سیستم عامل خاص نوشته میشوند نیز معمولاً با این نوع زبانها نوشته میشوند.
دستهی بعدی زبانها، زبانهای اسکریپتی یا مفسری هستند. این نوع زبانها نیز در اصل شاخهای از زبانهای سطح بالا هستند، اما تفاوتهایی نیز دارند. تفاوت اصلی این زبانها با زبانهای دستهی قبل این است که برنامههای نوشته شده به این زبانها جهت اجرا شدن نیازی به ترجمه به زبان ماشین ندارند. بلکه ترجمهی این زبانها در زمان اجرا انجام میشود که این نوع ترجمه را اصطلاحاً تفسیر (Interpret) مینامند و نرمافزاری که عمل تفسیر را انجام میدهد، مفسر (Interpreter) نام دارد. تفسیر کدهای این نوع زبانها در زمان اجرا، موجب کاهش سرعت اجرای زبانهای اسکریپتی نسبت به زبانهای کامپایلری میشود. بنابراین زبانهای مفسری برای نوشتن برنامههای تجاری بزرگ و برنامههایی که نیاز به سرعت اجرای بالایی دارند مناسب نیستند. اما به دلیل سادگی، این نوع زبانها امروزه کاربرد بسیار زیادی در دنیای برنامهنویسی دارند. از زبانهایی که در این دسته قرار میگیرند میتوان به زبانهایی مانند JavaScript ،PHP و Python اشاره کرد.
جاوا اسکریپت چیست؟
ما در این کتاب قصد یادگیری زبان جاوا اسکریپت را داریم. زبانی که امروزه به نام زبان وب شناخته میشود.
تقریباً تمام مرورگرها توانایی اجرای جاوا اسکریپت را دارند، که همین موضوع باعث شده تا جاوا اسکریپت به یکی از محبوبترین زبانهای برنامهنویسی تبدیل شود. شروع کار با جاوا اسکریپت بسیار آسان است. چرا که تمام چیزی که برای برنامهنویسی با جاوا اسکریپت نیاز دارید یک ویرایشگر متن و یک مرورگر است. جاوا اسکریپت در عین سادگی دارای برخی ویژگیهای جالب و خاص است که هم یادگیری آن را بسیار جذاب میکند و هم انعطافپذیری بسیار بالایی را در اختیارتان قرار میدهد که امکان ایجاد نرمافزارهای قدرتمند و پیچیده را فراهم میکند.
جاوا اسکریپت یک زبان سطح بالای اسکریپتی (یا مفسری) است که در زمان اجرا ترجمه میشود. در نتیجه برای اجرای برنامههای جاوا اسکریپت نیاز به یک مفسر است. مشهورترین مفسرهای جاوا اسکریپت، امروزه در مرورگرهای وب مانند Firefox، Chrome و ... یافت میشوند. البته مفسرهای جاوا اسکریپت، در خارج از محیط مرورگر هم وجود دارند. به عنوان مثال میتوان به Chrome V8 در Node.js اشاره کرد. بیشتر مفسرهای امروزی جاوا اسکریپت (یا اصطلاحاً موتورهای جاوا اسکریپت) دارای یک کامپایلر موسوم به JIT (Just In Time) هستند که قبل از اجرای برنامه، برنامه را کامپایل میکند که موجب افزایش چشمگیر سرعت اجرای برنامه میشود.