چارلز بابیج، کسی به عنوان پدر برنامهنویسی شناخته میشود، اولین ماشین با قابلیت برنامهریزی را اختراع کرد. چارلز نام دستگاه جدیدش را Analytical Engine (موتور تحلیلی) گذاشت؛ آن دستگاه که با ۶ موتور بخار کار میکرد، به وسیلهٔ کارتهای پانچ شده اصطلاحاً برنامهنویسی شده بود و آنقدر بزرگ و عظیم بود که میتوانست فضای یک خانه را به طور کامل آشغال کند. موتور تحلیلی از سه بخش اساسی تشکیل شده بود که عبارتند از:
- Mill (آسیاب): که نقشی همچون CPU امروزی را بازی میکرد.
- Store (منبع ذخیره): که طبیعتاً معادل است با مموری، هارددیسک و یا سیستمهایی که امکان ذخیرهٔ هر چیزی را به شما میدهند.
- Reader (خوانندهٔ اطلاعات): که به عنوان ورودی دیتا شناخته میشد.
این روند، چگونگی خروجی هر نوع اطلاعاتی در موتور تحلیلی را به ما نشان میدهد. اما جالب است بدانید که چارلز نتوانست موتور تحلیلی را کامل کند، که احتمالاً علتش به خاطر درگیری میان چارلز و مهندس ارشد پروژه -جوزف کلمنت- بوده است.
فرد کوهن، خالق ویروسهای کامپیوتری با تکنیک دفاعی است. کوهن کسی بود که اولین ویروس کامپیوتری را به شکلی نوین طراحی کرد؛ در واقع، فرد با زبان C برنامهای نوشت که درون یک برنامهٔ پرکاربرد قرار داشت و میتوانست بدون اجازهٔ کاربر سیستم را آلوده کند و به اسناد و فایلهای قربانی دسترسی پیدا کند و کوهن نام آن برنامه را Virus گذاشت!
قرار بود ویروس اختیار یک کامپیوتر را به دست بگیرد، تکثیر شود و به وسیلهٔ چیزی مثل فلاپیدیسک از یک کامپیوتر به بقیه سیستمها سرایت کند. کوهن میخواست بفهمد که آیا ساخت چنین برنامهای که مانند ویروس تکثیر و کلون شود امکانپذیر است یا خیر و او هرگز قصد تخریب و آسیب رساندن به امنیت کامپیوترها را نداشت.
فرد کوهن بعدها ویروسی مفید ساخت که به کاربران کامپیوترها کمک میکرد تا فایلهای اجرایی آلوده در سیستمهایی که آلوده نشده بودند را پیدا کنند (یعنی قبل از این که سیستم آلوده شود، آنها را متوجه میکرد!)
چه باور کنید و چه باور نکنید، باید بدانید که اولین برنامهنویس واقعاً یک زن بود. نام او Ada Lovelace بود که ریاضیدانی بود که در سال ۱۸۴۳ در بریتانیا متولد شد
او مقالهٔ یک مهندس ایتالیایی به نام Luigi Menabrea که در مورد موتورهای تحلیلی بود را ترجمه و تفسیر کرد. Ada وقتی که در حال ترجمه بود، یادداشتهایی را از طرف خود به متن اصلی اضافه کرد و این کار او باعث شد سرعت رشد برنامهنویسی کامپیوتر به شدت افزایش پیدا کند.
علت این که از Ada به عنوان اولین برنامهنویس کامپیوتر یاد میشود این است که او برای اولین بار از الگوریتم در ماشینهای محاسباتی آن زمان استفاده کرد که کمک میکرد محاسبهٔ اعداد برنولی سریعتر انجام شود که در تاریخ از آن الگوریتم به عنوان اولین برنامهٔ نوشته شده برای یک کامپیوتر واقعی یاد میشود و اولین الگوریتمی بود که برای یک کامپیوتر واقعی نوشته شده بود.
4. اولین بازی کامپیوتری، هرگز پولساز نبود!
امروزه یکی از بخشهای موفق و پولساز صنعت برنامهنویسی، ساخت گیم است اما جالب است بدانید اولین بازی کامپیوتری دیجیتال از نظر درآمدزایی شکستی عظیم خورد! در سال ۱۹۶۲، یک برنامهنویس کامپیوتر از دانشگاه MIT به نام استیو راسل به همراه تیمش، نزدیک به ۲۰۰ ساعت کار کردند تا اولین نسخه از بازی کامپیوتری Spacewar را خلق کردند.
Spacewar در واقع یک بازی دونفره بود که هر نفر باید سعی میکرد سفینهٔ فضایی کوچک خود را کنترل کند. روند بازی به این شکل بود که شما باید از برخورد به نقطههای سفید که حکم ستارهها را داشتند اجتناب میکردید و سفینهٔ فضایی دشمنتان را نابود میکردید (البته اگر دشمنتان به شما فرصت میداد) و در نهایت بازیکنی مغلوب میشد که به ستارهها برخورد میکرد.
ساخت Spacewar یک موفقیت بزرگ در MIT بود، اما متأسفانه راسل و تیمش هرگز نتوانستند از ساخت این بازی به درآمدزایی برسند. واقعیت امر آن است که بدون حرکت بزرگ راسل و تیمش، این روزها چیزی به نام صنعت بزرگ و پولساز گیمینگ نداشتیم!
اولین زبان برنامهنویسی سطح بالا در تاریخ FORTRAN است که نسبت به زبانهای دیگر آن روزها بسیار به انگلیسی محاورهای نزدیکتر بود. FORTRAN در سال ۱۹۵۴ در کمپانی IBM قدم به دنیای برنامهنویسی گذاشت و دریچهای نو برای خلق زبانهای سطح بالای جدیدتر باز کرد.
در آن سال، جان باکوس که تنها ۳۰ سال داشت با همکاری ۲۵ نفر از دانشمندان IBM دست به خلق این زبان برنامهنویسی سطح بالا (High-level) زدند و لازم است بدانید FORTRAN مخفف Formula Translation به معنای «ترجمهٔ فرمول» است.
این روزها تا اسم باگ را میشنویم قطعاً خطاهای فنی در نرمافزارها را تصور میکنیم. عبارت Bug را اولین بار توماس ادیسون در سال ۱۸۷۸ به کار برد. سالها پس از آن، یک افسر زن به نام Grace Hopper که در نیروی دریایی آمریکا خدمت میکرد، وقتی که در حال بر روی کامپیوتر Mark ll بود در کتابش به نام Log در مورد یک Bug (حشره) موجود در کامپیوتر نوشت.
برخلاف اصطلاحی که ما این روزها برای باگهای کامپیوتری بهکار میبریم (که در واقع خطاها هستند)، اما باگی که Grace Hopper کشف کرد یک خطا نبود بلکه واقعاً یک باگ (حشره) بود. در واقع، آن حشره یک پروانه بود که در Relay (تقویتکننده) کامپیوتر گیر افتاده بود و به دلیل اختلال در مدارها الکترونیکی، باعث جلوگیری از عملکرد صحیح کامپیوتر میشد. همانطور که در تصویر بالا میبینید، او نوشته است که «اولین اشکال که نوعی از یک حشره است پیدا شد» و نهایتاً سیستم حشرهزدایی یا اصطلاحاً Debug شد!