مقدمه
اگرچه برنامه نویسی یک اختراع جدید محسوب میشود اما این در حالی است که ایده ی مجبور کردن یک ماشین یا دستگاه برای انجام یکسری دستورات خاص به سالها پیش -چیزی در حدود یک قرن پیش- باز میگردد. در واقع، یکی از ابتداییترین طرحها برای یک ماشین قابل برنامهریزی -یا همان کامپیوتر- از کسی به نام Charles Babbage در سال 1834 گرفته شد.
در واقع وی پیشنهاد ساخت یک ماشین بخار که به صورت مکانیکی یکسری کارها را انجام دهد -که تحت عنوان موتور تحلیلگر شناخته میشود- را داده بود. برخلاف سیستمهای محاسبه ی آن روز که تنها میتوانستند یک عمل محاسباتی را انجام دهند، موتور تحلیلگر آقای چارلز بابج چندین کار همزمان را میتوانست انجام دهد. دستوراتی که به ماشین داده میشد از طریق یکسری کارتها انجام میپذیرفت که با تغییر تعداد این کارتها و نوع آن ها، هر کسی میتوانست دستورات مد نظر خود را به ماشین برای محاسبه ی آنها بدهد.
ایده ی ماشینهای قابل برنامهریزی توجه خانمی به نام Ada Lovelace را به خود جلب کرد که یک ریاضیدان بود. لذا او برنامهای نوشت -یا بهتر است بگوییم کارتهایی ترتیب داد- که تعدادی عدد خاص را پشت سر هم چاپ میکرد (با توجه به این که این خانم اولین کسی بود که کار خاصی را با Analytical Engine یا همان موتور تحلیلگر انجام داد، وی را میتوان به نوعی اولین برنامه نویس دنیا نیز تلقی کرد که نامگذاری زبان برنامه نویسی Ada هم به احترام وی صورت گرفته است.)
چیزی پس از گذشت یکصد سال، اولین کامپیوتر به معنای واقعی کلمه در سال 1943 توسط ارتش ایالات متحده طراحی شد. این ماشین که Electronic Numerical Integrator and Computer یا به اختصار ENIAC نامیده شد، از کابلها و سوییچهای مختلفی تشکیل شده بود و برای دستور دادن به آن، برنامه نویس میبایست جای کابلها و سوییچها را تغییر دهد (جالب است بدانیم که اولین برنامه نویسان این کامپیوتر همگی خانم بوده اند!) نکته ی اصلی اینجا است که کامپیوترهای آن موقع بسیار حجیم و گران بودند و کار کردن با آنها واقعا تخصص نیاز داشت!