تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
- مجموعه: مقالات مهندسي > مهندسي كامپيوتر | کلمات کلیدی : تاریخچه+ی+پیدایش+زبان+های+برنامه+نویسی+شی+گرا+
تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
در ابتدای پیدایش علوم کامپیوتر، برنامهنویسان کدهایی در سطح ماشین مینوشتند. به همین دلیل بیشتر توجه آنان معطوف به مجموعه دستورات ماشین بود. به تدریج زبانهای سطح بالا ایجاد شد و در نتیجه توجه برنامهنویسان بیشتر به اصل مسئله معطوف گردید. اکنون سطح انتزاعی بر روی کامپیوترهای مختلف ایجاد شده است. یعنی برنامهی نوشته شده روی هر ماشین اجرا میشود.
در زبانهای ساختیافته ، برنامه را به تعدادی روال تقسیم مینمودند، بدین صورت که هر روال کار خاصی را انجام میداد. برنامهنویسی شیگرایی اجازه میدهد تا سیستمی دارای اشیای مرتبط و همکار داشته باشید. کلاس ها این امکان را فراهم میکنند که جزییات پیادهسازی را پشت واسط برنامهنویسی پنهان نمایید. چندشکلی یا چندریختی ، رفتار و واسط مشترکی را برای مفاهیم مشابه نشان میدهد. بدین وسیله قادر خواهید بود تا پیمانههای خاص و جدیدی را بدون نیاز به دستکاری در پیادهسازی مفاهیم پایه ایجاد نمایید.
روشهای برنامهنویسی و زبانها در واقع راه ارتباط با ماشین را تعریف میکنند. هر روش جدید، شیوههای نو را برای تجزیهی مساله ارائه میدهد که عبارتند از: کد ماشین، کد مستقل از ماشین، روالها، کلاسها و غیره. هر شیوهی جدید، نگرشی تازه جهت تبدیل نیازهای سیستم به زیرساختهای برنامهنویسی ارائه میدهد. تکامل این نوع شیوههای برنامهنویسی امکانی را فراهم مینماید تا سیستمهای پیچیدهتری ایجاد کنید. عکس این مطلب نیز صادق میباشد. یعنی سیستمهای پیچیده میتوانند پیادهسازی شوند.
اکنون، برنامهنویسی شیگرا به عنوان روش ایجاد پروژههای نرمافزاری استفاده میشود. این شیوه قدرت خود را در مدلسازی رفتارهای معمولی نشان داده است. اما این روش به خوبی نمیتواند بر روی رفتارهایی که بین چندین پیمانه مشترک وجود دارند، کار کند. برعکس، شیوهی جنبهگرا تا حد قابل توجهی این مشکل را برطرف میکند.
در سال 1972 پارانز مفهومی به نام جداسازی دغدغهها را مطرح کرده که امروزه جزء مفاهیم اساسی در فرآیند مهندسی نرمافزار به شمار میآید. این مفهوم به صورت زیر تعریف شده است:
“قابلیت تشخیص، کپسولهسازی و کار با دغدغه، هدف و یا مقصود هستند”
دغدغه را میتوان به عنوان محرکی برای تقسیم نرمافزار به بخشهای قابل مدیریت درنظر گرفت. برای نمونه، یک وظیفهمندی خاص نرم افزار و مسائلی که به خواستههای غیروظیفهمندی مرتبط میشوند مانند ثبت وقایع، امنیت و غیره، همگی به عنوان دغدغه هستند، البته با توجه به جداسازی دغدغهها آنها را در قالب واحدهای مستقل کپسوله کردهاند.
در سال 1997، مشهورترین رویکرد زبان جنبهگرا به نام AspectJ ابتدا توسط گروهی درXerox PARC عمومیت یافت. این گروه روی پروتکلها و ایدهی مدلسازی دغدغههای مشترک کار میکردند. در همان حال، گروهی در شرکت IBM برنامهنویسی موضوعگرا را مطرح کردند. برنامهنویسی موضوعگرا و عناوین بعدی آن، تحت نام “جداسازی چندبعدی دغدغهها”، به جداسازی و ادغام پیمانههای مختلف برنامهنویسی بر پایهی دغدغههایی در ابعاد مختلف پرداختهاند.
نخستین کار در دانشگاه Twente هلند انجام یافت که در مورد فیلترهای ادغامسازی کار میکردند. به طوری که در پیادهسازی فیلترهایی که رفتار شی را در اجرا پیشرفت میدادند دخیل بودند. در دانشگاه Northeastern نیز انتزاعی از ساختار کلاسها انجام گرفت که پشتیبانی بهتری از مفهوم دانش و رفتار عملیاتی ارائه میداد. در سال 1997، کریستیانا لوپز از هر دو مقاله استفاده کرد و زبان D-Java را به عنوان اولین مجموعهی رسمی از زبان جنبهگرا ارائه نمود.
شیوهی موضوعی اولین روشی بود که مفاهیم جنبهگرایی را با زبان مدلسازی یکپارچه ادغام کرد. این کار مشترکی از چندین گروه با گروه برنامهنویسی موضوعگرا است. برنامهنویسی موضوعگرا به طراحی موضوعگرا تبدیل شده و در سال 2001 به Theme/UML تبدیل گردید. تعریف و نمایش دغدغهها برای نخستین بار در مستندات الیسا و گیل مورفی از دانشگاه British Columbia ارائه شد و در سال 2003 به عنوان بخشی از شیوهی موضوعی طراحی جنبهگرا به نام Theme/Doc مطرح گردید.
حدود یک دههی قبل، به دنبال موفقیت درخور توجه ابزار CASE ، چیکوفسکی و کراس مبحث مهندسی معکوس و بازیابی طراحی را مطرح نمودند. تعریفی که آنها از مهندسی معکوس داشتند در زیر ارائه شده است:
“مهندسی معکوس، تحلیل یک سیستم به منظور تشخیص اجزا، ترکیبات فعلی، روابط بینابین آنها، استخراج و تولید تجریدهای موجود در سیستم و دادههای مربوط به طراحی است.”
در دو دههی قبل، محققان امکاناتی را به منظور کشف، اعمال تغییر، تحلیل، جمعبندی، تولید، تجزیه و به تصویر کشیدن محصولات نرمافزاری ابداع کردند. این امکانات شامل تهیهی اسناد نرمافزاری در شکلهای گوناگون، نمایش کد میانی، داده و معماری بود. اغلب ابزارهای مهندسی معکوس بر استخراج ساختار درونی سیستم موجود با هدف انتقال آن به ذهن مهندس نرم افزار تمرکز دارد. در هر صورت، این ابزارها راه زیادی در پیش دارند تا به مرحلهای برسند که مورد استفادهی روزانهی مهندسان نرمافزار قرار گیرند. مطالعه و درک برنامه در صنعت نرمافزار به منظور کنترل هزینه و ریسک چرخهی تحولات سیستمهای نرمافزاری از اهمیت بالایی برخوردار میباشد.
تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
کلمات کلیدی : تاریخچه,ی,پیدایش,زبان,های,برنامه,نویسی,شی,گرا,تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا , مقالات مهندسي , مهندسي كامپيوتر , کامپیوتر، مکانیک، برق، عمران، شیمی، پزشکی تاریخچه+ی+پیدایش+زبان+های+برنامه+نویسی+شی+گرا+
- آخرین مطالب مشاهده شده توسط کاربران :
نویسنده پست : علي
عنوان پست : تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
منبع اصلی مطلب سایت :
- یک نظریه برای همه چیز
- خورشید تا چند سال دیگر می میرد؟
- اشعار شب قدر
- آشنایی با رشته مهندسی نفت -Petroleum Engineering
- آیا جسمی میتواند سریعتر از سرعت نور حرکت کند؟
- کاربردها و موارد استفاده از فلز طلا – Uses of Gold Met...
- فرآیند های نموی درختان میوه و عوامل موثر در آن
- آشنایی با انواع ساختمانها
- آسفالتين
- آشنایی با کارت های اعتباری به عنوان الفبای تجارت الكترونیكی ...
- دمای بين پاسی در جوشکاری
- بردن خوراکی در این مکان الزامی است!
- تبدیلات گالیله
- مثال کاربردی از اندازه گیری ارتعاشات یک فن در کارخانه سیمان
- واقعیترین ربات انساننما رونمایی شد
- مغز انسان و آینده صنعت رباتیك
- Subnetting به زبان ساده
- ترکهای سطوح بتنی Cracks in concrete surfaces
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- رباتها ناجی بیماران اختلال اعصاب
- ثبت پتنت جدید اپل
- دو ابزار هوشمند به درد بخور
- سوسك جاسوس، یك ربات زنده!
- اهمیت پرورش گیاهان دارویی در فضای سبز شهری
- مروری بر پیشینه آلودگی هوا، منابع و راههای پیشگیری
- عیوب ناشی از ماسه داغ در خطوط قالبگیری با ماسه تر
- خوردگی فلزات در تجهیزات و ماشین آلات صنعتی و روش های جلوگیری از آن
- آشنایی با شبكههای لرزهنگاری مركز لرزهنگاری كشوری + اطلاعات آنلاین زمین لرزه های ایران
- آشنایی با انواع پلیمرها، كاربرد و خواص آنها
- فارس من| اهمیت شبکه ملی اطلاعات در افزایش کیفیت و قیمت پایین خدمات است
- اختتامیه یازدهمین جشنواره بینالمللی فارابی برگزار شد/ 4 توصیه وزیر علوم به متخصصان علوم انسانی و اسلامی
- تلفن همراه مخصوص نابینایان
- فنجانی که موسیقی پخش می کند
- موسی که با تنفس کار می کند
- معرفی یک باگ جدید در ویندوز 7
- نحوه گرفتن عکس پانوراما
- عینک متاپرو چیست؟
- گوشی های هوشمند جدید
- لپ تاپ لمسی با نمایشگر معلق به بازار وارد شد
- گوشی Elife E7 mini
- آشنایی با گجت های تحسینبرانگیز
- فبلت Fonepad Note 6 ایسوس وارد بازار ایران شد
- علت فروش ضعیف LG G2 چیست ؟
- چگونه امنیت مودم ها را افزایش دهیم ؟
- زندگینامه نیکی کریمی
- تزیین هندوانه شب یلدا
- خواص اناردربهبود بیماری ها
- دسر شکلاتی با کاکائو
- قانون سینوسها
- تازههایی از دنیای دانش و فناوری
- نامگذاری و شناسایی گریس
- دسر شکلاتی با کاکائو
- علت فروش ضعیف LG G2 چیست ؟
- اشعار شب قدر
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- Subnetting به زبان ساده
- فبلت Fonepad Note 6 ایسوس وارد بازار ایران شد
- فنجانی که موسیقی پخش می کند
- مغز انسان و آینده صنعت رباتیك
- ترکهای سطوح بتنی Cracks in concrete surfaces
- موسی که با تنفس کار می کند
- چرا خداوند از حق الناس نمی گذرد؟
- واقعیترین ربات انساننما رونمایی شد
- مدیریت بازیافت خودرو
- قانون سینوسها
- سوسك جاسوس، یك ربات زنده!
- معرفی یک باگ جدید در ویندوز 7
- Captain Shahbazi’s international campaign and his stat...
- نحوه گرفتن عکس پانوراما
برترین های ماه
- تازههایی از دنیای دانش و فناوری
- نامگذاری و شناسایی گریس
- دعاى روز نهم ماه مبارك رمضان
- نکات مثبت و منفی نوشیدن قهوه
- آشنایی با مدار فلوتاسیون در کارخانه کانه آرایی چادرملو
- سیستم های کنترل هوشمند موتورخانه
- Subnetting به زبان ساده
- مدیریت بازیافت خودرو
- زندگینامه نیکی کریمی
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- اشعار شب قدر
- قانون سینوسها
- بیانیه و کمپین جهاني كاپيتان هوشنگ شهبازی
- Captain Shahbazi’s international campaign and his stat...