تاریخچه زبانهای برنامهنویسی
![](https://tutbucket.storage.iran.liara.space/users/IMG_20240523_125735_433.jpg?AWSAccessKeyId=ptb3ccccidkp2lqd&Expires=4870056513&Signature=I%2B3DVfNOwe36X8Bw44hDZD1Ck6Q%3D)
مبینا نوری
زمان مطالعه: 10دقیقه
![تاریخچه زبانهای برنامهنویسی](https://tutbucket.storage.iran.liara.space/articles/photo_2024-05-23_17-52-46.jpg?AWSAccessKeyId=ptb3ccccidkp2lqd&Expires=4870170380&Signature=1AgZw9brUdr53lGTgu%2FZxT9JZxc%3D)
تاریخچه جامع زبانهای برنامهنویسی: سفری از صفر و یک تا ربات های هوش مصنوعی
تصورکن دردنیایی زندگی می کنی که انسانها و رایانهها به یک زبان صحبت می کنن. این رویایی بود که انسان ها برای تحققش زبان های برنامه نویسی رو به وجود آوردن ، که از غارهای تاریک زبان ماشین آغاز شد و به دشت های وسیع و روشن زبانهای امروزی رسید.
درسته که کامپیوترها ماشینهای قدرتمندی هستن، اما به تنهایی نمیتونن بفهمن که ما چی میخوایم. اونها برای درک دستورات و خواستههای ما به زبانی نیاز دارن که بشه برای برقراری ارتباط باهاشون استفاده کرد.
بیاین یک نگاهی به تاریخچه زبانهای برنامهنویسی بندازیم:
-
اولین قدمها: زبان ماشین و اسمبلی (زبان های سطح پایین)
بین دهه 1940 تا 1960 زبان های سطح پایین به وجود اومدن ، زبان سطح پایین (Low-level language) زبانی هست که به زبان ماشین نزدیکتره تا به زبان انسان و به برنامهنویسها اجازه میده تا به طور مستقیم با سختافزار کامپیوتر و حافظه کار کنن. این زبانها انتزاع کمتری دارن، انتزاع در برنامهنویسی به معنی پنهان کردن جزئیات پیچیده و تمرکز روی جزئیات مهم و کلیه.
بعضی ویژگی های کلیدی زبانهای سطح پایین:
- زبانهای سطح پایین از دستورهای کوتاه و نمادین، به عبارتی میشه گفت نحو فشرده استفاده میکنن که به طور مستقیم به دستورالعملهای زبان ماشین ترجمه میشن.
- برنامههای نوشته شده با این زبانها به طور کلی سریعتر اجرا میشن چون نیازی به ترجمه شدن و تفسیراضافی نیست.
- باعث میشه برنامهنویسها دقیقترعملکرد برنامه روی سختافزار رو کنترل کنن.
:مزایا
- برای برنامههایی که نیاز به عملکرد بالا دارن ایدهآل هست مثل بازیها و برنامههای کاربردی سیستم
- نوشتن برنامههای بهینه و کارآمد با استفاده از همه ی تواناییهای سختافزار
- کار کردن مستقیم با سختافزارها مثل پورتها و حافظه
معایب:
- دشواری در یادگیری و نیاز به درک عمیق معماری کامپیوتر
- قابلیت حمل ندارن و فقط قابل اجرا روی محیطهای مخصوص خودشون هستن
- به خاطر نحو فشرده و نداشتن انتزاع به سختی قابل نگهداری و بهروزرسانی هستن
بعضی از نمونههای محبوب این زبان میتونه شامل این موارد باشه :
-
زبان ماشین (در اعماق صفر و یکها):
اولین زبانهای برنامهنویسی، زبانهای ماشین بودن که به عنوان کد ماشین هم شناخته میشدن و از صفر و یک برای برقراری تعامل و نشون دادن دستورات به رایانه استفاده میکردن. این زبانهای خیلی سخت و وقتگیر فقط توسط تعداد کمی از افراد متخصص قابل درک و استفاده بودن و البته به طور مستقیم توسط پردازنده مرکزی (CPU) کامپیوتر قابل درک و اجرا، اما برای انسانها خیلی سخت و غیرقابل خواندن بودن.
نحوه عملکرد:
زبان ماشین از دستورالعملهای سادهای تشکیل شده بود که هر کدام با یک دنبالهای از صفر و یک نشون داده میشد. هر دستورالعمل به CPU میگفت که چه عملیاتی را انجام بده؛ مثل: ذخیره داده در حافظه، انجام محاسبات یا انتقال دادهها بین رجیسترها.
فرض کنید میخوایم برنامهای ساده بنویسیم که: عدد 10 را روی صفحه چاپ کنه؛ معادل کد ماشین این برنامه برای یک مدل کامپیوتر فرضی اینجوری میشد:
00000001 01010111 01010011 01010101 01010011 01010001
01010111 01001101 01010011 01010001 01010011 01010111
01010111 01001101 01010011 01010001 01010011 01010111
01000101 01010111 01010011 01010001 01010011 01010111
همون طور که میبینین، خوندن و درک این کد برای انسان خیلی سخته.
-
زبان اسمبلی ( پلی بین دنیای صفر و یکها و زبان انسان):
زبان ماشین، زبان مادری کامپیوترها، برای انسان تقریباً غیرقابل درک و شامل مجموعه از صفر و یکها بود. زبانهای اسمبلی برای غلبه به مشکلات زبانهای ماشین ساخته شدن و از کلمات اختصاری و نمادها برای نشون دادن دستورات استفاده میکردن که خوندن و نوشتن با این زبانو آسونتر میکرد درواقع زبان اسمبلی یک زبان نمادین هست که مستقیما به دستورالعملهای زبان ماشین ترجمه میشه. با توجه به اینکه زبان اسمبلی جزء زبانهای سطح پایین به حساب میاد، برای یادگیری و استفاده از اونها به دانش زیادی از سختافزار کامپیوتر نیازه.
-
ظهور زبانهای سطح بالا :
بین دهه 1960 تا 1980 میلادی، زبانهای سطح بالا HLL (High-level language) نقطه شروعی در تاریخ برنامه نویسی بودن. اونها از ساختارهای زبانی شبیه به زبان انسان مثل انگلیسی برای نوشتن برنامه استفاده میکردن که خواندن، نوشتن و درک اونها رو خیلی آسونتر میکرد طوری که به برنامهنویسان اجازه میداد تا بدون نیاز به دانستن جزئیات نحوه عملکرد سختافزار کامپیوتر، روی حل مسئله تمرکز کنن. زبانهایی مثل FORTRAN،COBOL و Pascal در این دسته قرار میگیرن.
مزایا:
- خوانایی و نوشتن راحتتر
- افزایش بهرهوری با اشکالزدایی و کدنویسی سریعتر
- قابل نگهداری و بهروزرسانی
- قابل حمل بیشتر
- کم شدن خطا با بررسی نوع و مدیریت حافظه
:معایب
- اجرای کندتر نسبت به زبانهای سطح پایین
- نیاز به کامپایلر یا مفسر برای اجرا
-
انقلاب شیء گرایی:
از دهه 1980 میلادی تا الان، زبانهای شیء گرا با معرفی مفهوم برنامهنویسی شیء گرا، انقلابی در برنامهنویسی ایجاد کردن. این زبانها به برنامهنویسها اجازه میدادن تا برنامهها رو از واحدهای مجزا و قابل استفاده مجدد، به نام اشیاء، بسازن. زبانهایی مثل C++، Java و Python در این دسته قرار میگیرن.
مزایا:
- کد قابل سازماندهی و نگهداری راحتتر
- استفاده مجدد از کد به تعداد بیشتر
- برنامههای قویتر و انعطاف پذیرتر
:معایب
- پیچیدهتر از زبانهای رویهای
- ممکنه کندتر از زبانهای سطح پایین باشه
فراتر از برنامهنویسی سنتی: هوش مصنوعی و زبانهای نسل پنجم
-
زبانهای هوش مصنوعی:
و بالاخره از دهه 1990 میلادی الان، زبانهای هوش مصنوعی روی تعامل طبیعی انسان با رایانهها تمرکز دارن. این زبانها به برنامهنویسها اجازه میده تا برنامههایی بسازن که میتونه زبان طبیعی را درک کنه و به اون جواب بده. زبانهایی مانند Prolog و Lisp در این دسته قرار میگیرن.
هدف: آسون کردن تعامل انسان و کامپیوتر با استفاده از زبان طبیعی
...کاربردها: سیستمهای خبره، پردازش زبان طبیعی، رباتیک و
-
زبانهای نسل پنجم:
زبانهای نسل پنجم 5GL (Fifth Generation Language) هنوز در مراحل اولیه توسعه خودشون هستن، اما هدفشون غلبه به بعضی از محدودیتهای زبانهای سنتیه. 5GLها دنبال ادغام هوش مصنوعی، یادگیری ماشین و برنامهنویسی بصری در یک زبان واحدن.
هدف: افزایش بهرهوری برنامهنویسی و ایجاد برنامههای هوشمندتر
کاربردهای بالقوه: برنامهنویسی خودکار، توسعه نرمافزار مبتنی بر هوش مصنوعی، واقعیت مجازی
سخن پایانی
در این مقاله، گذری کوتاه به تاریخچه زبانهای برنامهنویسی داشتیم و به بررسی نسلهای مختلف این زبانها پرداختیم. از زبانهای سطح پایین ابتدایی مثل زبان ماشین و اسمبلی، تا زبانهای سطح بالای قدرتمند مثل C++ و Java، و نهایتا زبانهای هوش مصنوعی که نویدبخش تعاملات طبیعی انسان و رایانهها هستند. این سیر تکاملی نشون میده که چطور انسان با خلاقیت و پشتکار، مرزهای علم رو جابجا کرده و زبانهای برنامهنویسی رو به ابزاری قدرتمند برای خلق دنیایی جدید تبدیل کرده. اما این داستان، پایانی نداره. هوش مصنوعی و نسل پنجم زبانهای برنامهنویسی، افقهای تازهای رو به روی ما باز میکنن. در این دنیای نو، برنامهنویسی به ابزاری برای خلق دنیایی هوشمندتر و کارآمدتر بدل خواهد شد. با ظهور زبانهای جدید و نوآورانه، ما شاهد خلق برنامههای شگفتانگیزی خواهیم بود که زندگی ما رو متحول خواهند کرد. بیصبرانه منتظر خواهیم ماند تا ببینیم این سفر پرماجرا، ما را به کجا خواهد برد.
مرسی که توت رو تا انتهای این مقاله دنبال کردید.