سایر روش های برنامه نویسی
زبانهاي شيء گرا به الگوي برنامهنويسي مشهور ديگري تعلق دارند. در اين جور زبانها اولين وسيله براي تعيين مسئلهها، تعيين خلاصه ساختارهاي داده است كه كلاسها، اشياءنام دارند. يك كلاس شامل يك ساختار داده همراه با عمليات اصلياش كه اغلب اسلوبها (روشها) نام دارند است. يك ويژگي مهم اين است كه ممكن است كلاسها در سلسله مراتبي از كلاسها و زير كلاسها مرتب شوند. يك كلاس ميتواند صفات سوپر كلاسهايش كه پيمانهاي بودن را پشتيباني ميكنند را به ارث ببرد.
مشهورترين زبانهاي شيءگرا C++,Eiffel و Java (جاوا) هستند. سيستم Common Lisp شيءگرا يك توسعه از common Lisp است. آن يكپارچهسازي كامل برنامهنويسي تابعي و شيءگرا را پشتيباني ميكند. اخيراً جاوا در بعضي از زمينهها هوش مصنوعی، خصوصاً در فنآوري عامل هوشمند، موتورهاي جستجوي اينترنت يا استخراج دادهها كاملاً مشهور شده است. جاوا بر مبناي C++ است و زبان اصلي براي برنامهنويسي كاربردهاي اينترنتي است. مهمترين ويژگيهاي زبان كه جاوا را از چشمآنداز هوش مصنوعی جذاب ميسازد فضاي هرز خودكار پيشساخته آن و مكانيزم چند نخي (چند وظيفهاي) آن است.
با افزايش تحقيقات در زمينه وب هوشمند يك الگوي برنامهنويسي جديد- برنامهنويسي عاملگرا – پديدار شد. برنامهنويسي عاملگرا يك الگوي جديد برنامهنويسي است كه يك نماي اجتماعي از محاسبه را به خوبي پشتيباني ميكند. در AOP اشياء بعنوان عاملهايي شناخته ميشوند كه براي دستيابي به اهداف شخصي عمل ميكنند. عامل در يك ساختار ميتواند به پيچيدگي شبكه سراسري اينترنت يا به سادگي يك پيمانه (ماجول) از يك برنامه معمولي باشد. عاملها ميتوانند موجوديتهاي مستقل باشند يعني بدون دخالت كاربر براي گام بعديشان تصميم بگيرند، يا ميتوانند قابل كنترل باشند، يعني بعنوان وسيلهاي بين كاربر و عاملهاي ديگر بكار بردند. از آنجايي كه عاملها زنده در نظر گرفته ميشوند، با رشد موجوديتهاي نرمافزار، به نظر ميرسد انتقالي از نقطهنظر زبانهاي برنامهنويسي به طرف نقطهنظر سكوي پيشرفت نرمافزار پديدار ميشود. اينجا تأكيد روي طراحي سيستم، سكوي پيشرفت و اتصال است. سئوالات حساس عبارتنداز: چگونه تعدادي از منابع پيشرفته هوش مصنوعی كه در زبانها و سكوهاي مختلف موجودند ميتوانند با ساير منابع استفادهكننده از ابزارهاي پيشرفت سيستم جديد مانند CORBA (معماري عادي رابط درخواست شئ) تركيب شوند (يكپارچه شوند)، خلاصهسازي عمومي انواع داده و زبانهاي تفسيري(يادداشت حاشيهاي) مانند XML و زبان استاندارد ارتباطات عاملگرا مانند KQML (زبان شناخت پرس و جو و دستكاري).
بنابراين آينده برنامهنويسي هوش مصنوعی كمتر نگران سئوالاتي مثل: ” مناسبترين الگوي برنامهنويسي چيست؟ “ است ولي بايد به سئوالاتي مثل: ” چگونه ميتوانم الگوهاي مختلف برنامهنويسي را زير يك سايبان يكپارچه كنم؟ “ و ” بهترين زبان ارتباطي براي نرمافزارهاي مستقل پيمانهاي هوشمند چيست؟ “ پاسخ دهيم.
|