اگر برنامه نویس وب هستید، لابد خبر دارید که این روزها همه
درباره Ajax صحبت میکنند. بعضی معتقدند Ajax یکی
از ارکان فنی موج جدیدی است که به Web 2.0 معروف شده است و انجمنها و تریبونهای آنلاین مملو از مقالات
و اظهارنظرهای مربوط بهAjax
است.
بعضی از سایتهای بزرگ مانند یاهو و
گوگل هماکنون Ajax را به خدمت گرفتهاند، انجمنها و
تریبونهای آنلاین مملو از مقالات و اظهارنظرهای مربوط بهAjax است و همزمان تلاشهای وسیعی در جریان
است تا این فناوری جدید همچنان به صورت اپن سورس باقی بماند و انحصاری نشود.
Ajax چیست؟
واژه Ajax با تلفظ <ایجکس> یا <ایژاکس> سرنام عبارت Asynchronous
JavaScript and XML و
به معنی <ترکیب نامتقارن جاوا اسکریپت و>XML است.
ماهیت صفحات وب و پروتکل HTTP به گونهای است که به طور معمول وقتی
درحال وبگردی هستیم، به ازای هر کنش و واکنش میان ما و سایتی که در حال کار با آن
هستیم، کل یک صفحه وب از نو بارگذاری و تازهسازی (refresh) میشود.
ایجکس فناوری جدیدی است که تغییر
محسوسی را در این سناریو به وجود میآورد؛ به این ترتیب که به جای بارگذاری مجدد
کل صفحه، فقط قسمتی تغییر میکند که قرار است اطلاعات جدید را به نمایش درآورد و
کلیه عملیات ارسال اطلاعات و دریافت نتایج در پشت صحنه انجام میشود. در نتیجه هیچگاه
صفحه سفید و خالی وب در فواصل کنش و واکنشهای هنگام کار با مرورگر دیده نمیشود و
احساسی مشابه تجربه کار با یک نرمافزار دسکتاپ به کاربر دست میدهد.
جادوی ایجاکس چیزی نیست جز یک فکر
بکر و آن هم ترکیب کردن جاوا اسکریپت و XML در قالب یک موجود نرمافزاری جدید.
اصطلاح Ajax را اولین بار کارشناسی از شرکت Adaptive Path به نام جسی جیمزگرت در مقالهای با عنوان <ایجکس؛
رهیافت جدیدی در برنامههای تحت وب> مطرح کرد و خیلی سریع مورد استقبال
گسترده برنامه نویسان وب در سراسر جهان قرارگرفت. اعتقاد عمومی این است که تاریخچه
بهکارگیری تکنیک مذکور به پیدایش نرمافزار Outlook
WebAccess و
استفاده از فرمان XMLHttpRequest که مایکروسافت ابداع کرده و در نرمافزار
اینترنت اکسپلور بهکار رفته است، برمیگردد. اما امروزه اغلب مرورگرهای مهم و
شناختهشده (از جمله فایرفاکس) از آن پشتیبانی میکنند و دیگر یک فناوری محدود به
اینترنت اکسپلورر نیست.
● Php چیست؟
۱) در سال ۱۹۹۴،Php ایجاد شدResmos lad forod ایجاد کننده اولیه آن بوده است. ولی در طی زمان این برنامه توسط سایر متخصصین و برنامه نویسان تکمیل گردیده و به تفکر کنونی آن درآمده است تا کنون چهار بار به صورت اساسی باز نویسی شده است در دی ماه سال ۱۳۸۰ حدود ۵ میلیون مورد استفاده متفاوت قرار گرفته و در حال حاضر نیترانی تعداد به سرعت در حال افزایش است تعداد موارد استفاده کنونی آن را می توانیم از سایت www.Php.net مشاهده نمائید.
Php برنامه ای است که محتوی آن باز نمود(open source) و استفاده کنندگان از آن می توانند نحوه کارکرد و متن برنامه را مشاهده نمود و یا تغییراتی به دلخواه انجام دهند.
Php ابتدا به معنای صفحه اصلی شخصی(personal home page) ولی اکنون با اعمال تغییراتی که جهت هماهنگی با GNU انجام پذیرفته است به معنب پردازنده فوق العاده می باشد. در مقایسه با محصولات مذکورPhp دارای قابلیت های ویژه است:
۲) قابلیتهای Php:
بزرگترین رقبای PhP در حال حاضر(GSP) jara sever pageو(ASP) و Perl FusionMicnosoft Acdive Sevver می باشد.
۳) کارایی بسیار بالا:
Php بسیار کار است به نحوی با استفاده از یک سرور ارزان قیمت می توانید روزانه به میلیون ها مراجعه کننده خدمت ارائه کنید با استفاده از ملاکهای ارائه شده توسط zend technolgies ارائه شده(www.zend.com) به لحاظ کاراییPhp رقبای خود را بسایر با ۷ پشت سر گذاشته است.
ادامه مطلب ...مقدمه
شاید برای شما هم این سؤال پیش آمده باشد که چه تغییر مهمی در UML رخ داده است که پس از UML 2.0، UML 1.5 عرضه شد؟ آیا اضافه شدن دیاگرامهای جدید (مثل Timing Diagram) یا بهبود دیاگرامهای موجود (مانند افزودن امکانات بیشتر به Sequence Diagram ) موجب این ارتقاء قابل توجه شده است؟ حقیقت این است که آنچه که موجب این ارتقاء نسخه قابل توجه از 1 به 2 شده است، فراتر از این جزئیات است. آنچه که تولید مدلگرا (Model Driven Development) نامیده میشود، که بر پایه سطح تجرد بالاتر و استفادة بیشتری از تولید خودکار کد نسبت به روشهای سنتی قرار دارد، اثر قابل توجه خود در بهبود کیفیت نرمافزار و بهرهوری تولید نشان داده است. از آنجاییکه نقش زبان مدلسازی برای موفقیت MDD بسیار مهم است، یک تجدید نظر عمده در زبان استاندارد UML انجام شده است که منجر به عرضه UML 2.0 گردیده است. درعین حال که چندین قابلیت جدید مدلسازی اضافه شده است – مانند قابلیت بیان دقیقتر معماری نرمافزار - خصوصیت غالب این بازبینی عمده، زیاد کرد دقچت قابلیت تعریف زبان است که سطح بالاتری از خودکارسازی را فراهم میکند. در ادامه شرح خواهیم داد که UML2.0 چگونه به این موارد دست یافته است و سایر جنبههای مهم آنرا نیز بیان خواهیم کرد. همانگونه که میدانید UML بوسیله تولیدکنندگان بزرگ ابزارهای مدلسازی پذیرفته و پشتیبانی میشود، و بصورت یک بخش ضروری از دانش مهندسی نرمافزار درآمده است و در دانشگاهها نیز تدریس میشود. همچنین نقش مهمی در مدلسازی نرمافزارهای پیچیده ایفا میکند. اما با وجود همه این مزایا همچنان مقاومتهایی در برابر استفاده از UML وجود دارد. دلایل زیادی برای این وضعیت وجود دارد، لکن یکی از مهمترین آنها این است که مدلهای نرمافزار ممکن است در بعضی موارد بسیار نادقیق باشند و ارزش کاربردی هر مدلی با میزان دقت و صحت آن تناسب مستقیم دارد. چنانچه شما نتوانید به یک مدل از یک سیستم نرمافزار اعتماد کنید، بدتر از حالتی است که مدلی وجود نداشته باشد، زیرا ممکن است منجر به تصمیمگیری غلط شما شود. بنابراین بهترین راهحل افزایش ارزش مدلهای نرمافزاری کم کردن فاصلة میان آنها و سیستمی است که آنرا مدل کردهاند. جالب است بدانید - همانطور که در ادامه بیان خواهیم کرد- در مهندسی نرمافزار بیش از سایر رشتههای مهندسی این کاهش فاصله امکانپذیر است.
دانلود مقاله
ضرورت استفاده از XSLT و تبدیل یک سنداز فرمتی به فرمت دیگر از کلمات eXtensible Stylesheet Language :Transformation اقتباس و زبانی برای تبدیل یک سند XML به نوع دیگر است . تکنولوژی فوق توسط کنسرسیوم وب با هدف اولیه تبدیل یک سند XML به نوع دیگر، طراحی شده است . XSLT ، دارای قابلیت های بمراتب بیشتری بمنظور تبدیل یک سند XML به HTML و سایر فرمت های مبتنی بر متن است . بدین ترتیب می توان تعریف کامل تری در رابطه با تکنولوژی فوق را بصورت زیر ارائه داد :
تعریف XSLT |
XSLT، زبانی بمنظور تبدیل ساختار یک سند XMLاست . |
جرا سندهای XML نیازمند تبدیل می باشند ؟
XML ، روشی ساده و
استاندارد بمنظور مبادله داده های ساختیافته بین برنامه های متفاوت کامپیوتر است .
بخشی از موفقیت XML جهت نیل به خواسته فوق ، به نحوه
نوشتن و خواندن این نوع فایل ها بر می گردد . با استفاده از یک ادیتور متنی می
توان بسادگی و بسرعت اقدام به نوشتن یک سند XML ،خواندن و اعمال تغییرات در آنان نمود. فراموش نکنیم که مهمترین
هدف XML ، ارتباط بین
سیتستم های متفاوت نرم افزاری بوده و در این راستا به دو نیاز حیاتی بخوبی جواب
داده است :
تفکیک داده از نمایش ( ارائه ) . نیاز
به تفکیک اطلاعات از جزئیات نمایش بر روی یک دستگاه خاص همواره مورد نظر طراحان و
پیاده کنندگان بوده است . خواسته فوق ، بموازات رشد دستگاههای مبتنی بر اینترنت به
یک ضرورت حیاتی تبدیل شده است . سازمان ها و موسسات ارائه دهنده اطلاعات باارزش ، تمایل
به عرضه اطلاعات خود بر روی مرورگرهای وب و سایر دستگاهها نظیر تلویزیون و یا تلفن
های مبتنی بر WAP را دارند . بدین ترتیب دامنه استفاده از اطلاعات
صرفا" به مرورگرهای وب محدوده نبوده و دستگاههای متفاوت مبتنی بر تکنولوژی
اینترنت را شامل می گردد .
ارسال داده بین برنامه ها . ارسال
اطلاعات از سازمانی به سازمان دیگر بدون در گیر شدن در جزئیات ، همواره از آرزوهای
بزرگ طراحان و پیاده کنندگان سیستم های نرم افزاری بوده است .
دو خواسته فوق هیچگونه تعارضی با
یکدیگر ندارند ، مثلا" یک لیست قیمت کالا را می توان بر روی صفحه ، نمایش و
در همان زمان از آن بعنوان ورودی در سایر برنامه ها استفاده کرد . یکی دیگر از
مزایای اساسی XML ، یکپارچگی بین
دنیای سندها و داده ها است . بدین ترتیب می توان از یک روش خاص بمنظور عرضه ساختار
داده ها ( صرفنظر از اینکه اطلاعات توسط انسان و یا ماشین استفاده می گردد) ، بهره
گرفت . صرفنظر از اینکه داده های XML سرانجام
توسط انسان و یا یک برنامه نرم افزاری دیگر استفاده می گردند ، به این نکته مهم می
بایست اشاره گردد که بندرت داده ها به همان صورت که دریافت می گردند، استفاده
خواهند شد. در این راستا لازم است که داده ها در ابتدا به یک فرمت دیگر تبدیل
گردند . تبدیل XML به Html ، متداولترین کاربرد استفاده از XSLT است . پس از تبدیل داده ها به فرمت Html ، امکان نمایش
آنها در هر مرورگری فراهم خواهد شد . بنابراین جایگاه "تبدیل "
در رابطه با ارائه و نمایش داده ها ، به تغییر فرمت سندهای XML به سایر فرمت های متداول نظیر Html برمی
گردد .XSLT در این رابطه بخوبی پاسخگو بوده و با
استفاده از قوانین موجود قادر به تبدیل نوع یک سند به نوع دیگر با توجه به نیازهای
مربوطه خواهد بود
اگر تا به حال برنامه نویسی کرده باشید شاید به این فکر کرده باشید که نشانه ها و اصطلاحات و کلماتی که شما در برنامه استفاده نموده اید چگونه مورد فهم سیستم عامل و یا نرم افزار نهایی و یا کلا سیستم قرار می گیرد ؟
اگر بپذیرید که کامپیوتر تنها قادر به درک مفهوم سیگنال های پذیرش و عدم پذیرش و یا همان سیگنال ها و اعداد صفر و یک است می توانید راحت تر به جواب برسید درواقع سیستم کامپیوتر شامل مدارهایی است که این مدارها فقط به دو سیگنال صفر و یک و یا فعال و غیر فعال و یا روشن و خاموش حساس است و به هیچ وجه قادر به درک الفاظ و زبان طبیعی نمی باشد و حتی از کاری که قرار است انجام بدهد نیز خبر ندارد و مدارهای الکتریکی بر اساس کدهایی که در حافظه قرار می گیرد ( کلمات حافظه ) و در نهایت پردازش هایی که توسط پردازنده در واحد کنترل و ALU بر روی آن ها صورت می دهد اعمالی انجام می شود . اما ان چه که در این جا مورد توجه است همان شکل گیری صفر و یک ها در نتیجه یک برنامه به زبان فرضا C# می باشد . این کاری است که کامپایلرها انجام می دهند .
مکانیسم کلی کار کامپایلرها به این صورت است که برنامه مبدا را خوانده و یک شکل میانی از آن ایجاد نموده و سرانجام آن را به زبان دیگری مانند اسمبلی تبدیل می کند و زبان اسمبلی نیز از شکل میانی برنامه شکل قابل فهم سیستم و یا همان صفر و یک ها را ایجاد و آن ها را در قالب Memory Word برای سیستم و سخت افزار مهیا می نماید . لذا تبدیل شکل ابتدایی برنامه مقصد به یک شکل اجرایی سیستمی از وظایف کامپایلر ها می باشد . البته باید توجه کنیم که کامپایلرها بر اساس قواعد و گرامر زبان مبدا اقدام به تولید زبان مقصد می نمایند
کامپایلر نویسان برای سهولت در طراحی ، اجزای کامپایلر را به بخش های زیر تقسیم بندی می کنند که هر یک عملی را انجام می دهد :
الف) تحلیل گر لغوی ( Lexer ) : در واقع طولانی ترین پروسه را انجام می دهد ، با زبان مبدا مستثقیما در تعامل بوده و مستقل از زبان مقصد می باشد . تحلیل گر لغوی با خواندن زبان ورودی ان را به مجموعه ای از نشانه های قابل فهم برای تجزیه کننده تقسیم بندی می کند . میدانیم که جملات یک زبان از رشته هایی از نشانه ها تشکیل شده است و دنباله ای از این کاراکترهای ورودی که یک نشانه را تشکیل می دهند یک لغت ( Lexeme ) نامیده می شوند .
ادامه مطلب ...
● مقدمه
با گسترش فرهنگ استفاده از کامپیوتر و راهیابی آن به ادارات، منازل، این ابزار از حالت آکادمیک و تحقیقاتی بدر آمد و مبدل به پاره ای از نیازهای معمول زندگی شد. یکی از دستاوردهای این پیشرفت، ظهور شبکه اینترنت است که به سرعت در کشورها توسعه یافته و به یک پدیده اجتماعی مبدل گشته است.
اجتماع بزرگ کاربران اینترنت در سرتاسر دنیا از هر منطقه و نژادی که باشند شامل افراد خوب و بد خواهند بود، عده ای در جهت کسب منافع برای خود و دیگران تلاش می کنند و عده ای در جهت جذب منابع دیگران برای خود. با توجه به نو پا بودن اینترنت نمی توان انتظار داشت که یک فرهنگ صحیح و غنی بر آن حاکم شده باشد و لذا احتمال سرقت اطلاعات و یا دستکاری و انهدام آنها بنا به انگیزه های ناسالم، اهداف سیاسی، جذب نامشروع ثروت می رود.
این مجموعه که قرار است بطور منظم در نشریه تخصصی IC منتشر گردد درباره چگونگی کار تروجان ها، انواع آنها و چگونگی تشخیص و مقابله با آنها به نکات مفیدی اشاره خواهد نمود. ضمناً در قسمت پایانی هر قسمت نیزآدرسهای منابع تحقیق بصورت مستقیم در اختیار خواننده محترم قرار خواهد گرفت. همچنین علاقه مندان می توانند برای دریافت اطلاعات بیشتر به سایت های معرفی شده مراجعه نموده و نرم افزارهای مربوط را دریافت نمایند. ذکر این نکته لازم است که به دلیل گستردگی استفاده از سیستم عامل ویندوز در ایران، مطالب ارائه شده درباره تروجانهای تحت ویندوز می باشد.
● یک Trojan Horse چیست؟
می توان تعاریف زیر را مطرح کرد:
یک برنامه ظاهراً بدون نویسنده یا به عبارتی با یک نویسنده غیر مشخص که اعمال ناشناخته و حتی ناخواسته از طرف کاربر انجام دهد.
یک برنامه قانونی و معروف که داخلش دگرگون شده است، بطوری که کدهای ناشناخته ای به آن اضافه گردیده و اعمال شناخته نشده ای بطور ناخواسته از طرف کاربر انجام می دهند.
ادامه مطلب ...
هر دستگاه الکتریکی و یا الکترونیکی مجموعه ای ست از روابط و توابع که بتوانند رابطهای را بین نرم افزار و سخت افزار آن جهت کارکرد ایجاد کنند. برای مثال یک سیستم کامپیو تری کامل متشکل از سخت افزار و نرم افزار است. سخت افزار از قطعات فیزیکی و همه تجهیزات مرتبط با آنها تشکیل می شود . منظور از نرم افزار بر نامه هایی است که برای کامپیو تر نوشته می شود . می توان از جهات مختلف با نرم افزار کامپیو تر بدون توجه به جزئیات چگونگی عملکرد آن آشنا شد. همچنین می توان بخش هایی از سخت افزار را بدون اطلاع از توانایی نرم افزار طراحی نمود .
در هر صورت افرادی که با معماری کامپیو تر سر و کار دارند باید هم از سخت افزار و هم از نرم افزار اطلاعاتی داشته باشند زیرا این دو شاخه بر یگدیگر تاثیر می گذارند.
نوشتن یک بر نامه کامپیوتر به معنی مشخص کردن رشته ای از دستور العمل های ماشین به طور مستقیم یا غیر مستقیم است . دستور العمل های ماشین در داخل کامپیو تر الگویی دودویی را تشکیل می دهنند که کار با آن و یا درک آن اگر غیر ممکن نباشد مشکل هست . لذا نو شتن بر نامه ها با مجمو عه کارکتر های آشنا تر ترجیح داده می شود . در نتیجه تر جمه برنامه هایی که بر اساس سلیقه کاربر نو شته می شود به بر نامه های قابل تشخیص به وسیله سخت افزار لازم به نظر می رسد .
بر نامه ای که به وسیلا یک کاربر نوشته می شود ممکن است وابسته و یا مستقل از یک کامپیو تر فیزیکی باشد که بر نامه را اجرا می کند . مثلا بر نامه ای که به زبان فر ترن استاندارد نو شته می شود مستقل از ماشین است زیرا اکثر کامپیو تر ها برنامه مترجمی دارند که فر ترن استاندارد را به کد دودویی آن تبدیل می کنند . اما خود بر نامه مترجم وابسته به ماشین است زیرا باید بر نامه فر ترن را به کد دودویی قابل تشخیص به وسیله سخت افزار کامپیوتر خاص مورد استفاده ترجمه کند.
هر
کامپیو تر خود به تنهایی می تواند دارای 25 دستور پایه باشد . به هر دستور العملیک
سمبل سه حرفی اختصاص یافته است تا نو شتن بر نامه سمبلیک ساده شود . هفت
دستورالعمل اول دستورات ارجاع به حافظه ( حافظهای) و هجده دستورالعمل بعدی ارجاع
به ثبات (ثباتی) و ورود و خروج هستند. یک دستور العمل ار جاع به حافظه دارای سه
بخش است :
بیت
روش (شیوه) سه بیت کد عملوند دوازده بیت آدرس. اولین رقم شانزده شانزدهی یک دستور
العمل حافظهای شامل بیت روش و کد عمل آن است سه رقم دیگر آدرس را مشخص می کنند .
در یک دستور العمل با آدرس غیر مستقیم بیت روش برابر 1 و اولین رقم شانزده شانزدهی
بین 8 تا E می
باشد.
داده کاوی [۱] یا کشف دانش در پایگاه داده ها [۲] ( KDD ) علم نسبتا تازه ای است که با توجه پیشرفت کشور در زمینه IT و نگاه های ویژه به دولت الکترونیک و نفوذ استفاده از سیستم های رایانه ای در صنعت و ایجاد بانک های اطلاعاتی بزرگ توسط ادارات دولتی، بانک ها و بخش خصوصی نیاز به استفاده از آن به طور عمیقی احساس می شود. داده کاوی یعنی کشف دانش و اطلاعات معتبر پنهان در پایگاه های داده. یا به بیان بهتر تجزیه و تحلیل ماشینی داده ها برای پیدا کردن الگوهای مفید و تازه و قابل استناد در پایگاه داده های بزرگ ، داده کاوی نامیده می شود. داده کاوی در پایگاه های داده کوچک نیز بسیار پرکاربرد است و از نتایج و الگوهای تولید شده بوسیله آن در تصمیم گیری های استراتژیک تجاری شرکتهای کوچک نیز می توان بهره های فراوان برد. کاربرد داده کاوی در یک جمله را این گونه می توان بیان کرد : " داده کاوی اطلاعاتی می دهد ، که شما برای گرفتن تصمیم هوشمندانه ای درباره مشکلات سخت شغلتان به آنها نیاز دارید" [۳] .● مثالی کلاسیک از کاربرد داده کاوی
اغلب تجارت ها به تصمیم گیریهای استراتژیک و یا اتخاذ خط مشی های جدید برای خدمت رسانی بهتر به مشتریان نیاز دارند. به عنوان مثال فروشگاهها آرایش مغازه خود را برای ایجاد میل بیشتر به خرید مجدداً طراحی می کنند. این مثال به داده هایی در مورد رفتار مصرفی گذشته مشتریان برای تعیین الگوهایی به وسیله داده کاوی، نیاز دارند.
برای روشن تر شدن مسئله می توان مثال را اینگونه بیان کرد که در یک فروشگاه زنجیره ای پس از داده کاوی مشخص میشود که درصدی از مشتریان خرید تلویزیون ، میز تلوزیون و گلدان کریستالی را هم در همان روز و بعد از خرید تلوزیون میخرند.مدیر فروشگاه می تواند بلافاصله دستوراتی صادر کند که براساس مدلهای تلوزیون موجود میزهایی و براساس مدل میزها گلدانهای کریستالی برای فروش سفارش داده شود و غرفه های جنبی غرفه تلویزیون را به میز و گلدان کریستالی اختصاص دهد. مطمئنا حتی پس از مدت کوتاهی سود حاصل از این بخش از فروشگاه به طور قابل ملاحضه ای ترقی خواهد کرد.
ادامه مطلب ...
تاریخچه ی پیدایش زبان های برنامه نویسی جنبه گرا Aspect Oriented Programming
جنبهها انقلابی در شیگرایی هستند و راه حلهایی را برای برخی
از مشکلاتی ارائه میدهند که ممکن است در مسیر مدلسازی برنامهها با آنها مواجه
شوید.
در ابتدای پیدایش علوم کامپیوتر،
برنامهنویسان کدهایی در سطح ماشین مینوشتند. به همین دلیل بیشتر توجه آنان معطوف
به مجموعه دستورات ماشین بود. به تدریج زبانهای سطح بالا ایجاد شد و در نتیجه
توجه برنامهنویسان بیشتر به اصل مسئله معطوف گردید. اکنون سطح انتزاعی بر روی
کامپیوترهای مختلف ایجاد شده است. یعنی برنامهی نوشته شده روی هر ماشین اجرا میشود.
در زبانهای ساختیافته ، برنامه را
به تعدادی روال تقسیم مینمودند، بدین صورت که هر روال کار خاصی را انجام میداد.
برنامهنویسی شیگرایی اجازه میدهد تا سیستمی دارای اشیای مرتبط و همکار داشته
باشید. کلاس ها این امکان را فراهم میکنند که جزییات پیادهسازی را پشت واسط
برنامهنویسی پنهان نمایید. چندشکلی یا چندریختی ، رفتار و واسط مشترکی را برای
مفاهیم مشابه نشان میدهد. بدین وسیله قادر خواهید بود تا پیمانههای خاص و جدیدی
را بدون نیاز به دستکاری در پیادهسازی مفاهیم پایه ایجاد نمایید.
روشهای برنامهنویسی و زبانها در
واقع راه ارتباط با ماشین را تعریف میکنند. هر روش جدید، شیوههای نو را برای
تجزیهی مساله ارائه میدهد که عبارتند از: کد ماشین، کد مستقل از ماشین، روالها،
کلاسها و غیره. هر شیوهی جدید، نگرشی تازه جهت تبدیل نیازهای سیستم به زیرساختهای
برنامهنویسی ارائه میدهد. تکامل این نوع شیوههای برنامهنویسی امکانی را فراهم
مینماید تا سیستمهای پیچیدهتری ایجاد کنید. عکس این مطلب نیز صادق میباشد.
یعنی سیستمهای پیچیده میتوانند پیادهسازی شوند.
اکنون، برنامهنویسی شیگرا به عنوان
روش ایجاد پروژههای نرمافزاری استفاده میشود. این شیوه قدرت خود را در مدلسازی
رفتارهای معمولی نشان داده است. اما این روش به خوبی نمیتواند بر روی رفتارهایی
که بین چندین پیمانه مشترک وجود دارند، کار کند. برعکس، شیوهی جنبهگرا تا حد
قابل توجهی این مشکل را برطرف میکند.
زبان برنامهسازی نسل سوم (High Level Language)
زبان برنامهسازی نسل سوم (3GL)، بهبودیافته زبان برنامهسازی نسل دوم است. در حالی که هدف زبانهای برنامهسازی نسل دوم، قرار دادن ساختار منطقی در زبان بوده است، در زبانهای برنامهسازی نسل سوم، هدف این است که قابلیّت استفاده از زبانها را به گونهای بهبود بخشند که سادهتر شوند؛ یعنی بهکارگیری آن راحتتر باشد که منجر به این امر میشود که انواع مناسبی از توابع طوری بازنویسی شوند که کارایی بهبود بخشد و قسمت عمده حجم کد برنامه به کلاسها اختصاص یابد (مانند ویژوال بیسیک). پیشرفت زبان نسل سوم نسبت به نسل دوم در این است که از منظر کاربر، قابلیّت استفاده از زبان بهبود یافته است.
این نسل، اوّلین بار در اواخر دهه 1950 طرّاحی شد و فرترن، الگول و کوبول، نمونههایی اوّلیّه از این نوع زبان هستند.
بیشتر زبانهای امروزی (بیسیک، C، C++، C#، پاسکال و جاوا)، نیز زبانهای نسل سوم هستند.
اغلب زبانهای 3GL، برنامهنویسی ساختاریافته را پشتیبانی میکنند.
زبان برنامهسازی نسل چهارم (Very High Level Language)
زبان برنامهسازی نسل چهارم (دهههای 1970 تا 1990) (به طور خلاصه: 4GL)، یک زبان یا محیط برنامهسازی است که با منظور خاصّی طرّاحی شده است، از قبیل توسعه نرمافزارهای تجاری – بازرگانی. در سیر تکاملی دانش کامپیوتر، زبانهای نسل چهارم به دنبال نسل سوم، روندی صعودی در تجرید و قدرت بیان بالاتر را طی کردند. در این نسل، تلاشهایی صورت گرفت تا زبانهای نسل پنجم تعریف شده و مورد استفاده قرار گیرند.
زبان طبیعی، شیوه ساختار بلوکی زبانهای برنامهسازی نسل سوم، فرآیند توسعه نرمافزار را بهبود بخشید. در هر صورت، روشهای توسعه زبانهای نسل سوم، کند و خطاپذیر بودند. مشخّص شد که برخی از برنامههای کاربردی را میتوان خیلی سریعتر توسعه داد؛ بدین صورت: با افزودن زبان برنامهسازی سطح بالاتر و متدولوژیای که همارز دستورالعملهای بسیار پیچیده نسل سوم را تولید میکند. در برخی جهات، مهندسی نرمافزار بهوجود آمد تا توسعه زبانهای نسل سوم را یاری دهد. طرحهای مربوط به زبانهای نسل چهارم و پنجم، بیشتر در حلّ مسائل و مهندسی سیستمها تمرکز یافتهاند.