وبلاگ alijam

وبلاگ شخصی alijam

وبلاگ alijam

وبلاگ شخصی alijam

وبلاگ alijam

وبلاگ علی جمشیدی فر(alijam)دست نوشته ها،آموزش ها،کامپیوتر،برنامه نویسی طراحی سایت

  • ۰
  • ۰

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


alijam

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

 قصه از کجا شروع شد؟


توسعه نرم افزار به شکل امروزی تاریخچه طولانی و پیچیده ای دارد.اولین زبان برنامه نویسی سطح بالا ( high-level programming language) بنام ( Plankalkül) توسط ( Konrad Zuse in 1992) برای اهداف مهندسی در سال 1942 و 1945توسعه داده شد .اما اولین زبان برنامه نویسی که به صورت تجاری ارائه شد زبانی بنام ( FORmula TRANslation) و وبا نام تجاری ( FORTRAN) در ای بی ام و توسط تیمی به سرپرستی ( John Backus) بود.این زبان در1954تا 1956 سال  متولد شد.


در لینک زیر میتوانید یک جدول از زمان پیدایش زبانهای برنامه نویسی را مشاهده کنید:

Timeline of programming languages


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

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


بزبان ساده : منظورمان برنامه ای است که در کامپیوتر اجرا می شود


شامل دستوراتی که به ماشین میگوید چه کاری را برای ما انجام دهد


برنامه وبرنامه نویس


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

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


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

به کسی که این سلسله دستورات را تهیه می کند، برنامه نویس می گویند.


محتویات این فایل را سورس یا منطق برنامه می نامند


شروع از ابتدا


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



پاسکال و شروع یک دنیا...

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


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


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


تصویر اولین کامپیوتر جهان


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


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


کامپیوتر های بسیار بزرگ


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


کامپیوتر های بزرگ در انحصار شرکت ها و موسسات پولدار


متخصص کم و بازده پایین


نوشتن برنامه های کوچک هم اذاب آور بود چه برسد به نوشتن برنامه های بزرگ و کاربردی..!


زبان باینری(دودویی) چگونه بوجود آمد؟


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


دو اصل کلیدی و نجات دهنده جان وان نیومن

تصویر جان وان نیومن


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


تولد: ۲۸ دسامبر ۱۹۰۳ م.، بوداپست، مجارستان

مرگ: ۸ فوریهٔ ۱۹۵۷ م.، واشینگتن، دی.سی.، آمریکا

کتاب‌ها: نظریه بازی‌ها و رفتار اقتصادی

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


اولین اصل "تکنیک برنامه مشترک" (Shared-program technique) نام داشت:


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


وان نیومن اصل دوم خود را "انتقال کنترل به صورت شرطی" (Conditional Control Transfer) نامید:


 بر طبق این اصل که تاثیر عمیقی بر توسعه برنامه نویسی گذاشته است، برنامه کامپیوتری می تواند شامل بلاک های کوچکتری از دستورات بنام زیرروال (Subroutine) شود که می توانند در هر جای برنامه اصلی جای گیرند. این بلاک ها می توانند هر چندبار که لازم است در هر کجای برنامه اصلی استفاده شوند. بخش مهم دیگری از این اصل، کنترل روند برنامه کامپیوتری توسط دستورات منطقی مانند IF…Then و حلقه هایی مانند FOR را امکانپذیر می کرد.


مطالعه کنید: زبان اینترنت-قسمت اول HTML


کدهای کوتاه ( Short Code)


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


کامپایلر متولد شد تا دنیای برنامه نویسی متحول شود..!

در سال 1951، گریس هاپر اولین کامپایلر دنیای کامپیوتر را به نام A-0 نوشت. کامپایلر به برنامه ای گفته می شود که دستورات برنامه نویسی را به دستورات صفر و یک (در آن زمان دستورات زبان کد کوتاه) تبدیل می کند. از آن پس برنامه نویس نیازی به ورود کدهای صفر و یک نداشت و توسعه دنیای برنامه نویسی سرعتی چند برابر یافت.


زبان برنامه نویسی فرترن( FORTRAN)

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


زبان برنامه نویسی کوبول (COBOL )


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

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


نسل های زبان های برنامه نویسی

نسل اول:


در سالهای دهه 1950 برنامه نویسی کامپیوترهای اولیه توسط تغییر سیم ها و تنظیم هزاران کلید و سوییچ انجام میشد. در برخی موارد این تنظیمات بر روی کاغذهای طومار گونه و یا کارت های سوراخشده نوشته می شدند که به کامپیوتر می گفتند چه کاری را (What)، به چه صورت (How) و در چه زمانی (When) انجام دهد.

به منظور اجرای یک نرم افزار، برنامه نویس باید اطلاعات جامع و کاملی از کامپیوتر موردنظر می داشت. یک اشتباه کوچک منجر به شکست در کل برنامه کامپیوتری میشد.


نسل دوم :

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


نسل سوم:

در اواخر دهه 1950 مفسرهای زبان های طبیعی و کامپایلرهای پا به عرصه ظهور گذاشتند. قدیمیترین زبان برنامه نویسی این نسل FORTRAN است که در سال 1953 توسط IBM ساخته شد. در سال 1959 زبان برنامه نویسی COBOL به منظور استفاده در دنیای نرم افزارهای تجاری عرضه گردید.

زبانهای سطح بالای برنامه نویسی مانند BASIC ، PASCAL ، ALGOL ، PL/I و C در این دوره معرفی شدند. 


نسل چهارم:

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


نسل پنجم:

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


تقسیم بندی بعد از زبان سی

دنیس ریچی-خالق زبان برنامه نویسی سی (c ) 


زبانهای تحت وبHtml,css,js,php,asp.net


زبانهای تحت سیستم Java,c,c++,c#,python



شاید برایتان جالب باشد:

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی