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