میخواستم مطلبی راجع به پارادایم برنامه نویسی شی گرا بنویسم. فکر کردم بدون توضیح کلمه پارادایم نمیشه توضیح کاملی ارایه کرد. برای همین این مطلب رو به توضیح این که پارادایم اساسا چیه و چطوری کار میکنه اختصاص دادم. امیدوارم بتونه چیزی به شما که اونو میخونید و به من که از نظراتتون استفاده میکنم اضافه کنه. قبل از شروع این مطلب لازم میدونم از محمد حسن بشری همکار و استادم تشکر کنم که بدون اون این مطلب هم احتمالا وجود نداشت. در ضمن فکر میکنم مطالعهی دوبارهی مطالبی که راجع به انتزاع و مدل سازی نوشتم شاید به فهم این مطلب کمک کنه.
اکثر جاهایی که نگاه کردم Object-Oriented Paradigm (همون OOP) رو الگوی برنامه نویسی شی گرا ترجمه کردن. کلمهی الگو شاید بهترین برگردان فارسی کلمه Paradigm نباشه. نزدیک ترین معنایی که میشه برای کلمه پارادایم پیشنهاد کرد چهارچوب فکری یا جهان بینیه. یه توضیح کوتاه، ما آدم ها برای دیدن غیر از چشم به چیز دیگه ای هم نیاز داریم. چشم ما نگاه میکنه اما این عقل ماست که میبینه. برای همینه که با وجود این که همه ما آدم ها چشم های شبیه به هم داریم یک چیز رو به شکل های متفاوتی میبینیم. دید یک فیزیک دان به یک سیب در حال سقوط با دید یک نقاش یا یک سیاست مدار متفاوته. در واقع آدم های مختلف ویژگی های متفاوتی رو از یک پدیدهی بخصوص انتزاع میکنن. اما ریشه این مساله کجاست؟
فرایند فکر کردن و تصمیم گیری یکی از راز های بزرگ جهانه که هنوز کسی نتونسته درست متوجه بشه دقیقا چطور کار میکنه. اما چیزی که براساس تجربه ثابت شده اینه که با وجود این که هر آدمی طرز تفکر خاص خودش رو داره. اهل یک تخصص یا یک چهارچوب فکری(کسانی که از یک زبان مشترک برای مدل سازی استفاده میکنن) معمولا طرز تفکر و انتزاعشون از پدیده های مختلف تا حدودی مشابه میشه. شاید بشه این طور تعبیر کرد که به مرور و با استفاده مداوم از یک مدل خاص برای انتزاع و مدل سازی ذهن ما یاد میگیره که با اون الگوی خاص فکر بکنه. یا به بیان دیگه ذهن شما یاد میگیره که به وسیله ی اون پارادایم خاص به مساله نگاه کنه و حلش کنه.
این سوال مثل اینه که بپرسیم آیا میشه به چند زبان صحبت کرد؟ بله میشه اما یادگیری زبان های دیگه سختی خاص خودش رو داره اما همه میدونیم یادگیری زبان سوم همیشه راحت تر از یادگیری زبان دومه. در پارادایم ها هم دقیقا همین اتفاق میفته همیشه یادگیری پارادایم دوم برای تفکر سخت تر از یادگیری سومیه.
همه میدونیم که خلاقیت اکثر اوقات کلید حل کردن مشکلاته. خلاقیت یعنی چی؟ از زاویه ای نگاه کن که کسی نگاه نکرده. چیزی رو ببین که کسی ندیده! گفتیم که افرادی که با یک پارادایم خاص فکر میکنن معمولا نحوهی انتزاع، تفکر و مدل سازی شون مشابه میشه. حالا اگر بخوایم توی یک موضوع مربوط به یک حوزه تخصصی خاص خلاقیت به خرج بدیم و مساله ای رو حل کنیم یا چیزی رو ببینیم که کسی ندیده احتمالا تغییر پارادایم تفکر یکی از بهترین راهها است. شاید کلید حل یک مشکل تو حوزه مکانیک پارادایم تفکر یک هنرمند باشه. شاید یک معادله ریاضی که سالها حل نشده به دست یک فیزیکدان حل بشه. کی میدونه راهحل مسالهی ما کجا پنهان شده؟
خوشحال میشم نظرتون رو راجع به این مطلب و مطالب گذشته بدونم و نقص های موجود در متنم رو با نظر شما اصلاح کنم.