کامپیوترها بدون کمک نرم افزار/ برنامهها تنها میتوانند «بله» و «خیر» را درک کنند. اگر بخواهیم کمی قضیه را …خوان پسند تر بیان کنیم، کامپیوترها در واقع «بله» و «خیر» را به صورت «1» و «0» میبینند. یک بار دیگر میتوان گفت که برنامهها مجموعهای از دستورالعمل های نوشته شده هستند که به کامپیوتر میگویند چه کار کند.
از آنجا که کامپیوتر واقعاً احمق و نادان هستند، برنامهنویسان (با نام مستعار: بچه …خوان) در طی سالها برنامههایی نوشتهاند که کار «صحبت کردن»مان با کامپیوتر را راحتتر کردهاند. یکی از این برنامهها که زندگیمان را آسانتر کرده، مرورگر وب است.
توانایی فهم و درک زبان برنامهنویسی جاوا اسکریپت به صورت درونساخت در داخل اینترنت اکسپلورر، نت اسکیپ، و اغلب مرورگرهای دیگر وب قرار داده شده است. باجاوا اسکریپت میتوانیم به طور غیر مستقیم کامپیوتر را کنترل کنیم.
امیدوارم که با این توضیح اولیه درباره برنامهنویسی، خیلی چیزها برای خوانندگان روشن شده باشد.
قبول دارم، بسیاری از مطالب تا اینجا قدری انتزاعی بودهاند؛ بنابراین بیایید برویم سراغ چیزی که محسوستر باشد.
آیا HTML و CSS برنامهنویسی هستند؟
تا اینتجا متوجه شدیم که HTML و CSS برای ساخت صفحات وب استفاده میشوند. این سوالی است که هر از گاهی پیش میآید؛ چونHTML وCSS در اصل تعداد زیادی کد هستند که برای این به کار برده میشوند که به مرورگر بگویند چی (HTML) نمایش بدهند و چطور (CSS) نمایش بدهند، اینکار برنامهنویسی نیست؟ پاسخ این است: «خیر»، و دلیلش هم این است:
تفاوت اساسی بین کدنویسی (مثل:HTML،CSS) و برنامهنویسی (جاوا اسکریپت، جاوا) این است که در برنامهنویسی میتوانید بر اساس چیزی که اتفاق میافتد تصمیم گیری کنید.
به عنوان مثال، میتوانید چند دستورجاوا اسکریپت بنویسید که در صورتی که کاربر (فردی که دارد صفحه شما را میبیند) کار خاصی انجام دهد، یک جعبه پیام کوچک نمایش دهد. این کار خاص می تواند کلیک کردن روی دکمهای خاص، فشردن کلید «C» روی صفحه کلید یا کار دیگری باشد.
البته این توضیح ساده سازی قضیه است اما خوب، از عهده چیزی که میخواهیم بگوییم بر میآید. این مسئله میتواند کمی گیجکننده باشد چون در دنیای اینترنت میتواند یک بخش «خاکستری» وجود داشته باشد که در آن بدون استفاده از برنامهنویسی میتوانید به مرورگر بگویید خود بخود کاری انجام دهد. مثال این موضوع متا تگ «refresh» است. این تگ این امکان را به شما میدهد که به صفحه وب بگویید پس از زمان مشخصی (مثلا چند ثانیه یا چند دقیقه) خودش را دوباره بارگذاری کند یا یک صفحه کاملا جدید را باز نماید. اینجا نشاند دادهایم متا تگ «refresh» به چه شکل عمل میکند:
<meta http-equiv=’refresh’ content=’3; URL=http://www.notrikawebdesign.com’>
این تگ به مرورگر میگوید پس از سه ثانیه صفحه: http://www.notrikawebdesign.com را بارگذاری کند.
ممکن است بعضیها کمی گیج شدهو بگویند حالا که کد متا تگ به مرورگر میگوید کاری انجام دهد، پس برنامهنویسی است. درست است؟ خیر، اشتباه است!! دلیل آنکه این تگ برنامهنویسی نیست این است که هیچ تصمیمی گرفته نشده است. فارغ از نوع اتفاقی که در صفحه میافتد یا نمیافتد (مثلاً حداقل در همان مدت 3 ثانیه که در صفحه گفته شده) صفحه به طور خودکار وب سایت موجود در متا تگ (در این مورد: http://www.notrikawebdesign.com) را بارگذاری میکند.
زمانی می شود این مثال را واقعاً برنامه ریزی شده کرد، بتوانید (به عنوان مثال) کنترل کنید که بسته به عملی که کاربر در صفحه انجام میدهد، مرورگر این صفحه یا یک صفحه دیگر را بارگذاری کند.
یک مثال ساده: فرض کنید جعبهای در صفحه وبتان دارید که کاربر میتواند در آن عددی را وارد کند و بسته به عدد وارد شده، مرورگر یک صفحه خاص را بارگذاری مینماید.
این نشان میدهد که برنامهنویسی چگونه میتواند بر اساس احتمالات موجود به شما اجازه تصمیمگیری بدهد.
یک مثال دیگر: شما میتوانید، باجاوا اسکریپت، بررسی کنید و ببینید که چه کاربرتان دارد از کدام مرورگر برای دیدن صفحهتان استفاده میکند یا اینکار را در چه ساعتی از روز دارد انجام میدهد. بنابراین با داشتن این اطلاعات مثلا اگر قبل از 12 ظهر است و کاربر دارد از مرورگر اینترنت اکسپلورر استفاده میکند، میتوانید او را به یک وب سایت خاص هدایت کنید. و همچنین در صورتی که از 12 ظهر گذشته و او در حال استفاده از مرورگر نت اسکیپ است، میتوانید چنان برنامه نویسی کنید که کاربر را به یک وب سایت سوم هدایت کنید. هر ترکیبی امکان پذیر است و این نشان از قدرت برنامهنویسی دارد!
نکته نهایی
این فقط بخش اول این سری آموزشی بود. در قسمت بعدی به آرامی شما را به مفاهیم بیشتری آشنا خواهم کرد که آنچه برای برنامهنویسی واقعی از پایه و اساس بدان نیاز دارید را در اختیارتان قرار بدهد. تنها با کمیصبر، در مدت زمان کوتاه، همه شما برنامهنویس خواهید شد!