موضوع مقاله: تاریخ علوم رایانه | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # تاریخ علوم رایانه | مقدمه: تاریخچه علم رایانه خیلی قبل از نظم و انضباط پیشرفته علم رایانه که در قرن بیستم ظاهر شده‌است، آغاز شده‌است. | ## بخش 1: تاریخ علوم رایانه | این ترقّی از اختراعات مکانیکی و تئوری‌های ریاضی به سمت عقاید و ماشین‌های مدرن پیشرفته‌است و یک رشتهٔ آکادمی بزرگ و پایهٔ یک صنعت جهانی خیلی بزرگ را تشکیل داده‌است. ماشینهایی برای محاسبه وظایف عددی ثابت، مانند چرتکه که در روزگار باستان وجود داشته‌است. در زمان ملکه ویکتوریا، چارلز بابیج ماشین متفاوتی را ( بین سال‌های ۱۸۳۷ و ۱۹۰۱ ) به کمک آدا لاولکا طراحی کرد. هر چند که همه این ماشین‌ها برای انجام یک وظیفه یا بهترین تعداد زیر مجموعهٔ همه وظایف ممکن، تحمیل شده‌اند. در طول دهه ۱۹۴۰، ماشین‌های محاسباتی قوی تر و جدید تری توسعه داده شد، کلمه Computer به ماشین‌های سریع تر از پردازش گرهای بشری آن‌ها بر می‌گردد. چنانکه آن روشن و واضح است که رایانه‌ها می‌توانند برای بیشتر از فقط محاسبات ریاضی استفاده شوند. علم رایانه آغاز شده‌است تا برتری نظم آکادمی را در دهه ۱۹۶۰ با ساخت اولین دپارتمان علم رایانه و مدرک برنامه‌ها برقرار کند. زمانی که رایانه‌های کاربردی در دسترس شدند تعدادی کاربردهای محاسبات در حق خودشان در نواحی مورد مطالعه برتری داده شدند. اگر چه تعدادی در ابتدا اعتقاد داشتند که آن غیرممکن است که خودشان واقعاً یک رشته مطالعاتی باشند، در پنجاه سال اخیر آن به تدریج بین بزرگترین جمعیت علمی و دانشگاهی مقبول واقع شد. آن الان توسط مارک IBM خوب شناخته شده که قسمت انقلاب علم رایانه در طول این مدت را شکل داده‌است. همیشه کار با رایانه‌های IBM ناامید کننده بود...اگر شما هر قدر یک کاراکتر را در یک دستورالعمل گم کردید، برنامه ریزریز شده و شما باید پردازش کامل را دوباره شروع کنید. در جریان اواخر دههٔ ۱۹۵۰ نظم علم رایانه خیلی در حال توسعه یافتن مراحلش بود و چنین مسئله‌ای پیش پا افتاده و معمولی بود. زمان در بهبودی قابلیت استفاده و مؤثر بودن تکنولوژی علم رایانه مهم دیده می‌شده‌است. انجمن یا گروه پیشرفته به نظر می‌رسیده که برای آن‌ها مهم بوده که استفاده کنندگان رایانه را از متخصصین و حرفه‌ای‌ها به کار بران رایج تر تغییر دهند. در آغاز محاسبات سریع‌ترین ابزار شناخته شده در دوران باستان، برای محاسبه٬ چرتکه بوده‌است. چرتکه اولین رایانهٔ شناخته شده و پیشرفته‌ترین سیستم محاسباتی شناخته شده تا ۲۰۰۰ سال پیش است. در ۱۱۱۵ سال پیش از دوران فعلی، در چین باستان ارّابهٔ بندکشی جنوبی اختراع شده بود. آن اختراع اولین سازوکار چرخ دنده شناخته شده بود که در چرخ‌های گوناگون مورد استفاده قرار می‌گرفته‌است و بعداً در رایانه‌های قیاسی یا آنالوگ استفاده شدند. به‌علاوه، در حدود دو قرن پیش از دوران فعلی چینی‌ها چرتکه ماهرتری را اختراع کردند. در سدهٔ پنجم پیش از دوران فعلی در هند باستان، پانینی متخصص گرامر، دستور زبان سانسکریت را در ۳۹۵۹ قانون شناخته شده قاعده دار و تدوین کرده‌است. پانینی از قوانین تغییر شکل و بازگشتی‌ها استفاده کرده بود و با این قبیل مهارتی که گرامرش داشت، معادل قدرت محاسبه ماشین تیورینگ بود. آن ماشین در سال ۱۹۰۱ در لاشه کشتی آنتی کیترا در جزیره یونانی آنتی کیترا بین کیترا و کرت حدود ۱۰۰ سال قبل کشف شده بود. قطعات مکانکی رایانه آنالوگ دو باره در یک هزار سال اخیر در جهان اسلام و در قرون وسطی ظاهر شده و توسط ستاره شناسان مسلمان توسعه داده شده بود. مانند خط استوایی توسط آرزاشل، چرخ دنده‌های مکانیکی توسط ابوریحان بیرونی و نیروی گشتاور توسط جابر ابن افلح. اولین ماشین‌های قابل برنامه‌ریزی هم توسط مهندسان مسلمان اختراع شده بود.مانند نوازنده فلوت اتوماتیک توسط برادران بنو موسی (Banu Musa) و روباتهای شبه انسان توسط الجازاری. همچنین ریاضی دانان مسلمان مهم‌ترین پیشرفت‌ها را در رمز نگاری کرده بودند مانند پیشرفت در کشف نوشته رمزی و آنالیز فرکانس توسط آلکیندوس. زمانی که جان نپیر در اوایل قرن هفدهم لگاریتم را برای اهداف محاسباتی کشف کرده بود به دنبال آن یک دوره پیشرفت قابل توجه توسط مخترعان و دانشمندان در ساخت ابزار محاسباتی شروع شد. | ## بخش 2: تاریخ علوم رایانه | حدود سال ۱۶۴۰، بلیز پاسکال یک ریاضی‌دان اهل فرانسه، اولین وسیله جمع مکانیکی را مبنی بر طراحی توصیف شده توسط قهرمان آلکساندر، ریاضی دان یونان، ساخته‌است. آن پیشرفت قابل توجه در ریاضیات و تئوری قبل از اولین رایانه مدرن طراحی شده، گرفته شده‌است. الگوریتم‌ها در قرن هفتم، ریاضی‌دان هندی، براهماگوپتا اولین بار سیستم اعداد هندی-عربی را توضیح داد و از عدد صفر استفاده کرد. در حدود سال ۸۲۵ میلادی ریاضی‌دان ایرانی، خوارزمی کتابی تحت عنوان «محاسبات با اعداد هندی» نوشت. منطق دودویی حدود سه قرن قبل، پینگالا ریاضی‌دان هندی سیستم اعداد دودویی را کشف کرد. در این سیستم که هنوز هم در پردازش رایانه‌های مدرن به کار می‌رود با یک توالی و ترتیب صفرها و یک‌ها می‌توان هر عددی را نشان داد. با اینکه دستگاه بافندگی نساجی تفاوت زیادی با رایانه دارد اما مثال خوبی برای نمایش کار یک ماشین با سیستم دودویی است. این دستگاه به هر حال با همهٔ وظایف و کارهایی که در طراحی یک رایانه مدرن صورت گرفته‌است، هرگز با موفقیت ساخته نشد. تفاوت بین ماشین بابیج و ماشین‌های قبلی ساده‌است : « او برنامه‌ریزی شده طراحی کرده‌است. » در این هنگام همکار او، ریاضی دان، آدا لاولیس (Ada Lavelace)، نخستین برنامه‌های رایانه‌ای را در یک دستگاه جامع و فراگیر روی ماشین تحلیلی منتشر کرده‌است. اما تعدادی محقق ادعا کردند برنامه‌های منتشرشده تحت نام او در اصل توسط بابیج ساخته شده‌است. تولد علم رایانه قبل از دهه ۱۹۲۰ رایانه‌ها کارمندان از نوع انسان بوده‌اند که محاسبات را انجام می‌دادند. هزاران رایانه در تجارت، دولت و تشکیل یک تحقیق کار می‌کردند یا استخدام شده بودند. بعد از دههٔ ۱۹۲۰، بیان ماشین محاسبات، به ماشینی که کار یک رایانه انسانی را انجام می‌داده اطلاق می‌شده‌است. این قضیه که روشی است برای یک ریاضی دان، اگر توانایی تنظیم یک لیست دستورالعمل‌ها را به وسیلهٔ یک کارمند انسانی با مداد و کاغذ داشته باشد، مؤثر است. ماشینهایی که مقادیر متوالی را محاسبه می‌کردند به عنوان نوع آنالوگ یا قیاسی شناخته شده‌اند. ماشین‌های دیجیتال در تقابل با آنالوگ ٬توانایی تحویل وضعیت یک مقدار عددی و ذخیره هر تک رقم را داشتند. ماشین دیجیتال قبل از اختراع قطعات سریعتر حافظه، در ماشین‌های مختلف یا دستگاه‌های تقویت نیرو استفاده می‌شده‌است. درست بودن عبارت رایانه از زمانی که ماشینهای دیجیتال الکترونیک رایج شده‌اند شروع شده‌است. این رایانه‌های توانایی انجام محاسبات را که قبلاً توسط کارمندان انسان انجام می‌شده‌است را داشته‌اند. چون مقادیر ذخیره شده توسط ماشینهای دیجیتال مانند وسایل آنالوگ به خصوصیات فیزیکی محدود نبود، یک رایانه منطقی مبتنی بر تجهیزات دیجیتال، توانایی انجام هر چیزی را که می‌توانست ماشین خالص را تولید کند، داشته‌است. آلن تیورینگ که به عنوان پدر علم رایانه شناخته می‌شده‌است، این قبیل رایانه‌های منطقی را که به عنوان ماشین تیورینگ شناخته می‌شود را اختراع کرده بود. به علاوه این رایانه‌های جدید توانایی انجام محاسبات غیر عددی را مثل موسیقی داشته‌اند. از زمانی که پردازش‌های محاسباتی توسط کارمندان انسانی انجام می‌شده‌است، این مطالعهٔ توانایی انجام محاسبات، به وسیله آشکار ساختن چیزی که در مفهوم متداول آشکار نبوده‌است، یک علم را آغاز کرده‌است. نظم و انضباط غیرمنتظره اساس تئوری اساس ریاضی علم رایانه مدرن توسط کرت گدل با قضیه ناقصش در سال ۱۹۳۱ آغاز شده بود. در این قضیه او نشان داده که، جایی محدود بوده که داخل یک سیستم قراردادی چیزی را نتواند رد یا اثبات کند. این قضیه به کاری توسط Godel و بقیه راهنمایی کرده تا این سیستم‌های رسمی یا قراردادی را تشریح یا تعریف کنند. | ## بخش 3: تاریخ علوم رایانه | آلن تیورینگ و آلونزو جرج، مستقلاً و همچنین با هم الگوریتم را به‌طور رسمی، با محدوده‌هایی که می‌توانست محاسبه کند و مدلی برای محاسبات مکانیکی خالص بود، معرفی کردند. این عناوین توسط چیزی که اکنون قضیه جرج – تیورینگ نامیده می‌شود، تحت پوشش قرار می‌گیرد. که یک فرضیه در مورد طبیعت وسایل محاسباتی مکانیکی مانند رایانه‌های الکترونیکی، می‌باشد. این قضیه ادعا کرده که هر محاسباتی که ممکن است (حل شدنی است) می‌تواند توسط اجرای الگوریتم روی رایانه انجام شود. یک ماشین تیورینگ یک نوار طولانی نا محدود و یک هد یا سوزن نوشتن یا خواندن (R/W) دارد که همراه با نوار می‌تواند حرکت کند و تنها مقادیر مسیر را می‌تواند حرکت دهد. به‌طور شفاف همانند ماشینی است که هرگز نمی‌تواند بسازد، اما با این وجود مدلی است که می‌تواند محاسبات هر الگوریتمی را که روی هر رایانه مدرنی قابل اجراست، تقلید کند. همچنین تیورینگ برای علم رایانه مهم است چونکه نام او نمایانگر جایزه تیورینگ و آزمایش تیورینگ است. او در جنگ جهانی دوم همکاری موفقیت‌آمیز و بزرگی با کد شکن‌های بریتانیایی داشته‌است و طراحی رایانه‌ها و نرم‌افزارها را در دهه ا۱۹۴۰ کاملاً ادامه داده‌است. در یک نشست خیلی بزرگ ماشین‌های دیجیتال در کمبریج، تورینگ گفت: «ما در تلاشیم تا ماشینی بسازیم تا همه نوع چیزهای متفاوت را به سادگی توسط برنامه نویسی سریع تر از راه اضافه کردن دستگاه‌های اضافی انجام دهیم.» اولین رایانه‌ای که قابل کنترل و برنامه‌نویسی با زبان‌های برنامه نویسی بود را کنراد زوسه (konrad Zuse) در سال ۱۹۴۱ در آلمان به نام Z3 تکمیل و ارائه کرد. وی اولین رایانه خود را به نام Z1 در سال ۱۹۳۸ ساخته بود که البته قابلیت برنامه‌نویسی را نداشت. در سال ۱۹۴۸ توسط بابی منچستر، رایانه دیگری که می‌توانست برنامه‌های ذخیره شده را اجرا کند، بر مبنای مدل ماشین تیورینگ ساخته شد. شانون و تئوری اطلاعات تا حدود و نزدیکی‌های دهه ۱۹۳۰، مهندسین برق توانایی ساختن مدارات الکترونیکی را داشتند تا مسائل منطقی و ریاضی را حل کنند، اما بیش از همه طبق عادت عمومی، نظریه‌هایی که وقت زیادی نمی‌برده انجام می‌داده‌اند. در زمان گرفتن مدرک لیسانس در کلاس فلسفه، شانون کار بولی را افشا کرده و تشخیص داده بود که آن کار می‌توان از ایستگاه‌های تقویت الکترومکانیکی مرتب استفاده کند.( سپس در سوئیچ‌هایی، در مسیر یابی تلفن استفاده شده‌است. این عقیده یعنی استفاده از خصوصیات الکترونیکی سوئیچ‌ها تا کار منطقی را انجام دهند، پایه عقیده‌ای است که زمینه همه رایانه‌های دیجیتال الکترونیکی است. در این هنگام آن قضیه سریعاً بین جامعه مهندسین الکترونیک در طول و بعد از جنگ جهانی دوم شناخته شده‌است. شانون رفت تا رشته تئوری اطلاعات را در سال ۱۹۴۸ پیدا کرد و نام آن را تئوری ریاضی ارتباطات قرار داده‌است. که احتمالاً در مسئله چطور بهتر رمز کردن اطلاعات یک فرستنده که می‌خواهد انتقال دهد، به کار برده می‌شود. این یک تئوری پایه برای تعدادی بخش‌های مطالعاتی از جمله فشرده سازی اطلاعات و رمزنویسی می‌باشد. وینر و فیزیولوژی از آزمایش‌هایی با سیستم‌های ضد هوایی که عکس‌های کشف شدهٔ هواپیمای دشمن را تفسیر می‌کرده‌است، نوربرت وینر (Norbert Wiener) اصطلاح فیزیو لوژی را از کلمه‌ای یونانی اختراع کرده‌است. همچنین وینر، محاسبات ماشین محاسباتی، قطعات مموری یا حافظه و بقیه تشابه‌ها را با آنالیز امواج مغز خود مقایسه می‌کرده‌است. اولین اشکال رایانه‌ای در تاریخ ۹ سپتامبر ۱۹۴۵ میلادی حشره‌ای وارد رایانه هاوارد مارک ۲ شده و بین دستگاه‌های تقویت این رایانه چسبید و باعث اختلال در عملکرد آن شد. رواج این اصطلاح اغلب به گریس هوپر، افسر نیروی دریایی آمریکا نسبت داده می‌شود، که در حقیقت این چنین نیست. البته در مورد تاریخ دقیق این رویداد بحث‌هایی وجود دارد و برخی تاریخ این رویداد را سال ۱۹۴۷ می‌دانند. علم رایانه علم رایانه ( یا علم محاسبه ) مطالعه و دانش پایه نظری اطلاعات و محاسبات و پیاده‌سازی و کاربرد آن‌ها در سیستم‌های رایانه‌ای می‌با شد. ( مانند گرافیک‌های رایانه )، در صورتی که دیگران خصوصیات مسائل محاسباتی را بازگو کردند ( مانند اصل پیچیدگی محاسباتی ). در صورتی که برنامه رایانه‌ای، زبان‌های برنامه‌نویسی مشخصی دارد تا مسائل محاسباتی خاصی را حل کند. | ## جمع‌بندی | یک زیر شاخه دیگر، اثر متقابل رایانه بشری، روی رقابت در ساخت رایانه‌ها و محاسبات مفید، قابل استفاده، جهانی و در دسترس مردم، تمرکز کرده‌اند.