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