برنامه نویسیمیم تک 3نرم افزارنرم افزار کامپیوتر

تاریخچه برنامه نویسی : و اینگونه رشد کردیم

تاریخچه برنامه نویسی : و اینگونه رشد کردیم

آشنایی با تاریخچه برنامه نویسی

توسعه نرم افزار به شکل امروزی تاریخچه طولانی و پیچیده ای دارد. تعجبی ندارد که جایگاه امروز نرم افزار حاصل گام های متعدد بسیاری در طول تاریخ است. رویدادهای بسیاری از گوشه های مختلف دنیا روند توسعه کامپیوتر را پیش برده اند. معمولا توسعه نرم افزارها به دنبال توسعه زبان های برنامه نویسی رخ داده است. زبان های برنامه نویسی نیز به موازات سخت افزارها و کامپیوترها توسعه یافته اند. در این مقاله تاریخچه برنامه نویسی را مرور میکنیم.

نرم افزار چیست؟

یک پاسخ ساده برای آن عبارتست از: سخت افزار را می توانید لمس کنید اما نرم افزار را نه!

اما این پاسخ بسیار سطحی و ساده است.

اگر بخواهیم دقیقتر بگوییم زمانیکه از نرم افزار صحبت می کنیم در حقیقت منظورمان برنامه ای است که در کامپیوتر اجرا می شود. در طول تاریخ، دنیای نرم افزارها و برنامه های کامپیوتری به موازات توسعه برنامه نویسی (Programming) و زبان های برنامه نویسی (Programming languages) توسعه یافته است.

بنابراین مطالعه روند توسعه دنیای برنامه نویسی ما را به مطالعه تاریخچه دنیای نرم افزار رهنمون می سازد.

برنامه کامپیوتری چیست؟

یک کار مشخص در کامپیوتر با اجرای سلسه دستورات به صورت پشت سرهم انجام می شود.

این مجموعه دستورات که به منظور انجام یک کار مشخص به صورت مرتب در یک فایل تهیه و تدوین می شوند، برنامه کامپیوتری نامیده می شود. به کسی که این سلسله دستورات را تهیه می کند، برنامه نویس می گویند. محتویات این فایل را سورس یا منطق برنامه می نامند. در یک برنامه کامپیوتری فقط دستوراتی وجود دارند که توسط کامپیوتر قابل اجرا هستند. این دستورات با یک ترتیب از پیش تعیین شده و بر اساس یک مسیر منطقی پشت سرهم قرار گرفته اند. اگر همه آنها به درستی اجرا شوند، در آخر کار خاصی را که هدف برنامه نویس بوده است به انجام می رسانند.

قدیمیترین نمونه عملی از برنامه نویسی به سال 1801 در کشور فرانسه توسط شخصی بنام جکارد برمی گردد.

او یک دستگاه بافندگی طراحی کرده بود که می توانست اعمال خاصی از بافندگی را که روی کارتهای سوراخ شده (Punched card) ثبت شده بودند به ترتیب انجام دهد. این تکنولوژی اجازه تولید بافت های پیچیده و با کیفیت تر را به کارگران معمولی می داد. اکنون به جای کارگران متعدد و ماهر، فقط یک نفر برای مدیریت کل دستگاه کافی بود.

روند تقریبا مشابهی نیز در خلال انقلاب صنعتی در انگلیس به وقوع پیوست.

 

مخالفت علیه توسعه تکنولوژی

دستگاه بافندگی خودکار توسط کارتهای سوراخ شده

به دنبال استفاده از ماشینهای خودکار و کاهش نیروی کار انسانی، جنبشی تحت عنوان لودیت ها به راه افتاد.

این جنبش متشکل بود از افرادی که مخالف توسعه تکنولوژی بودند و برای جایگاه شغلی، نان و رزق و روزی خود با تکنولوژی می جنگیدند. در این دوره، برنامه نویسی به موازات ساخت ماشین های جدید توسط پاسکال، بابیج، شوالتز و … توسعه می یافت. برای حل هر مشکلی یک ماشین جدید ساخته می شود که چرخ دنده ها، سیم ها، میله ها و دستورات جدیدتری نسبت به قبل داشت. در سال 1847 یک ریاضیدارن انگلیسی بنام George Boole با ارائه جبر منطقی، ارتباط میان علم ریاضیات و منطق را اثبات کرد. برای اولین بار او اثبات کرد که علم منطق بیشتر بخشی از ریاضیات است تا فلسفه! این عمل که یک گام بزرگ در تفکر بشریت به حساب می آید تقریبا صد سال (تا سال 1940) طول کشید تا در محاسبات کامپیوتری به کار گرفته شود.

 

اولین کامپیوتر الکترونیکی

برنامه نویسی با کامپیوتر انیاک

در دهه 1940 اولین کامپیوتر الکترونیکی ساخته شد.

حافظه محدود و سرعت بسیار پایین (به نسبت سرعت کامپیوترهای امروزی) از ویژگی های بارز کامپیوترهای الکترونیکی اولیه بودند. در این سالها که به عصر اطلاعات معروف بود، اجرای برنامه ها در کامپیوترها مستلزم تنظیم کلیدها، سوییچ ها و اتصال سیم های مختلف بود که منطق برنامه را مشخص می کردند.در چنین حالتی برنامه نویسی چیزی به جز تنظیم تعداد بسیار زیادی سیم نبود. یک محاسبات چند دقیقه ای نیازمند صرف روزها وقت برای اتصال میان سیم ها،کلیدها و پورت ها بود. برای هر عملی سخت افزار خاصی طراحی شده بود که می بایست توسط سیم ها و پورتها به یکدیگر متصل می شدند تا برنامه اصلی را شکل دهند.

 

 

 

 

 

