آشنایی با زبان برنامه نویسی شی گرای smalltalk

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

از جمله مفاهیمی که می توانیم در زبان شی گرای smalltalk به انها اشاره کنیم:

  • Object
  • Class
  • Method
  • Message
  • Inheritance
  • Encapsulation

همچنین ویژگی های این زبان شی گرا:

  1. Garbage collection در بخش مدیریت حافظه
  2. Dynamic typing

برخورداری از interprete و پشتیبانی از همزمانی فرایندها

بیشتر مطالبی که برای شما بیان شده است orthogonal می باشند و هر کدام از انها را می توانید به تنها بیاموزید. همچنین regular بودن زبان شی گرای small talk سبب شده است که یادگیری این زبان برنامه نویسی سریع تر و آسان تر گردد. این زبان برنامه نویسی دارای محیط برنامه نویسی بسیار قوی می باشد.

 

زبان برنامه نویسی شی گرای smalltalk

 

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

 

ویدیو پییشنهادی : آموزش پایتون پیشرفته
آموزش پایتون پیشرفته

 

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

شبیه سازی با استفاده از زبان برنامه نویسی شی گرای smalltalk

این زبان برنامه نویسی سبب شده است که شبیه سازی در دنیای واقعی بسیار آسان تر گردد. در موارد زیر از زبان برنامه نویسی شی گرای اسمال تاک استفاده می گردد.

  • بازی‌های کامپیوتری
  • اتوماسیون اداری
  • گرافیک
  • هوش مصنوعی
  • برنامه نویسی سیستم

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

 

مقاله پییشنهادی : آشنایی کامل با زبان برنامه نویسی GO
آشنایی کامل با زبان برنامه نویسی GO

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

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

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

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

 

اسمال تالک 80

 

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

دیگر دلیل که می توانیم برای عدم موفقیت اسمال تالک بگوییم این است که این زبان برنامه نویسی در کنار اینکه یک زبان شی گراست، یک سیستم عامل نیز محسوب می شود. در آن زمان این سیستم عامل در رقابت با سیستم عامل های مثل لینوکس و مک بود که در این زمینه هم موفقیتی را کسب نکرد.

 

مقاله پییشنهادی : زبان برنامه نویسی پایتون چیست؟
زبان برنامه نویسی پایتون چیست؟

syntax بود زبان برنامه نویسی

دلیل دیگری که این زبان زبان برنامه نویسی نتوانست محبوبیت لازم را برای توسعه ی خود کسب نماید این بود که زبان شی گرای smalltalk با دیگر زبان های برنامه نویسی نا آشنا بود و یا به اصطلاح syntax بود. تبدیل این زبان به زبان های دیگر برنامه نویسی کار آسانی نبود.

 

syntax بود زبان برنامه نویسی

 

با اینکه این زبان برنامه نویسی نتوانست جایگاه مناسبی پیدا کند، اما اولین زبان برنامه نویسی بود که توانست Object oriented programming و دیگر مفاهیم شی گرایی را مطرح نماید. این زبان برنامه نویسی در ساخت و طراحی دیگر زبان های برنامه نویسی تحول بسیار زیادی ایجاد نمود.

همچنین زبان های برنامه نویسی که پیش از این ساخته شده بودند، شی گرا بودن را به امکانات خود اضافه نمودند. زبان های برنامه نویسی مانند:

  • C
  • C++
  • Ruby
  • Java

syntax بود زبان برنامه نویسی

نحوه فرستادن پیام و return کردن

مراحل رسال یک پیام به یک شی:

  1. یک رکورد براساس فعالیت انجام می گیرد.
  2. متد مورد نظر برای پاسخگویی به پیام در نظر گرفته می شود. ابتدا Template از پیام استخراج می شود. بعد از آن متد مورد نظر از دیکشنری پیام ها در نظر گرفته می شود. در صورتی که متد مورد نظر پیدا نشد، به قسمت superclass می رود و عمل جستجو را انجام می دهد.
  3. پارامترهای مربوطه را به سمت گیرنده ارسال می نماید.
  4. حالت فعلی قرستنده را در رکورد فعالیت ذخیره می گردد و کلیه دستورات اجرای به طور موقت، متوقف می گردد.
  5. یکی اشاره گر را به عنوان فعالیت فرستنده و گیرنده در نظر می گیرد و رکورد متد گیرنده و رکورد فعالیت را به عنوان شاخص در نظر می گیرد و در آخر دستور العمل های لازم را به اجرا در می آورد.

 

ویدیو پییشنهادی : زبان برنامه نویسی perl چیست؟
زبان برنامه نویسی perl چیست؟

 

بازگشت از یک متد نیز به صورت زیر انجام می شود:

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

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

در ادامه با ما همراه باشید….