برنامه نویسی شی گرا؛ سرآغاز و تاریخچه پیدایش
زبان های شی گرا از دههی ۶۰ میلادی ( دهه ۱۳۴۰ شمسی ) پدید آمدند. اما این روش به سرعت به جایگاه فعلی خود نرسیده است.
شی گرایی با دیده شدن موفقیت های C++ و Javaبود؛ که جای خود را در صنعت نرم افزار باز کرد.
برنامه نویسی شی گرا و پیچ خم های این ۶۰ سال
برای درک بهتر و فهم OOP به نظر میرسد که باید تاریخچهای از برنامه نویسی را بدانید. OO خلاصه شدهی Object-Oriented به معنی شی گرا است.
شی گرایی یک تفکر و شیوهای برای نگرش به دنیا است. شی گرایی مانند چتری است که تمام شیوههای توسعه مبتنی بر شی را در برمیگیرد. شی چیزی است که از خود مشخصه و رفتار بروز میدهد.
گذر زمان به درازای ۶۰ سال موجب شد که کامپیوترها، اینگونه که در اختیار شما هستند؛ به نظر برسند.
برنامه نویسی در سالهای ابتدایی نیاز به تبحر خاصی داشت و به گونهای بود که برنامه نویسان از طریق سوییچهایی برنامه را به زبان ماشین وارد کامپیوتر میکردند؛
زبان ماشین به این شکل مولد خطاهای بسیاری بود. و به علت نبود یک ساختار نگهداری و پشتیبانی از برنامهها عملا غیرممکن مینمود.
با عمومی شدن کامپیوتر، سر و کله زبانهای سطح بالاتر و ماژولار پیدا شد. اگر بخواهیم سلسلهی تاریخی زبانهای برنامه نویسی را بازگو کنیم: فورترن( Fortran ) و الگول( ALGOL ) اولین زبانهای رویه ای بودند که بیشترین تاثیر را بر شی گرایی ( OOP ) گذاشتند.
تفاوتی که این الگو با زبان ماشین از خود به نمایش گذاشت، ساختار مندی بود.
توابع کوچکتر نه تنها به فهم سادهتر کمک میکنند، بلکه اشکالزدایی سادهتر را نیز در اختیارمان میگذراند.
البته برنامه نویسی رویه ای نیز استفاده مجدد از کد را محدود میکرد، برنامههای نوشته شده با این روش مانند ظرف اسپاگتی بودند؛ شامل کدهای در هم تنیدهی غیرقابل تفکیک!
در واقع در برنامه نویسی رویهای کپسولهسازی وجود نداشت. باید بدانیم که کپسولهسازی مشخصهی شی گرایی است.
برنامه نویسی رویهای کابوسی برای نگهداری و پشتیبانی از برنامه بود، چرا که اصلاح یک قسمت از برنامه منجر به برهم خوردن ساختار برنامه میشد.
برنامه نویسی ماژولار با زبان برنامه نویسی modula2 پا به عرصه گذاشت. این زبان و این روش کپسوله سازی را ارائه میکردند؛ اما از چندریختی و وراثت که مشخصهها و تابلوهای شی گرایی هستند را در خود نداشتند.
زبانهای برنامه نویسی شی گرا با افزوده شدن این دو ویژگی به زبانهای ماژولار به وجود آمدند.
مطلبی دیگر از این انتشارات
کدام لینوکس دسکتاپ مناسب من است؟
مطلبی دیگر از این انتشارات
انواع زبانهای برنامهنویسی
مطلبی دیگر از این انتشارات
تگ های ضروری HTML