دو اصل اساسی در توسعه برنامه نویسی

جان وان نیومن در سال 1945 هنگامی که در انیستیتو تحقیقات عالی مشغول بکار بود، 2 اصل اساسی را ارائه کرد که تاثیر مستقیمی بر مسیر توسعه برنامه نویسی گذاشت:

  • اولین اصل “تکنیک برنامه مشترک” (Shared-program technique) نام داشت. بر طبق این اصل سخت افزار کامپیوترها باید بسیار ساده باشند و نیازی نیست که برای هر برنامه به صورت دستی سیم کشی و تجهیز شوند. در عوض، دستورات نرم افزاری باید از ترکیب همان دستورات ساده سخت افزاری تشکیل شوند و یک دستور نرم افزار مرکب و پیچیده تر را بسازند. این اصل سخت افزارها را ساده و دستورات نرم افزاری را پیچیده می کرد.
  • وان نیومن اصل دوم خود را “انتقال کنترل به صورت شرطی” (Conditional Control Transfer) نامید. بر طبق این اصل که تاثیر عمیقی بر توسعه برنامه نویسی گذاشته است، برنامه کامپیوتری می تواند شامل بلاک های کوچکتری از دستورات بنام زیرروال (Subroutine) شود که می توانند در هر جای برنامه اصلی جای گیرند. این بلاک ها می توانند هر چندبار که لازم است در هر کجای برنامه اصلی استفاده شوند.
  • بخش مهم دیگری از این اصل، کنترل روند برنامه کامپیوتری توسط دستورات منطقی مانند IF…Then و حلقه هایی مانند FOR را امکانپذیر می کرد.

 

تئوری اطلاعات

سال 1948 همزمان بود با ارائه تئوری ریاضی ارتباطات توسط کلود شانن (Claude Shannon, 1916-2001).

ارائه تز تئوری ریاضی ارتباطات او اساس تئوری اطلاعات (Information Theory) را شکل داد. این تئوری نحوه استفاده از منطق باینری (اعداد در مبنای دو، همان صفر و یک ها) در محاسبات نرم افزاری در کامپیوترها را بیان می کرد. تز ارائه شده توسط شانن دنیای صفر و یک ها (باینری) که اساس و پایه کامپیوترهای الکترونیکی امروزی هستند را شکل می داد. بعدها اولین کامپیوتر باینری در حین جنگ جهانی دوم توسط یک آلمانی بنام زوس ساخته شد.

 

اولین زبان در تاریخچه برنامه نویسی

در سال 1949، پس از ارائه 2 اصل وان نیومن، زبان برنامه نویسی بنام کد کوتاه (Short Code) به وجود آمد. کد کوتاه که دستورات آن به صورت یک سری صفر و یک تشکیل شده بود، اولین زبان برنامه نویسی برای کامپیوترهای الکترونیکی به حساب می آید. ساخت این زبان برنامه نویسی به عنوان اولین قدم در جهت ساخت دنیای برنامه نویسی امروز به حساب می آید. در سال 1951، گریس هاپر اولین کامپایلر دنیای کامپیوتر را به نام A-0 نوشت. کامپایلر به برنامه ای گفته می شود که دستورات برنامه نویسی را به دستورات صفر و یک (در آن زمان دستورات زبان کد کوتاه) تبدیل می کند. از آن پس برنامه نویس نیازی به ورود کدهای صفر و یک نداشت و توسعه دنیای برنامه نویسی سرعتی چند برابر یافت.

 

اولین زبان به شکل امروزی در تاریخچه برنامه نویسی

پس از آن فورترن (FORTRAN) به عنوان اولین زبان برنامه نویسی به شکل امروزی در سال 1957 توسط شرکت IBM ساخته شد.

نام آن مخفف سیستم تبدیل فرمول (formula translating system) بود. دستورات آن بسیار ساده بودند و فقط شامل دستورات IF ، DO و GOTO می شدند. هرچند دستورات این زبان امروزه بسیار محدود و ناکارآمد تلقی می شود اما در آن زبان قدم بسیار بزرگی رو به جلو بود. انواع داده ای نیز برای اولین بار در زبان FORTRAN ارائه شدند. داده هایی مانند متغیرهای منطقی، صحیح، حقیقی و اعداد با دقت مضاعف در FORTRAN قابل تعریف و استفاده بودند.اگرچه زبان FORTRAN در کار با اعداد و داده ها بسیار خوب عمل می کرد اما در دریافت ورودی و صدور خروجی بسیار محدودیت داشت.

با شروع استفاده از کامپیوتر در دنیای تجارت، زبانهایی مانند COBOL نیز پا به عرصه ظهور گذاشتند.

COBOL که از ابتدا به منظور استفاده در حوزه برنامه های تجاری طراحی شده بود، فقط شامل انواع داده ای عددی و رشته متنی می شد. امکان گروه بندی داده ها در آرایه ها و رکوردها، مدیریت داده ها را تسهیل می کرد. این امکانات فضا را برای رشد نرم افزارهای ذخیره و بازیابی اطلاعات فراهم کرد. تا سال 1972 بیش از 200 زبان برنامه نویسی مختلف ظهور کرد. اکثر این زبانها به منظور کاربرد خاصی توسعه یافته بودند، برخی دیگر نیز ویرایش جدیدی از زبانهای قبلی بودند.

 

دوستان این مقاله تاریخچه برنامه نویسی رو براتون بازگو میکنه تا بهتر با اونچه که باهاش سرو کار داریم بدونیم.

عاشقتونم

منتظر مقاله بعدی باشید

ارسال پاسخ